Arabicfmt MCP logo

Arabicfmt MCP

Arabic formatting for currencies, Hijri dates, number words, plurals, parsing, and RTL text.

Install Arabicfmt MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "arabicfmt-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "arabicfmt-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 17 tools correctly (Today).

Overview

The arabicfmt-mcp MCP server exposes Arabic-first formatting capabilities based on the zero-dependency arabicfmt JavaScript and TypeScript library. It covers 22 Arab League currencies, deterministic Umm al-Qura Hijri dates, Arabic number-to-words, تفقيط, plural selection, parsing, and bidirectional text handling. Reach for it when an agent needs to format or validate Arabic financial, date, numeric, or interface text.

Use cases

  • Format Arab currency amounts with locale-specific precision
  • Convert Gregorian dates to deterministic Umm al-Qura Hijri dates
  • Spell Arabic numbers and monetary values for invoices or cheques
  • Parse Eastern Arabic numerals and formatted currency strings
  • Protect phone numbers and other Latin text inside RTL sentences

Key features

  • Supports currencies from 22 Arab League countries
  • Formats deterministic Umm al-Qura Hijri dates
  • Converts numbers and money to Arabic words
  • Provides six-form Arabic plural selection
  • Parses Arabic numerals and validates IBANs and Saudi IDs
  • Handles RTL isolation and Unicode currency-sign transitions

Tools17

What Arabicfmt MCP lets your agent do. Expand a tool for its parameters.

Verified live~2.1k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

9/9 checks healthy over the last 46d

What it can do

From the 17 tools this server returned when we ran it.

Makes network requests · 1Read-only tools · 17
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceNot published
Package age133 days
Maintainers1

Observed 2026-10-28 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 5d ago via OSV.dev · arabicfmt-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars3Stargazers on the source repository.
npm downloads132Package downloads in the last 30 days.
Last commit1mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed17Callable tools this server registers over MCP.

How Arabicfmt MCP works

What arabicfmt-mcp MCP server does

The arabicfmt-mcp MCP server is based on arabicfmt, an Arabic-first JavaScript and TypeScript formatting library. Its documented capability set covers currency output, Hijri dates, Arabic words for numbers, cheque-style monetary spelling, plural rules, RTL text isolation, parsing, locale detection, and related formatting tasks.

Currency handling includes all 22 Arab League countries. The library distinguishes the Saudi riyal sign U+20C1 from the older Iranian rial symbol, supports the Unicode 18.0 transition signs for SAR, MVR, AED, and OMR, and applies currency-specific precision. Iraqi dinars use three decimal places according to the documented ISO 4217 rule. Ranges, compact amounts, accounting-style negatives, and typed currency parts are also supported.

How it works

The underlying package provides typed JavaScript and TypeScript functions rather than relying on runtime dependencies. Currency formatting accepts a numeric value and options such as currency, locale, numeral style, and accounting mode. Separate functions can return typed parts, parse formatted currency back to a number, or report the status of a currency-sign transition for a date.

Hijri conversion uses frozen Umm al-Qura tables through the umalqura subpath.

Arabic language features include six CLDR plural categories, gender-aware ordinals, number-to-words conversion, and تفقيط for monetary amounts. Text utilities isolate foreign left-to-right runs, normalize search text, create URL slugs, and parse Eastern Arabic digits. Validation helpers cover ISO 7064 mod-97 IBAN checks and Saudi national ID or Iqama check digits.

Setup and configuration

The documented package installation is:

Terminal
npm install arabicfmt

Yarn and pnpm commands are also provided. The package requires Node.js 18 or later; TypeScript 4.7 or later is optional. It has zero runtime dependencies and includes TypeScript types.

A browser build can be imported directly from jsDelivr or unpkg without a bundler.

Tools and capabilities

Documented underlying functions include:

  • formatCurrency, formatCurrencyRange, and formatCurrencyToParts
  • formatHijri and toHijri
  • arabicToWords and spellCurrency
  • arabicPlural, arabicOrdinal, and formatDuration
  • parseCurrency and parseNumber
  • isolateForeign, normalizeForSearch, and slugify
  • isValidIBAN and isValidSaudiId
  • formatCompact, formatFileSize, formatRelativeTime, and formatList
  • transitionStatus and signFontFaceCSS

These are library exports documented by the source README. The material does not map them to named MCP tools, input schemas, or output schemas, so an agent integration should verify that mapping separately.

Limitations and notes

The arabicfmt-mcp MCP server's README details the underlying formatter, not the MCP wrapper. It does not identify supported MCP clients, a transport protocol, server launch arguments, authentication, remote services, or environment variables. It also does not document whether every library export is exposed through MCP.

The library is designed for Arabic formatting, but the documented outputs can use either Arabic or Latin numerals depending on options. New Unicode currency signs may require the generated signFontFaceCSS output and an appropriate font to render correctly. For production browser use, the README recommends pinning the CDN package version.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Arabicfmt MCP

arabicfmt-mcp is an MCP server that provides access to arabicfmt, a zero-dependency JavaScript and TypeScript library for Arabic formatting. Its main capabilities include currency formatting, Hijri dates, number-to-words, تفقيط, Arabic plurals, numeric parsing, RTL isolation, IBAN checks, and Saudi ID validation.

It does not document an MCP-specific package, command, transport, or server configuration.

Use the underlying `formatCurrency` capability with a numeric value and a currency code such as `SAR` or `KWD`; options can select locale, numeral style, and accounting output. The library also provides currency ranges, typed parts, parsing, and transition-status helpers.

Yes, the underlying library provides `formatHijri` and `toHijri` using frozen Umm al-Qura tables. The documented approach is deterministic across Node, Chrome, Safari, and Hermes, and supports Arabic or Latin numerals in formatted output.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewArabicfmt MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/arabicfmt-mcp?style=directory)](https://allmcps.com/mcp/arabicfmt-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/arabicfmt-mcp"><img src="https://allmcps.com/api/badge/arabicfmt-mcp?style=directory" alt="Arabicfmt MCP on AllMCPs" /></a>