Parsi MCP
Offline Persian/Iran tools: Jalali dates, validators, Persian text, price inputs, RTL frontend.
Connector by amirjld · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/amirjld-parsi-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 34 read · 8 write · 1 delete · 13 not yet classified
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 56
Read from the source code; the running server may list different tools.
Read 34 · Look things up without changing anything.
bank_from_cardbank_from_shebacalculate_vatconvert_rial_tomandetect_text_directionformat_iran_phoneformat_jalali_dateformat_number_groupedformat_short_numbergregorian_to_jalaliiran_provincesjalali_diff
Show 22 more tools
jalali_to_gregorianjalali_year_infolandline_provincemobile_operatornormalize_mobileparse_grouped_numberparse_iran_addressparse_jalali_datepersian_fuzzy_searchpersian_words_to_numberprice_input_snippetprice_to_persian_wordsrtl_audit_cssrtl_convert_cssrtl_convert_tailwindto_persian_digitsvalidate_card_numbervalidate_jalali_datevalidate_legal_national_idvalidate_national_idvalidate_postal_codevalidate_sheba
Write 8 · Create, change, send or run things.
csv_export_safejalali_addjalali_period_rangenormalize_persian_textnumber_to_persian_wordspersian_text_statssanitize_persian_textslugify_persian
Delete 1 · Delete, drop, revoke or wipe things.
truncate_persian_text
Not yet classified 13 · We could not tell from the name and description.
decimal_to_persian_wordsfix_keyboard_layoutiran_business_daysiran_holidaysjalali_agejalali_month_gridpersian_font_presetpersian_lorem_ipsumpersian_ordinalpersian_relative_timepersian_sortrtl_guidelines
Show 1 more tools
rtl_starter_snippet
Network hosts it talks to 4
cdn.jsdelivr.net· found in codefontiran.com· found in codefonts.googleapis.com· found in codegithub.com· found in code
Tools (56)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
bank_from_cardIdentify the Iranian bank from a card number (first 6 digits / BIN).
bank_from_shebaIdentify the Iranian bank from a Sheba (IBAN) number (3-digit bank code).
calculate_vatVAT helper. Rate (percent) must be supplied. mode 'exclusive' = amount excludes tax, 'inclusive' = amount includes tax.
convert_rial_tomanConvert between rial and toman (1 toman = 10 rial).
csv_export_safeBuild Excel/Sheets-safe CSV from rows: UTF-8 BOM, correct quoting, Persian digits in numeric cells converted to ASCII so Excel treats them as numbers, formula-injection guard, warnings for digit strings Excel may corrupt.
decimal_to_persian_wordsDecimals, percents and fractions in Persian words: '12.5' -> 'دوازده ممیز پنج دهم', percent adds درصد, fraction '3/4' -> 'سه چهارم'.
detect_text_directionDetect text direction (first-strong and dominant script, mixed flag) and optionally wrap the text bidi-safely: Unicode isolates (FSI/RLI/LRI) or HTML <bdi> / dir=auto. Use for usernames, product names and mixed Persian/English strings.
fix_keyboard_layoutFix text typed with the wrong keyboard layout using the standard Iranian layout (ISIRI 9147): 'sghl' -> 'سلام', and Persian typed on English back to Latin. direction 'auto' picks by script.
format_iran_phoneDisplay formats for an Iranian mobile (0912 345 6789, +98 912 345 6789, E.164) or landline (021-12345678). Accepts Persian digits, +98, 0098.
format_jalali_dateFormat a Jalali date. Tokens: YYYY YY MMMM MM M DD D dddd.
format_number_groupedGroup digits in threes (200000 -> 200,000 or ۲۰۰٬۰۰۰). Accepts Persian/Arabic digits.
format_short_numberShort Persian number form: 2500000 -> '۲٫۵ میلیون', 1200 -> '۱٫۲ هزار' (style 'latin' gives 2.5M). Optional unit like تومان.
gregorian_to_jalaliConvert a Gregorian date to the Jalali (Persian) calendar.
iran_business_daysBusiness-day helper: op 'is_business_day', 'add' (days may be negative) or 'count' (days after 'date' up to and including 'to'). Weekend is Friday (optionally Thursday too); supply holidays yourself or enable the fixed solar ones.
iran_holidaysFixed solar-calendar public holidays of a Jalali year (Nowruz 1-4 Farvardin, 12-13 Farvardin, 14-15 Khordad, 22 Bahman, 29 Esfand) with Gregorian dates, plus the Hijri-based holiday list WITHOUT dates. Lunar holidays shift yearly and need the official annual calendar.
Show 41 more tools
iran_provincesList Iran's 31 provinces with ISO 3166-2 code, Persian/English names and capital. Optional query matches Persian or English names (letter-variant tolerant).
jalali_addAdd days, months and/or years to a Jalali date (month overflow clamps to month length).
jalali_ageAge (years, months, days, total days) from a Jalali birth date. asOf defaults to today.
jalali_diffDays between two Jalali dates plus a Persian relative description.
jalali_month_gridCalendar grid for a Jalali month (for date-pickers): weeks of 7 cells with day number, Gregorian date and Friday flag; null cells pad the edges. Default week starts Saturday.
jalali_period_rangeStart/end (Jalali and Gregorian) of the Jalali day, week (Saturday-Friday), month, quarter (season) or year containing a date. Use for reports and finance periods instead of Gregorian date libraries.
jalali_to_gregorianConvert a Jalali (Persian) date to the Gregorian calendar.
jalali_year_infoLeap-year status and month length for a Jalali year.
landline_provinceFind the province of an Iranian landline number from its area code.
mobile_operatorDetect the mobile operator (MCI/Irancell/Rightel) of an Iranian mobile number.
normalize_mobileValidate and normalize an Iranian mobile number to 09xxxxxxxxx.
normalize_persian_textNormalize Arabic letter variants to Persian, clean spacing, and convert digits to Persian.
number_to_persian_wordsWrite a non-negative integer in Persian words, e.g. for invoices.
parse_grouped_numberStrip separators and Persian/Arabic digits to a clean number, e.g. '۲۰۰٬۰۰۰' -> '200000'.
parse_iran_addressHeuristically extract province, city (province capitals only), valid postal code, and plaque/unit/floor numbers from a Persian address string.
parse_jalali_dateParse text like '1403/05/09', '۱۴۰۳-۵-۹' or '9 مرداد 1403' into a Jalali date.
persian_font_presetCSS for Persian fonts (vazirmatn, shabnam, sahel, iransans): import link, font stack with fallbacks, RTL base styles. IRANSans is commercial so no CDN is given.
persian_fuzzy_searchFuzzy-match a query against candidate strings, treating Arabic/Persian letter variants (ي/ی, ك/ک, آ/ا), diacritics, ZWNJ and digit styles as equal. Returns ranked matches with scores.
persian_lorem_ipsumDeterministic Persian placeholder text (seeded, original word list; not real prose) for mockups.
persian_ordinalPersian ordinal words: 3 -> سوم, 21 -> بیست و یکم, 30 -> سی[U+200C]ام. 1 gives اول (set firstAsYekom for یکم).
persian_relative_timePersian relative time like '۳ روز پیش' or '۲ ساعت دیگر'. Pass an ISO timestamp; 'now' defaults to the current time. Months = 30 days, years = 365 days.
persian_sortSort strings in Persian alphabetical order (ا ب پ ت ... ی). Digits first (numeric), then Persian, then Latin. Ignores ZWNJ and Arabic/Persian letter variants.
persian_text_statsCharacter, letter, digit, ZWNJ, word, sentence and paragraph counts for Persian/mixed text, plus reading time. wordsPerMinute is an adjustable assumption (default 180).
persian_words_to_numberConvert Persian number words to a number, e.g. 'دویست و پنجاه هزار' -> 250000.
price_input_snippetReady-to-use RTL-friendly price input code: digit grouping while typing with caret preserved, live Persian words (aria-live), raw value submission. variant 'core' returns the shared helpers.
price_to_persian_wordsAmount in Persian words with unit, e.g. 200000 toman -> 'دویست هزار تومان'. Toman may have one decimal digit (tenths = rials).
rtl_audit_cssScan CSS/HTML/JSX/Tailwind text for LTR-only patterns (margin-left, ml-4, text-align:left, float:left, left/right, forced ltr, directional icons...) and suggest logical replacements.
rtl_convert_cssConvert physical CSS (and React style objects) to logical properties.
rtl_convert_tailwindConvert Tailwind physical utilities to logical ones (ml-4 -> ms-4, pr-2 -> pe-2, text-left -> text-start).
rtl_guidelinesFull RTL frontend guidelines for Persian/Arabic UIs (also available as prompt and resource 'rtl-frontend-guidelines').
rtl_starter_snippetMinimal RTL-ready setup for html, css, tailwind, nextjs, react or vue.
sanitize_persian_textFix ZWNJ (half-space) for می/نمی and plural suffixes, Persian punctuation and spacing, Arabic letter variants.
slugify_persianCreate a URL slug from Persian/Latin text.
to_persian_digitsConvert any digits in a string to Persian digits.
truncate_persian_textTruncate text to maxLength (ellipsis included) without breaking words, ZWNJ-joined words, surrogate pairs or diacritics. mode 'word' (default) or 'char'.
validate_card_numberValidate a 16-digit Iranian bank card number (Luhn).
validate_jalali_dateForm validation for a Jalali date with readable reasons: month/day ranges (leap-aware), min, max and notFuture checks. Never throws.
validate_legal_national_idValidate an 11-digit Iranian legal-entity national ID (شناسه ملی شخص حقوقی / company ID) with its checksum.
validate_national_idValidate an Iranian national ID (code melli) using its checksum.
validate_postal_codeValidate an Iranian 10-digit postal code.
validate_shebaValidate an Iranian Sheba (IBAN) number.
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 0
- Last commit
- Oct 16, 2026 (13 days ago)
- Last release
- Oct 18, 2026 (11 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.amirjld/parsi-mcp- Version
- 0.3.0
- Auth
- No auth
- Packages
- npm parsi-mcp
- License
- MIT
- Repository
- github.com/amirjld/parsi-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
Cite this page
Parsi MCP. Agent Mart. https://agentmart.dev/connectors/amirjld-parsi-mcp (last updated 2026-10-25)