Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)★ 5
Write a review

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.

We use your email only for this newsletter. Privacy

About

Offline Persian/Iran tools: Jalali dates, validators, Persian text, price inputs, RTL frontend.

No 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_card
  • bank_from_sheba
  • calculate_vat
  • convert_rial_toman
  • detect_text_direction
  • format_iran_phone
  • format_jalali_date
  • format_number_grouped
  • format_short_number
  • gregorian_to_jalali
  • iran_provinces
  • jalali_diff
Show 22 more tools
  • jalali_to_gregorian
  • jalali_year_info
  • landline_province
  • mobile_operator
  • normalize_mobile
  • parse_grouped_number
  • parse_iran_address
  • parse_jalali_date
  • persian_fuzzy_search
  • persian_words_to_number
  • price_input_snippet
  • price_to_persian_words
  • rtl_audit_css
  • rtl_convert_css
  • rtl_convert_tailwind
  • to_persian_digits
  • validate_card_number
  • validate_jalali_date
  • validate_legal_national_id
  • validate_national_id
  • validate_postal_code
  • validate_sheba

Write 8 · Create, change, send or run things.

  • csv_export_safe
  • jalali_add
  • jalali_period_range
  • normalize_persian_text
  • number_to_persian_words
  • persian_text_stats
  • sanitize_persian_text
  • slugify_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_words
  • fix_keyboard_layout
  • iran_business_days
  • iran_holidays
  • jalali_age
  • jalali_month_grid
  • persian_font_preset
  • persian_lorem_ipsum
  • persian_ordinal
  • persian_relative_time
  • persian_sort
  • rtl_guidelines
Show 1 more tools
  • rtl_starter_snippet

Network hosts it talks to 4

  • cdn.jsdelivr.net · found in code
  • fontiran.com · found in code
  • fonts.googleapis.com · found in code
  • github.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_card

    Identify the Iranian bank from a card number (first 6 digits / BIN).

  • bank_from_sheba

    Identify the Iranian bank from a Sheba (IBAN) number (3-digit bank code).

  • calculate_vat

    VAT helper. Rate (percent) must be supplied. mode 'exclusive' = amount excludes tax, 'inclusive' = amount includes tax.

  • convert_rial_toman

    Convert between rial and toman (1 toman = 10 rial).

  • csv_export_safe

    Build 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_words

    Decimals, percents and fractions in Persian words: '12.5' -> 'دوازده ممیز پنج دهم', percent adds درصد, fraction '3/4' -> 'سه چهارم'.

  • detect_text_direction

    Detect 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_layout

    Fix 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_phone

    Display 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_date

    Format a Jalali date. Tokens: YYYY YY MMMM MM M DD D dddd.

  • format_number_grouped

    Group digits in threes (200000 -> 200,000 or ۲۰۰٬۰۰۰). Accepts Persian/Arabic digits.

  • format_short_number

    Short Persian number form: 2500000 -> '۲٫۵ میلیون', 1200 -> '۱٫۲ هزار' (style 'latin' gives 2.5M). Optional unit like تومان.

  • gregorian_to_jalali

    Convert a Gregorian date to the Jalali (Persian) calendar.

  • iran_business_days

    Business-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_holidays

    Fixed 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_provinces

    List 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_add

    Add days, months and/or years to a Jalali date (month overflow clamps to month length).

  • jalali_age

    Age (years, months, days, total days) from a Jalali birth date. asOf defaults to today.

  • jalali_diff

    Days between two Jalali dates plus a Persian relative description.

  • jalali_month_grid

    Calendar 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_range

    Start/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_gregorian

    Convert a Jalali (Persian) date to the Gregorian calendar.

  • jalali_year_info

    Leap-year status and month length for a Jalali year.

  • landline_province

    Find the province of an Iranian landline number from its area code.

  • mobile_operator

    Detect the mobile operator (MCI/Irancell/Rightel) of an Iranian mobile number.

  • normalize_mobile

    Validate and normalize an Iranian mobile number to 09xxxxxxxxx.

  • normalize_persian_text

    Normalize Arabic letter variants to Persian, clean spacing, and convert digits to Persian.

  • number_to_persian_words

    Write a non-negative integer in Persian words, e.g. for invoices.

  • parse_grouped_number

    Strip separators and Persian/Arabic digits to a clean number, e.g. '۲۰۰٬۰۰۰' -> '200000'.

  • parse_iran_address

    Heuristically extract province, city (province capitals only), valid postal code, and plaque/unit/floor numbers from a Persian address string.

  • parse_jalali_date

    Parse text like '1403/05/09', '۱۴۰۳-۵-۹' or '9 مرداد 1403' into a Jalali date.

  • persian_font_preset

    CSS 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_search

    Fuzzy-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_ipsum

    Deterministic Persian placeholder text (seeded, original word list; not real prose) for mockups.

  • persian_ordinal

    Persian ordinal words: 3 -> سوم, 21 -> بیست و یکم, 30 -> سی[U+200C]ام. 1 gives اول (set firstAsYekom for یکم).

  • persian_relative_time

    Persian relative time like '۳ روز پیش' or '۲ ساعت دیگر'. Pass an ISO timestamp; 'now' defaults to the current time. Months = 30 days, years = 365 days.

  • persian_sort

    Sort strings in Persian alphabetical order (ا ب پ ت ... ی). Digits first (numeric), then Persian, then Latin. Ignores ZWNJ and Arabic/Persian letter variants.

  • persian_text_stats

    Character, 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_number

    Convert Persian number words to a number, e.g. 'دویست و پنجاه هزار' -> 250000.

  • price_input_snippet

    Ready-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_words

    Amount in Persian words with unit, e.g. 200000 toman -> 'دویست هزار تومان'. Toman may have one decimal digit (tenths = rials).

  • rtl_audit_css

    Scan 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_css

    Convert physical CSS (and React style objects) to logical properties.

  • rtl_convert_tailwind

    Convert Tailwind physical utilities to logical ones (ml-4 -> ms-4, pr-2 -> pe-2, text-left -> text-start).

  • rtl_guidelines

    Full RTL frontend guidelines for Persian/Arabic UIs (also available as prompt and resource 'rtl-frontend-guidelines').

  • rtl_starter_snippet

    Minimal RTL-ready setup for html, css, tailwind, nextjs, react or vue.

  • sanitize_persian_text

    Fix ZWNJ (half-space) for می/نمی and plural suffixes, Persian punctuation and spacing, Arabic letter variants.

  • slugify_persian

    Create a URL slug from Persian/Latin text.

  • to_persian_digits

    Convert any digits in a string to Persian digits.

  • truncate_persian_text

    Truncate text to maxLength (ellipsis included) without breaking words, ZWNJ-joined words, surrogate pairs or diacritics. mode 'word' (default) or 'char'.

  • validate_card_number

    Validate a 16-digit Iranian bank card number (Luhn).

  • validate_jalali_date

    Form validation for a Jalali date with readable reasons: month/day ranges (leap-aware), min, max and notFuture checks. Never throws.

  • validate_legal_national_id

    Validate an 11-digit Iranian legal-entity national ID (شناسه ملی شخص حقوقی / company ID) with its checksum.

  • validate_national_id

    Validate an Iranian national ID (code melli) using its checksum.

  • validate_postal_code

    Validate an Iranian 10-digit postal code.

  • validate_sheba

    Validate 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
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)