Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Arabicfmt MCP

de cc1a2bversión 0.1.1i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.cc1a2b/arabicfmt-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

Arabic formatting: 22 Arab currencies (Saudi riyal U+20C1), Hijri dates, تفقيط, RTL/bidi fixes.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Otros

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "arabicfmt": {
      "command": "npx",
      "args": [
        "-y",
        "arabicfmt-mcp"
      ]
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add arabicfmt -- npx -y arabicfmt-mcp

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "arabicfmt": {
      "command": "npx",
      "args": [
        "-y",
        "arabicfmt-mcp"
      ]
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "arabicfmt": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "arabicfmt-mcp"
      ]
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub cc1a2b, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Otrosi

  • Más estrellas que el 0% de los otros 32678 servidores de esta categoría
  • Publicado en el registro más recientemente que el 15% de los otros 32678 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 32678 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Arabicfmt MCP?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.1.1) llegó al registro hace 4 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Spec Driven Development, Remote Desktop Commander, Starreel

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Spec Driven Development

de formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Se ejecuta en tu computadora★ 440MITActualizado hace 14 meses
Instalar

Remote Desktop Commander

de desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Se ejecuta en la nube★ 211Actualizado anteayer
Instalar

Starreel

de starreel

Turn a script into a finished, downloadable short-drama episode — via MCP or REST.

Se ejecuta en tu computadoraActualizado hoy
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

arabicfmt

Arabic-first formatting for JavaScript & TypeScript

Currency symbols · Hijri/Islamic calendar · number-to-words · تفقيط · 6 plural forms · RTL/bidi —

correct for all 22 Arab League countries, with zero dependencies and full TypeScript types.

أرقامٌ وعملاتٌ وتواريخُ هجريةٌ ولغةٌ عربيةٌ سليمة — في سطرٍ واحد.

[npm](https://www.npmjs.com/package/arabicfmt) · [Live demo](https://arabicfmt.vercel.app) · [GitHub](https://github.com/cc1a2b/arabicfmt)

arabicfmt is the only JavaScript library that handles the entire Arabic formatting stack in one zero-dependency package — currency symbols, number precision, Hijri/Islamic calendar dates, RTL bidirectional text, Arabic number-to-words and تفقيط — with full TypeScript types. Works in Node, the browser, Deno, Bun and React Native.

New in 0.1.5: every currency sign from the Unicode 17.0/18.0 transition — SAR U+20C1, MVR U+20C2, AED U+20C3, OMR U+20C4 — plus the tooling to actually render them: typed parts, a generated @font-face, price ranges and a date-aware transition registry.

npm install arabicfmt

What other libraries get wrong

ProblemOther librariesarabicfmt
Saudi riyal U+20C1Emits ﷼ (U+FDFC) — the Iranian rialCorrect U+20C1 with a safe text fallback
The Unicode 18.0 signs (MVR/AED/OMR)Unencoded, or still the old abbreviationAll four signs, plus transitionStatus() and a generated @font-face
Styling a new signRegex the symbol back out of a formatted stringformatCurrencyToParts() — the sign is its own typed part
Iraqi dinar (IQD) decimals0 (CLDR practical)3 decimals — ISO 4217 legal standard
Hijri date outputVaries between Node, Chrome, Safari, HermesFrozen Umm al-Qura tables — identical on every engine
Arabic plurals1–2 forms; Arabic legally needs 6Full CLDR 6-form system (zero/one/two/few/many/other)
Number to Arabic wordsNo zero-dep solutionarabicToWords(1234) → "ألف ومئتان وأربعة وثلاثون"
Spell money for cheques (تفقيط)Build it yourself, get the grammar wrongspellCurrency(1234.5, {currency:"SAR"}) → "ألف ومئتان وأربعة وثلاثون ريالاً وخمسون هللةً"
Ordinals (ترتيبية)Missing or gender-blindarabicOrdinal(25) → "الخامس والعشرون", gender-aware
Spoken durationsIntl.DurationFormat barely supportedformatDuration(7_500_000) → "ساعتان وخمس دقائق" with full agreement
RTL broken sentencesPhone numbers flip mid-sentenceUnicode isolates wrap LTR runs automatically
Eastern Arabic digit parsingparseInt("١٢٣") → NaNparseNumber("١٬٢٣٤٫٥٦") → 1234.56
Arabic URL slugsStrip to empty or mojibakeslugify("مدينة جدة") → "mdynh-jdh"
IBAN / Saudi ID checksRegex that accepts bad numbersReal ISO 7064 mod-97 + Luhn checksums

Install

npm install arabicfmt

or

yarn add arabicfmt

or

pnpm add arabicfmt

Requirements: Node.js ≥ 18 · TypeScript ≥ 4.7 (optional) · zero runtime dependencies.

Browser / CDN — no build step

Every release is mirrored on the jsDelivr and unpkg CDNs automatically. Import the browser-ready ESM bundle straight from a URL — no install, no bundler:

<script type="module">

import { formatCurrency, formatHijri } from "https://cdn.jsdelivr.net/npm/arabicfmt/+esm";

console.log(formatCurrency(1234.5, { currency: "SAR", numerals: "arab" })); // ١٬٢٣٤٫٥٠ ر.س console.log(formatHijri(new Date(), { numerals: "arab" })); // ٢٧ ذو الحجة ١٤٤٧ هـ

Subpaths work too — e.g. https://cdn.jsdelivr.net/npm/arabicfmt/dist/currency/index.js for just the currency module. Pin a version for production, e.g. arabicfmt@0.1.


Quick start

import {

formatCurrency, // correct symbol + precision for every Arab currency formatCurrencyRange, // "1,000.00 – 5,000.00 ر.س" formatCurrencyToParts, // typed parts — font-scope just the new Unicode sign transitionStatus, // "none" | "announced" | "encoded" for any date signFontFaceCSS, // the scoped @font-face the new signs need formatCompact, // 1,200,000 → "1.2M" / "١٫٢ مليون" arabicToWords, // 1234 → "ألف ومئتان وأربعة وثلاثون" spellCurrency, // تفقيط: 1234.5 SAR → "...ريالاً وخمسون هللةً" arabicOrdinal, // 25 → "الخامس والعشرون" formatDuration, // 7_500_000ms → "ساعتان وخمس دقائق" formatFileSize, // 1536 → "1.5 كيلوبايت" formatRelativeTime, // "منذ ٣ أيام" formatList, // ["أحمد","علي"] → "أحمد وعلي" parseCurrency, // "١٬٢٣٤٫٥٠ ر.س" → 1234.5 arabicPlural, // full 6-form Arabic plural selection sortArabic, // Arabic-locale collation slugify, // "مدينة جدة" → "mdynh-jdh" (URL slugs) isValidIBAN, // ISO 7064 mod-97 IBAN checksum isValidSaudiId, // Saudi national ID / Iqama check digit isolateForeign, // fix broken RTL sentences normalizeForSearch, // search-key normalization detectLocale, // auto-detect from browser / Node environment } from "arabicfmt";

import { formatHijri, toHijri } from "arabicfmt/umalqura"; // deterministic Hijri calendar

// Currency formatCurrency(1.2, { currency: "KWD" }); // "1.200 د.ك" formatCurrency(1234, { locale: "ar-SA", numerals: "arab" }); // "١٬٢٣٤٫٠٠ ر.س" formatCurrency(-500, { currency: "SAR", accounting: true }); // "(500.00 ر.س)" formatCurrencyRange(1000, 5000, { currency: "SAR" }); // "1,000.00 – 5,000.00 ر.س" formatCompact(1_500_000, { locale: "ar", numerals: "arab" }); // "١٫٥ مليون"

// The Unicode currency-sign transition, as data transitionStatus("AED"); // "encoded" (Unicode 18.0) transitionStatus("AED", new Date("2026-01-01")); // "announced" transitionStatus("KWD"); // "none" — Kuwait has no sign signFontFaceCSS({ src: "/fonts/signs.woff2" }); // @font-face … unicode-range: U+20C1…U+20C4

// Number to Arabic words arabicToWords(1234); // "ألف ومئتان وأربعة وثلاثون" arabicToWords(1_000_000); // "مليون" arabicToWords(5, { gender: "female" }); // "خمس"

// Spell money for invoices & cheques (التفقيط) spellCurrency(1234.5, { currency: "SAR" }); // "ألف ومئتان وأربعة وثلاثون ريالاً وخمسون هللةً" spellCurrency(100, { currency: "SAR", suffix: true }); // "مئة ريال فقط لا غير"

// Ordinals — gender-aware arabicOrdinal(1); // "الأول" arabicOrdinal(25); // "الخامس والعشرون" arabicOrdinal(1, { gender: "female" }); // "الأولى"

// Duration & file size formatDuration(7_500_000); // "ساعتان وخمس دقائق" formatFileSize(1536); // "1.5 كيلوبايت"

// Lists formatList(["أحمد", "محمد", "علي"]); // "أحمد ومحمد وعلي" formatList(["تفاح", "موز"], { type: "disjunction" }); // "تفاح أو موز"

// Hijri dates (deterministic — same output on Node, Chrome, Safari, Hermes) formatHijri(new Date("2025-09-23")); // "1 ربيع الآخر 1447 هـ" formatHijri(new Date("2025-09-23"), { numerals: "arab" }); // "١ ربيع الآخر ١٤٤٧ هـ" toHijri(new Date("2025-09-23")); // { year: 1447, month: 4, day: 1 }

// Relative time formatRelativeTime(new Date(Date.now() - 3 * 86400_000)); // "منذ 3 أيام"

// Parse formatted strings back to numbers parseCurrency("١٬٢٣٤٫٥٠ ر.س"); // 1234.5 parseCurrency("(500.00 SAR)"); // -500

// RTL isolateForeign("اتصل على +1 (555) 234-5678 الآن"); // phone stays intact in RTL

// Locale auto-detection detectLocale(); // "ar-SA" in a Saudi browser, "ar-EG" in Node with LANG=ar_EG


Currency formatting

Symbol strategy: symbolMode

The Saudi riyal received its own Unicode symbol (U+20C1) in September 2025. Most libraries either emit the wrong ligature (U+FDFC, the Iranian rial) or fall back to SAR. arabicfmt gives you full control:

import { formatCurrency, resolveCurrencySymbol, getCurrencyInfo } from "arabicfmt/currency";

formatCurrency(1234.5, { currency: "SAR" }); // → "1,234.50 ر.س" (auto: safe text symbol, renders everywhere today)

formatCurrency(1234.5, { currency: "SAR", symbolMode: "new" }); // → "1,234.50 ⃁" (U+20C1 — use with a webfont; see webfont guide below)

formatCurrency(1234.5, { currency: "SAR", symbolMode: "code" }); // → "1,234.50 SAR" (ISO code — for accounting tables)

symbolModeSARAEDOMRUse when
auto *(default)*ر.س⃃ U+20C3⃄ U+20C4Default. AED/OMR use the dedicated sign; SAR stays on safe text
new⃁ U+20C1⃃ U+20C3⃄ U+20C4Force the dedicated sign (needs font support)
textر.سد.إر.ع.Always the safe text symbol — renders everywhere
codeSARAEDOMRISO code

Unicode 18.0 (16 September 2026): the AED (U+20C3), OMR (U+20C4) and MVR

(U+20C2) signs are now live, and auto prefers them. Need maximum

compatibility today? Use symbolMode: "text". The Saudi riyal keeps its safe

text default by design. See

the transition section for the full table.

Correct decimal precision — all 22 Arab League countries

Generated from CLDR 48.2.0 at build time and verified on every build:

formatCurrency(1.2, { currency: "KWD" });  // "1.200 د.ك"  ← 3 decimals

formatCurrency(1.2, { currency: "BHD" }); // "1.200 د.ب" ← 3 decimals formatCurrency(1.2, { currency: "IQD" }); // "1.200 ع.د" ← 3 decimals (ISO 4217, not CLDR's 0) formatCurrency(500, { currency: "KMF" }); // "500 ف.ج.ق" ← 0 decimals formatCurrency(500, { currency: "SAR" }); // "500.00 ر.س" ← 2 decimals

DecimalsCurrencies
3KWD, BHD, OMR, JOD, IQD, LYD, TND
0DJF, KMF
2SAR, AED, QAR, and the rest
All currency options
// Resolve from locale region — no need to know the currency code

formatCurrency(99.9, { locale: "ar-BH" }); // "99.900 د.ب" formatCurrency(1234, { locale: "ar-AE", numerals: "arab", symbolMode: "text" }); // "١٬٢٣٤٫٠٠ د.إ" (auto → U+20C3 sign)

// Accounting notation (negatives in parentheses) formatCurrency(-1234.5, { currency: "SAR", accounting: true }); // "(1,234.50 ر.س)"

// Hide/override formatCurrency(100, { currency: "SAR", showSymbol: false, fractionDigits: 0 }); // "100"

// Currency metadata getCurrencyInfo("SAR"); // { // code: "SAR", digits: 2, // symbols: { auto: "ر.س", text: "ر.س", code: "SAR", new: "⃁" }, // unicode: { codepoint: "U+20C1", unicodeVersion: "17.0", live: true, autoDefault: false }, // displayName: "ريال سعودي" // }

Price ranges

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx