{"data":{"name":"dev.workers.johnaio281.farsi-tools/farsi-tools","title":"FarsiTools (paid)","description":"Persian and Iranian utilities for agents: Jalali dates, national ID, IBAN, holidays. Paid via x402.","version":"1.8.0","websiteUrl":"https://farsi-tools.johnaio281.workers.dev/","repositoryUrl":"https://github.com/johnaio281/farsi-tools","remotes":[{"type":"streamable-http","url":"https://farsi-tools.johnaio281.workers.dev/mcp"}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-29T06:26:17.519Z","updatedAt":"2026-10-29T06:26:17.519Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"source":"official-registry","sourceId":"dev.workers.johnaio281.farsi-tools/farsi-tools","verification":"official","confidence":100,"stars":null,"updatedAt":"2026-10-29T06:26:17.519Z","title":"FarsiTools (paid)","description":"Persian and Iranian utilities for agents: Jalali dates, national ID, IBAN, holidays. Paid via x402.","websiteUrl":"https://farsi-tools.johnaio281.workers.dev/","repositoryUrl":"https://github.com/johnaio281/farsi-tools"}],"toolIndex":{"tools":[{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_amountToWords","title":null,"description":"Write an amount of Iranian rial or toman out in Persian words (مبلغ به حروف), as required on Iranian cheques, invoices and contracts. Use it to render a payable amount for a Persian-speaking payer. Returns the amount spelled in Persian words with its unit. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"amount":{},"number":{},"unit":{"type":"string"}},"required":["amount"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"d48596aac88f9369662b212d63941086a5421730cd14cbe9e826fabdcb03bd92","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_digits","title":null,"description":"Convert the digits inside a string between Persian (۰-۹), Arabic-Indic (٠-٩) and ASCII (0-9) numeral systems, leaving the rest of the text untouched. Use it to make Persian text machine-readable or to render an ASCII number in Persian script. Returns the converted string. ($0.003 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"text containing digits"},"to":{"type":"string"}},"required":["text"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"ac09d16b50408f622bef0e16706567ab9b9bf48ac954d7033d4c9d7da8fd895b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_fixRtl","title":null,"description":"Remove Unicode bidi control characters and repair the spacing around right-to-left punctuation. Use it to clean Persian or Arabic text that renders in the wrong order or shows stray markers. Returns the cleaned string. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Persian (Farsi) text or value to process. Max 100000 characters."},"options":{"description":"optional, e.g. {\"digits\":\"ascii\"}"}},"required":["text"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"27f81d00008fa2c63cbf6d2809629db58cd3cd7ffcac9c00fc28841fb713ec75","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_gregorianToJalali","title":null,"description":"Convert a Gregorian (ISO, Western) calendar date to the Jalali, Solar Hijri, Persian or Shamsi calendar used in Iran. Use it to display a date to Iranian users, to schedule work in the Iranian calendar, or to convert a Gregorian deadline into a Jalali date. Returns the Jalali year, month, day and month name. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"year":{"type":"number"},"month":{"type":"number"},"day":{"type":"number"}},"required":["year","month","day"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"88b47f80a23546a1d80049b8cde7691649c6a7ff71d43165a685a346e9163f32","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_iranCity","title":null,"description":"Look up an Iranian city by its Persian name and return the province it belongs to. Use it to resolve a city in an address or to group a location by region. Returns the city and its province. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"city name in Persian"},"text":{"type":"string","description":"alias for name"},"value":{"type":"string","description":"alias for name"}},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"c96c436e6cf6756899f12f0f81ad755bd8f9a0c5b9d20fa2c375db6cd8b8148d","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_iranHolidayCheck","title":null,"description":"Check whether a given Jalali (Solar Hijri) date is an Iranian public holiday and return the holiday's name if it is. Use it before booking, scheduling or sending a deadline-sensitive action on an Iranian working day. Returns whether it is a holiday and which one. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"year":{"type":"number"},"month":{"type":"number"},"day":{"type":"number"}},"required":["year","month","day"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"409196715e0fc4e35128f28db67b88370cb5784df3198bc9b476baf0f2638fe5","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_iranHolidays","title":null,"description":"Return the official Iranian public holidays for a Jalali (Solar Hijri) year, with each holiday's Gregorian date and name. Use it to plan delivery or support schedules around Iranian holidays, or to flag non-working days. Returns the holiday list. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"year":{"type":"number"}},"required":["year"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"4403744a2c824ca6610ce9331a7845c9ef263ceece6ecaecf1c61bb93fccaa27","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_iranProvince","title":null,"description":"Look up an Iranian province by its Persian name and return its capital and major cities. Use it to resolve a province in an address, to attach geographic context to a user, or to normalize a location field. Returns the province, its capital and its cities. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"province name in Persian"},"text":{"type":"string","description":"alias for name"},"value":{"type":"string","description":"alias for name"}},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"dc2ad9bee478d80f3dacd1993d7661a99575f89223f3cfbe0ee4f121dc7863bf","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_iranProvinces","title":null,"description":"List all 31 Iranian provinces with their capitals and major cities. Use it to populate a province dropdown, to build a location picker, or to validate a region name. Returns every province. ($0.003 per call, USDC on Base)","inputSchema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"6d53294d2609bcb45d75696183bfaee474a98e875997ec00d26516fb430c5110","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_jalaliToGregorian","title":null,"description":"Convert a Jalali (Solar Hijri, Persian, Shamsi) calendar date to the Gregorian calendar. Use it to turn a date written in the Iranian calendar back into an ISO 8601 date, to check whether a Jalali date is today, or to compare an Iranian deadline with a Western one. Returns the Gregorian year, month, day and weekday. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"year":{"type":"number"},"month":{"type":"number"},"day":{"type":"number"}},"required":["year","month","day"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"6af70e9fb153bda635f0a04fdab2581490321f16a4c1de92a494801fbee7ed42","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_keywords","title":null,"description":"Extract the frequent keywords from Persian text, filtering Persian and English stopwords and ranking by frequency. Use it to build a search index, an automatic tag list, or a topic summary for a Persian document. Returns the ranked keywords. ($0.01 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Persian (Farsi) text or value to process. Max 100000 characters."},"options":{"description":"optional, e.g. {\"digits\":\"ascii\"}"},"limit":{"type":"number"}},"required":["text"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"8b9e17e1d7f26366ed564617b809024636258612019b41d63596334b0575f290","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_normalize","title":null,"description":"Normalize Persian (Farsi) text: convert Arabic letter variants (ي, ك) to their Persian forms, unify ZWNJ and spacing, and map Arabic-Indic digits to Persian digits. Use it before indexing, searching or comparing Persian text so that lookalike spellings match. Returns the normalized string. ($0.01 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Persian (Farsi) text or value to process. Max 100000 characters."},"options":{"description":"optional, e.g. {\"digits\":\"ascii\"}"}},"required":["text"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"a951d2f1bece1cc7436d0fb787fd3badd7cb866de53d136c86bbe46c63c20e4c","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_numberToWords","title":null,"description":"Write an integer out in Persian words (عدد به حروف), for example 1234 as هزار و دویست و سی و چهار. Use it for Persian invoices, cheque amounts, legal and official forms, and display. Returns the number spelled in Persian words. ($0.01 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"number":{"description":"integer, string digits, commas or Persian digits"}},"required":["number"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"754d4d2a62468a4d6d3622b2ccbfe7b8bf3cc962f16c10fbb70340e923350743","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_rialToman","title":null,"description":"Convert an amount between Iranian rial and toman, where 1 toman equals 10 rial. Use it when a price is given in one unit and must be shown or billed in the other. Returns the converted amount. ($0.003 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"amount":{},"number":{},"unit":{"type":"string"}},"required":["amount"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"001ba2db3980bd6f430733dcdc716b71dfb13ae54bedbbcf33e8174b6f375012","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_sentences","title":null,"description":"Split Persian text into sentences, handling the Persian question mark ؟, the exclamation mark, ellipsis … and abbreviation boundaries. Use it to chunk Persian text for summarization, translation or per-sentence processing. Returns the list of sentences. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Persian (Farsi) text or value to process. Max 100000 characters."},"options":{"description":"optional, e.g. {\"digits\":\"ascii\"}"}},"required":["text"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"9f939a9ce069fe5ff12712a8656a6d08b388ced9655aef6ae8c3b5864ef2d663","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_similarity","title":null,"description":"Measure the similarity of two Persian strings as a trigram Jaccard score from 0 to 1. Use it to detect near-duplicate Persian text, deduplicate a corpus, or rank one Persian string against another. Returns the similarity score. ($0.01 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"a":{"type":"string","description":"first string"},"b":{"type":"string","description":"second string"}},"required":["a","b"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"1bfd8c450e3f4beff6da85876dc956cc99bbfe07f7c71a6c984c56568a68f96c","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_stats","title":null,"description":"Measure Persian text: character count, word count, line count and the number of ZWNJ half-space characters. Use it to size a Persian document, enforce a length limit, or report text statistics for Persian content. Returns a stats object. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Persian (Farsi) text or value to process. Max 100000 characters."},"options":{"description":"optional, e.g. {\"digits\":\"ascii\"}"}},"required":["text"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"6a8cf1efc72921f36dddd81e5ff745d710826deb5227797c36f2c20f703436c9","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_stripHtml","title":null,"description":"Strip HTML tags and decode HTML entities out of a string, leaving the readable text behind. Use it to clean web pages or scraped content before feeding it to an agent or an index. Returns the plain text. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Persian (Farsi) text or value to process. Max 100000 characters."},"options":{"description":"optional, e.g. {\"digits\":\"ascii\"}"}},"required":["text"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"d3ac0abb04f05609263ca8f4a61576234f0909213a7e683a3e0b1cd9d955ef0e","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_transliterate","title":null,"description":"Transliterate Persian, Dari or Arabic script into Latin letters, optionally as a URL slug. Use it to index Persian text in a Latin-keyword search engine, to build slugs for Persian titles, or to render Persian names in a Latin-only system. Returns the Latin transliteration and, when asked, the slug. ($0.01 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Persian (Farsi) text or value to process. Max 100000 characters."},"options":{"description":"optional, e.g. {\"digits\":\"ascii\"}"},"slug":{"type":"boolean"}},"required":["text"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"c1da6d1e4a15446b3f1d61fdfb925b5243fc0a92ad497befb19bd03099c20012","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_validateBankCard","title":null,"description":"Validate an Iranian bank card number, called a PAN (کارت بانکی), with the Luhn check digit, and return the issuing bank. Use it before charging a card or accepting card details from a customer. Returns validity, the masked number and the bank name. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"16-digit Iranian bank card number"}},"required":["value"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"4a704ef2bc840d4d05bc57063042be4cf1c5e7905eab5416aba401c95891e721","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_validateCompanyId","title":null,"description":"Validate an Iranian company national ID (شناسه ملی اشخاص حقوقی, the 11-digit legal-entity identifier) by recomputing its check digit. Use it when onboarding a business customer or validating an Iranian legal entity. Returns validity and the parsed digits. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"11-digit legal-entity national ID"}},"required":["value"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"943f495c6f033c58841813cbfa9f7d69884a5ed6f406f938e7657ac09219ec7a","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_validateEconomicCode","title":null,"description":"Validate an Iranian economic code (کد اقتصادی, the 12-digit taxpayer identifier) by recomputing its check digit. Use it when validating the tax identifier on an Iranian invoice or a supplier record. Returns validity and the parsed digits. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"12-digit economic code"}},"required":["value"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"5d9a02d5353db693e0bcd4e369350151041511e4b6edb99787c600505f375848","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_validateLandline","title":null,"description":"Validate and normalize an Iranian landline number with its area code (021 for Tehran and so on) and resolve that area code to a city. Use it to verify a fixed-line contact or to route a support request to the right region. Returns validity, the normalized number, the area code and the city. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"landline in any common format"}},"required":["value"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"40288771a35768569754cf16bd98454c57711accfbca5320953706a1de49c703","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_validateMobile","title":null,"description":"Validate and normalize an Iranian mobile phone number, checking the operator prefix (MCI, Irancell, Rightel, Shatel) and the national format 09xxxxxxxxx. Use it to verify a phone number on a sign-up form or before sending an SMS. Returns validity, the normalized number and the operator. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"mobile in any common format"}},"required":["value"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"17550864686171ab8f27e0dbd906f6af323bfeb9dd426d94214d791fbb5fcb7a","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"},{"serverName":"dev.workers.johnaio281.farsi-tools/farsi-tools","endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","name":"fa_validateNationalId","title":null,"description":"Validate an Iranian national ID (کد ملی, code melli) by recomputing its check digit. Use it before accepting an identity number from a form, a customer, or an API payload. Returns whether the number is valid, and the parsed digits. ($0.005 per call, USDC on Base)","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"10-digit national ID"}},"required":["value"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":null,"definitionHash":"367a122ed126d12ed86a29df9b7264443f4d5570086e2e2e786b41ccfefac4f7","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T07:46:20.913Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"b24ee1a80d664d308da593a17cb5632847974b5e14eadd06f0aa9422af9bd5f3","protocol":"streamable-http","status":"indexed","toolCount":27,"observedAt":"2026-10-31T07:46:20.913Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"dev.workers.johnaio281.farsi-tools/farsi-tools":{"url":"https://farsi-tools.johnaio281.workers.dev/mcp"}}},"Cursor":{"mcpServers":{"dev.workers.johnaio281.farsi-tools/farsi-tools":{"url":"https://farsi-tools.johnaio281.workers.dev/mcp"}}},"VS Code":{"servers":{"dev.workers.johnaio281.farsi-tools/farsi-tools":{"type":"http","url":"https://farsi-tools.johnaio281.workers.dev/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://farsi-tools.johnaio281.workers.dev/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:dev.workers.johnaio281.farsi-tools%2Ffarsi-tools","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/dev.workers.johnaio281.farsi-tools%2Ffarsi-tools","name":"dev.workers.johnaio281.farsi-tools/farsi-tools","description":"Persian and Iranian utilities for agents: Jalali dates, national ID, IBAN, holidays. Paid via x402.","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://farsi-tools.johnaio281.workers.dev/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://farsi-tools.johnaio281.workers.dev/","repositoryUrl":"https://github.com/johnaio281/farsi-tools","version":"1.8.0"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"dev.workers.johnaio281.farsi-tools/farsi-tools","status":"online","lastCheckedAt":"2026-11-03T18:18:01.832Z","lastSuccessfulCheck":"2026-11-03T18:18:01.832Z","latencyMs":3241,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T18:18:01.832Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T18:18:01.832Z"},"security":null,"timestamps":{"createdAt":"2026-10-29T06:26:17.519Z","updatedAt":"2026-10-29T06:26:17.519Z","observedAt":"2026-11-03T18:18:01.832Z"},"compatibility":{"serverVersion":"1.8.0","protocolVersions":[{"protocol":"mcp","version":null}]}}}}