MCP server for Persian/Iranian apps: Jalali calendar, validators, Persian text, price inputs, RTL frontend tools
Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.
gregorian_to_jalaliConvert a Gregorian date to the Jalali (Persian) calendar.Convert a Gregorian date to the Jalali (Persian) calendar.
No input schema was published for this tool.
jalali_to_gregorianConvert a Jalali (Persian) date to the Gregorian calendar.Convert a Jalali (Persian) date to the Gregorian calendar.
No input schema was published for this tool.
jalali_year_infoLeap-year status and month length for a Jalali year.Leap-year status and month length for a Jalali year.
No input schema was published for this tool.
validate_national_idValidate an Iranian national ID (code melli) using its checksum.Validate an Iranian national ID (code melli) using its checksum.
No input schema was published for this tool.
validate_card_numberValidate a 16-digit Iranian bank card number (Luhn).Validate a 16-digit Iranian bank card number (Luhn).
No input schema was published for this tool.
validate_shebaValidate an Iranian Sheba (IBAN) number.Validate an Iranian Sheba (IBAN) number.
No input schema was published for this tool.
normalize_mobileValidate and normalize an Iranian mobile number to 09xxxxxxxxx.Validate and normalize an Iranian mobile number to 09xxxxxxxxx.
No input schema was published for this tool.
normalize_persian_textNormalize Arabic letter variants to Persian, clean spacing, and convert digits to Persian.Normalize Arabic letter variants to Persian, clean spacing, and convert digits to Persian.
No input schema was published for this tool.
to_persian_digitsConvert any digits in a string to Persian digits.Convert any digits in a string to Persian digits.
No input schema was published for this tool.
number_to_persian_wordsWrite a non-negative integer in Persian words, e.g. for invoices.Write a non-negative integer in Persian words, e.g. for invoices.
No input schema was published for this tool.
convert_rial_tomanConvert between rial and toman (1 toman = 10 rial).Convert between rial and toman (1 toman = 10 rial).
No input schema was published for this tool.
bank_from_cardIdentify the Iranian bank from a card number (first 6 digits / BIN).Identify the Iranian bank from a card number (first 6 digits / BIN).
No input schema was published for this tool.
bank_from_shebaIdentify the Iranian bank from a Sheba (IBAN) number (3-digit bank code).Identify the Iranian bank from a Sheba (IBAN) number (3-digit bank code).
No input schema was published for this tool.
mobile_operatorDetect the mobile operator (MCI/Irancell/Rightel) of an Iranian mobile number.Detect the mobile operator (MCI/Irancell/Rightel) of an Iranian mobile number.
No input schema was published for this tool.
landline_provinceFind the province of an Iranian landline number from its area code.Find the province of an Iranian landline number from its area code.
No input schema was published for this tool.
validate_postal_codeValidate an Iranian 10-digit postal code.Validate an Iranian 10-digit postal code.
No input schema was published for this tool.
persian_words_to_numberConvert Persian number words to a number, e.g. 'دویست و پنجاه هزار' -> 250000.Convert Persian number words to a number, e.g. 'دویست و پنجاه هزار' -> 250000.
No input schema was published for this tool.
format_jalali_dateFormat a Jalali date. Tokens: YYYY YY MMMM MM M DD D dddd.Format a Jalali date. Tokens: YYYY YY MMMM MM M DD D dddd.
No input schema was published for this tool.
parse_jalali_dateParse text like '1403/05/09', '۱۴۰۳-۵-۹' or '9 مرداد 1403' into a Jalali date.Parse text like '1403/05/09', '۱۴۰۳-۵-۹' or '9 مرداد 1403' into a Jalali date.
No input schema was published for this tool.
jalali_addAdd days, months and/or years to a Jalali date (month overflow clamps to month length).Add days, months and/or years to a Jalali date (month overflow clamps to month length).
No input schema was published for this tool.
jalali_diffDays between two Jalali dates plus a Persian relative description.Days between two Jalali dates plus a Persian relative description.
No input schema was published for this tool.
slugify_persianCreate a URL slug from Persian/Latin text.Create a URL slug from Persian/Latin text.
No input schema was published for this tool.
sanitize_persian_textFix ZWNJ (half-space) for می/نمی and plural suffixes, Persian punctuation and spacing, Arabic letter variants.Fix ZWNJ (half-space) for می/نمی and plural suffixes, Persian punctuation and spacing, Arabic letter variants.
No input schema was published for this tool.
calculate_vatVAT helper. Rate (percent) must be supplied. mode 'exclusive' = amount excludes tax, 'inclusive' = amount includes tax.VAT helper. Rate (percent) must be supplied. mode 'exclusive' = amount excludes tax, 'inclusive' = amount includes tax.
No input schema was published for this tool.
format_number_groupedGroup digits in threes (200000 -> 200,000 or ۲۰۰٬۰۰۰). Accepts Persian/Arabic digits.Group digits in threes (200000 -> 200,000 or ۲۰۰٬۰۰۰). Accepts Persian/Arabic digits.
No input schema was published for this tool.
parse_grouped_numberStrip separators and Persian/Arabic digits to a clean number, e.g. '۲۰۰٬۰۰۰' -> '200000'.Strip separators and Persian/Arabic digits to a clean number, e.g. '۲۰۰٬۰۰۰' -> '200000'.
No input schema was published for this tool.
price_to_persian_wordsAmount in Persian words with unit, e.g. 200000 toman -> 'دویست هزار تومان'. Toman may have one decimal digit (tenths = rials).Amount in Persian words with unit, e.g. 200000 toman -> 'دویست هزار تومان'. Toman may have one decimal digit (tenths = rials).
No input schema was published for this tool.
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.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.
No input schema was published for this tool.
rtl_guidelinesFull RTL frontend guidelines for Persian/Arabic UIs (also available as prompt and resource 'rtl-frontend-guidelines').Full RTL frontend guidelines for Persian/Arabic UIs (also available as prompt and resource 'rtl-frontend-guidelines').
No input schema was published for this tool.
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.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.
No input schema was published for this tool.
rtl_convert_cssConvert physical CSS (and React style objects) to logical properties.Convert physical CSS (and React style objects) to logical properties.
No input schema was published for this tool.
rtl_convert_tailwindConvert Tailwind physical utilities to logical ones (ml-4 -> ms-4, pr-2 -> pe-2, text-left -> text-start).Convert Tailwind physical utilities to logical ones (ml-4 -> ms-4, pr-2 -> pe-2, text-left -> text-start).
No input schema was published for this tool.
rtl_starter_snippetMinimal RTL-ready setup for html, css, tailwind, nextjs, react or vue.Minimal RTL-ready setup for html, css, tailwind, nextjs, react or vue.
No input schema was published for this tool.
persian_relative_timePersian relative time like '۳ روز پیش' or '۲ ساعت دیگر'. Pass an ISO timestamp; 'now' defaults to the current time. Months = 30 days, years = 365 days.Persian relative time like '۳ روز پیش' or '۲ ساعت دیگر'. Pass an ISO timestamp; 'now' defaults to the current time. Months = 30 days, years = 365 days.
No input schema was published for this tool.
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.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.
No input schema was published for this tool.
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.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.
No input schema was published for this tool.
persian_ordinalinjection riskPersian ordinal words: 3 -> سوم, 21 -> بیست و یکم, 30 -> سیام. 1 gives اول (set firstAsYekom for یکم).Persian ordinal words: 3 -> سوم, 21 -> بیست و یکم, 30 -> سیام. 1 gives اول (set firstAsYekom for یکم).
وم, 21 -> بیست و یکم, 30 -> سی\u200cام. 1 gives اول (set firstAsYeNo input schema was published for this tool.
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.Fuzzy-match a query against candidate strings, treating Arabic/Persian letter variants (ي/ی, ك/ک, آ/ا), diacritics, ZWNJ and digit styles as equal. Returns ranked matches with scores.
No input schema was published for this tool.
persian_sortSort strings in Persian alphabetical order (ا ب پ ت ... ی). Digits first (numeric), then Persian, then Latin. Ignores ZWNJ and Arabic/Persian letter variants.Sort strings in Persian alphabetical order (ا ب پ ت ... ی). Digits first (numeric), then Persian, then Latin. Ignores ZWNJ and Arabic/Persian letter variants.
No input schema was published for this tool.
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.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.
No input schema was published for this tool.
40 of 40 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
MCP server for Persian/Iranian apps: Jalali calendar, validators, Persian text, price inputs, RTL frontend tools
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
The crawl stopped at the depth-4 limit. Anything below that level was never resolved.
The crawl stopped at the 60-package limit. The rest of the tree was never resolved.
36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)
55 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.
+43 more not listed. The counts by reason above cover all of them.
Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.