{"name":"irantools","description":"Persian and Iranian utilities for AI agents, plus general text and Unicode tooling: Jalali (Solar Hijri) calendar conversion, Iranian national ID / SHEBA / bank card / postal code / economic code validation, province and city lookup, official public holidays, Persian text normalization, transliteration, RTL fixing, Unicode homoglyph folding, script detection, NFC/NFD normalization, grapheme counting, slugify, FNV-1a hashing, Shannon entropy, format and encoding detection, and byte sizes.","version":"1.0.0","url":"https://irantools.johnaio281.workers.dev","protocolVersion":"0.3.0","preferredTransport":"JSONRPC","defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"provider":{"organization":"Hermes Agent","url":"https://irantools.johnaio281.workers.dev"},"payments":[{"rail":"x402","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetSymbol":"USDC","payTo":"0x326F9DBB7027F5aB8be9956353dFF62b6a05Dc29"},{"rail":"mpp","network":"eip155:4217","asset":"0x20c000000000000000000000b9537d11c60E8b50","assetSymbol":"USDC","payTo":"0x326F9DBB7027F5aB8be9956353dFF62b6a05Dc29"}],"capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"skills":[{"id":"persian_normalize","name":"persian_normalize","description":"Normalize Persian text: unify Arabic/Kaf Yeh variants, remove tatweel and zero-width characters, fix spacing around ZWNJ. Use for any Persian text cleanup.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/persian_normalize"]},{"id":"persian_digits","name":"persian_digits","description":"Convert digits between Persian/Arabic-Indic and ASCII. direction=to_persian turns 1405 into ۱۴۰۵; to_ascii turns ۱۴۰۵ into 1405.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/persian_digits"]},{"id":"number_to_words_fa","name":"number_to_words_fa","description":"Spell a number out in Persian words, e.g. 125000 -> \"صد و بیست و پنج هزار\". Use for invoices, forms and checks.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/number_to_words_fa"]},{"id":"gregorian_to_jalali","name":"gregorian_to_jalali","description":"Convert a Gregorian date to the Iranian Jalali (Solar Hijri) calendar. Use for any Iranian date, holiday or deadline.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/gregorian_to_jalali"]},{"id":"jalali_to_gregorian","name":"jalali_to_gregorian","description":"Convert a Jalali (Solar Hijri) date to the Gregorian calendar.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/jalali_to_gregorian"]},{"id":"iran_national_id","name":"iran_national_id","description":"Validate an Iranian national ID (کد ملی) with the official checksum algorithm. Use for identity forms and KYC checks.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_national_id"]},{"id":"iran_sheba","name":"iran_sheba","description":"Validate an Iranian SHEBA (IRAN IBAN) account number with both IBAN mod-97 and Iran-specific checksum checks.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_sheba"]},{"id":"iran_mobile","name":"iran_mobile","description":"Validate an Iranian mobile number (09xxxxxxxxx) and report its operator: MCI, Irancell, MTN or Rightel.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_mobile"]},{"id":"iran_bank_card","name":"iran_bank_card","description":"Validate an Iranian bank card number (16-digit PAN) with the Luhn checksum and report the issuing bank.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_bank_card"]},{"id":"iran_company_id","name":"iran_company_id","description":"Validate an Iranian company registration id (شناسه ملی اشخاص حقوقی).","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_company_id"]},{"id":"iran_economic_code","name":"iran_economic_code","description":"Validate an Iranian economic code (کد اقتصادی) with its control-digit check.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_economic_code"]},{"id":"iran_postal_code","name":"iran_postal_code","description":"Validate an Iranian postal code (10 digits) and, when recognised, report the matching province and city.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_postal_code"]},{"id":"iran_landline","name":"iran_landline","description":"Validate an Iranian landline number (0xx) and report its area code and city.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_landline"]},{"id":"iran_province","name":"iran_province","description":"Look up an Iranian province by Persian or English name and return its code, capital and region.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_province"]},{"id":"iran_city","name":"iran_city","description":"Look up an Iranian city by Persian or English name and return its province and region.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_city"]},{"id":"iran_provinces_list","name":"iran_provinces_list","description":"List all 31 Iranian provinces with their codes, capitals and regions.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_provinces_list"]},{"id":"iran_holidays","name":"iran_holidays","description":"List the official Iranian public holidays for a Jalali year, including Nowruz and religious occasions.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_holidays"]},{"id":"iran_holiday_check","name":"iran_holiday_check","description":"Check whether a Gregorian date is an Iranian public holiday, and name it if so.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_holiday_check"]},{"id":"iran_amount_to_words","name":"iran_amount_to_words","description":"Spell an amount in Persian words with the correct unit (toman or rial). Use for invoices and payment memos.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/iran_amount_to_words"]},{"id":"rial_toman_convert","name":"rial_toman_convert","description":"Convert between Iranian rial and toman (1 toman = 10 rial).","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/rial_toman_convert"]},{"id":"persian_keywords","name":"persian_keywords","description":"Extract the most frequent meaningful keywords from Persian text, with stopwords removed.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/persian_keywords"]},{"id":"persian_sentences","name":"persian_sentences","description":"Split Persian text into sentences.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/persian_sentences"]},{"id":"persian_similarity","name":"persian_similarity","description":"Compute a 0-1 similarity score between two Persian strings using token overlap (Jaccard).","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/persian_similarity"]},{"id":"strip_html","name":"strip_html","description":"Remove HTML tags and decode entities from a string.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/strip_html"]},{"id":"fix_rtl","name":"fix_rtl","description":"Fix bidirectional text rendering in Persian/Arabic strings by isolating LTR runs.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/fix_rtl"]},{"id":"homoglyph_fold","name":"homoglyph_fold","description":"Fold Unicode homoglyphs to ASCII to detect spoofed domains, usernames and handles (e.g. pаypal.com with a Cyrillic а).","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/homoglyph_fold"]},{"id":"script_detect","name":"script_detect","description":"Detect which Unicode scripts a string uses and flag mixed-script spoofing.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/script_detect"]},{"id":"unicode_normalize","name":"unicode_normalize","description":"Normalize text to NFC, NFD, NFKC or NFKD and report the first differing position.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/unicode_normalize"]},{"id":"grapheme_count","name":"grapheme_count","description":"Count user-perceived characters (graphemes) versus code points, UTF-16 units and bytes.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/grapheme_count"]},{"id":"describe_date","name":"describe_date","description":"Describe a calendar date: weekday, ISO week, day of year, quarter, leap year, weekend.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/describe_date"]},{"id":"business_days","name":"business_days","description":"Count business days between two dates (weekends excluded).","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/business_days"]},{"id":"slugify","name":"slugify","description":"Convert a title into a clean URL slug with accent stripping and optional length limit.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/slugify"]},{"id":"fnv_hash","name":"fnv_hash","description":"Compute a stable FNV-1a content fingerprint (32 and 64 bit).","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/fnv_hash"]},{"id":"entropy","name":"entropy","description":"Shannon entropy of a string in bits per character.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/entropy"]},{"id":"detect_format","name":"detect_format","description":"Detect the format of a string: uuid, email, url, ipv4, ipv6, jwt, iban, mac, semver and more.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/detect_format"]},{"id":"detect_encoding","name":"detect_encoding","description":"Detect the encoding of a byte string: ascii, utf-8, utf-16, hex, base64, latin-1.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/detect_encoding"]},{"id":"human_bytes","name":"human_bytes","description":"Format a byte count as a human-readable size.","tags":["paid","persian","text"],"examples":["https://irantools.johnaio281.workers.dev/api/human_bytes"]}],"documentation":{"openapi":"https://irantools.johnaio281.workers.dev/openapi.json","x402":"https://irantools.johnaio281.workers.dev/.well-known/x402","mcp":"https://irantools.johnaio281.workers.dev/mcp","skill":"https://irantools.johnaio281.workers.dev/.well-known/skill.md","llms":"https://irantools.johnaio281.workers.dev/llms.txt"},"securitySchemes":{}}