parsi-mcp

MCPcomunidad
v0.3.0Amir HosseinMITActualizado hace 4 dnpmGitHub

MCP server for Persian/Iranian apps: Jalali calendar, validators, Persian text, price inputs, RTL frontend tools

Funciona en
ClaudeCursorCopilotGemini

Inferido de los transportes que declara este listado (stdio). Que un cliente no aparezca aquí no significa que se haya descartado: simplemente Forge no puede confirmarlo.

Indexado automáticamente desde fuentes públicas. Aún sin verificar por su desarrollador en Forge.Reclamar este listado →
34Descargas/sem.
5Estrellas en GitHub
hace 4 dÚltima actualización
Paquete
AutorAmir Hossein
LicenciaMIT
Versión0.3.0
Fuentenpm+mcp-registry
Estado de confianza
C
40/100Precaución
✓Listado en el índice de Forge+10/10
—Identidad del publicador verificada+0/20
→ Publicador: ejecuta `forge publish` desde el repo del paquete para reclamar la propiedad
—Firma de publicación Ed25519+0/5
→ Se incluye automáticamente cuando el publicador ejecuta `forge publish`
—Verificación de dominio+0/5
→ Publicador: aloja /.well-known/forge.json en la página del paquete con { "publisher": "<github-login>" }
—npm Trusted Publishing (Sigstore)+0/5
→ Publica desde GitHub Actions con --provenance para que la attestation vincule este paquete a este repo
—Coincidencia de maintainer en npm+0/5
→ Se consigue cuando tu identidad esté verificada arriba y ese login sea maintainer de este paquete en npm
✓Análisis CVE · limpio+30/30
—Análisis estático · limpio+0/20
→ Se han detectado scripts de instalación sospechosos o código ofuscado
Pégalo en Claude Code, Cursor o cualquier asistente de IA para corregir todas las carencias
EstadoIndexado por la comunidad
PublicadorSin verificar
FirmaSin firmar
Dominio—
Procedencia—
Dependencias✓ 60 resueltas+ · ninguna vulnerable
Superficie de herramientas40 herramientas · ninguna privilegiada
Análisis de seguridad⚠ Avisos (1)v0.3.0 · hace 1 d¿Qué tan bien funciona este análisis?
PROMPTtool:persian_ordinalInvisible Unicode characters (zero-width / direction override)
EvaluacionesNinguna
Indexado22 oct 2026

La verificación confirma la identidad del publicador (la propiedad del repo), no la seguridad del código. El análisis de seguridad cubre los CVE conocidos y los scripts de instalación sospechosos.

Herramientas

40 herramientas · ninguna privilegiada · 1 marcadas por inyección
Extraído estáticamente del paquete publicadov0.3.0 · 1d ago

Leído del código que npm publica realmente, en el momento del análisis. El paquete nunca se ejecutó. Las herramientas registradas dinámicamente en tiempo de ejecución, o escondidas en código empaquetado o minificado, pueden pasarse por alto — así que esto es un mínimo de la superficie de herramientas, no un censo completo.

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

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

No se publicó ningún esquema de entrada para esta herramienta.

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

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

No se publicó ningún esquema de entrada para esta herramienta.

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

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

No se publicó ningún esquema de entrada para esta herramienta.

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

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

No se publicó ningún esquema de entrada para esta herramienta.

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

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

No se publicó ningún esquema de entrada para esta herramienta.

validate_shebaValidate an Iranian Sheba (IBAN) number.

Validate an Iranian Sheba (IBAN) number.

No se publicó ningún esquema de entrada para esta herramienta.

normalize_mobileValidate and normalize an Iranian mobile number to 09xxxxxxxxx.

Validate and normalize an Iranian mobile number to 09xxxxxxxxx.

No se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

to_persian_digitsConvert any digits in a string to Persian digits.

Convert any digits in a string to Persian digits.

No se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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

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

No se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

validate_postal_codeValidate an Iranian 10-digit postal code.

Validate an Iranian 10-digit postal code.

No se publicó ningún esquema de entrada para esta herramienta.

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

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

No se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

jalali_diffDays between two Jalali dates plus a Persian relative description.

Days between two Jalali dates plus a Persian relative description.

No se publicó ningún esquema de entrada para esta herramienta.

slugify_persianCreate a URL slug from Persian/Latin text.

Create a URL slug from Persian/Latin text.

No se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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

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

No se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

persian_ordinalriesgo de inyecciónPersian ordinal words: 3 -> سوم, 21 -> بیست و یکم, 30 -> سی‌ام. 1 gives اول (set firstAsYekom for یکم).

Persian ordinal words: 3 -> سوم, 21 -> بیست و یکم, 30 -> سی‌ام. 1 gives اول (set firstAsYekom for یکم).

INYECCIÓNInvisible Unicode characters (zero-width / direction override)وم, 21 -> بیست و یکم, 30 -> سی\u200cام. 1 gives اول (set firstAsYe

No se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

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 se publicó ningún esquema de entrada para esta herramienta.

40 de 40 herramientas publicaron una descripción.

Los nombres y descripciones de las herramientas los escribe el publicador y se muestran literalmente como texto inerte. Son las cadenas que un cliente MCP pasa al modelo, así que Forge las analiza en busca de patrones de inyección de prompts — cualquier hallazgo aparece junto al análisis de seguridad de arriba. «Privilegiada» es una coincidencia de palabra clave en el nombre de la herramienta, no una auditoría de lo que hace: un nombre inofensivo puede hacer cualquier cosa.

Acerca de

MCP server for Persian/Iranian apps: Jalali calendar, validators, Persian text, price inputs, RTL frontend tools

Palabras clave
mcpmodel-context-protocolmcp-serverpersianfarsiiranjalalishamsirtltomanshebaclaude-codecursorskills
Alternativas
Comparando superficies de herramientas…

Árbol de dependencias

Lo que un análisis de Forge resolvió a partir de los metadatos de npm el 2026-10-22: resolución observada, no una declaración del publicador.

60 paquetes resueltos · 3 directos · ninguno con avisos de seguridad La resolución se detiene en la profundidad 4 y en 60 paquetes.

El rastreo se detuvo en el límite de profundidad 4. Nada por debajo de ese nivel llegó a resolverse.

El rastreo se detuvo en el límite de 60 paquetes. El resto del árbol nunca se resolvió.

Hay 36 paquetes resueltos más que no se dibujan aquí (límite de visualización: 24). Toda dependencia con avisos de seguridad se dibuja aunque se supere el límite. Inventario completo (SBOM CycloneDX)

Declaradas pero no resueltas

55 dependencias declaradas nunca llegaron al árbol. Faltan en la resolución de Forge, no en el paquete.

+43 más sin listar. Los recuentos por motivo de arriba las incluyen todas.

No se siguen: peerDependencies. Este árbol cubre solo dependencias en tiempo de ejecución, así que lo que estas arrastren nunca se resolvió.