mcpField
P
Parsi MCP

Parsi MCP

Local
github.com/amirjldDeveloper Tools5Updated 2w ago

About Parsi MCP

Parsi MCP is an offline MCP server for AI agents working with Persian text and Iran-specific data. It offers date, validation, money, and RTL frontend tools without API keys, alongside frontend guidance.

Key features

  1. 01Jalali date conversion and calendars
  2. 02Iranian identity and payment validation
  3. 03Persian text normalization and conversion
  4. 04Money formatting and verbalization
  5. 05RTL frontend guidance and snippets
  6. 06Data for 31 provinces

Use cases

  1. 01Convert Jalali dates and create calendar ranges
  2. 02Validate bank cards and Sheba numbers
  3. 03Process Persian digits and text direction
  4. 04Build Persian RTL price-entry interfaces

MCP support

The MCP server exposes 56 Persian and Iran-specific tools to AI agents, as well as RTL frontend prompts and resources.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"amirjld-parsi": {
"command": "npx",
"args": [
"-y",
"parsi-mcp"
]
}
}
}
Run commandnpx -y parsi-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmparsi-mcp0.3.0

Tools

56

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
dayintegerYes
yearintegerYes
monthintegerYes

Details

From the project README

parsi-mcp

English | فارسی

An MCP server that gives AI agents (Claude, Cursor, VS Code Copilot and others) reliable Persian and Iran-specific tools. It runs fully offline, with no API keys: Jalali dates, Iranian validators, Persian text handling, grouped price inputs with Persian words, and an RTL frontend toolkit.

56 tools. See the full list in TOOLS.md.

Install

Requires Node.js 18+. The npx commands below work once the package is published to npm; until then use the local build.

Claude Code

claude mcp add parsi -- npx -y parsi-mcp

Or install the plugin, which adds the MCP server and the persian-rtl-frontend skill:

claude plugin marketplace add amirjld/parsi-mcp
claude plugin install parsi@parsi-mcp

Cursor (~/.cursor/mcp.json or .cursor/mcp.json in a project)

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

Claude Desktop (claude_desktop_config.json: %APPDATA%\Claude\ on Windows, ~/Library/Application Support/Claude/ on macOS)

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

VS Code (.vscode/mcp.json)

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

Agent skill (tells agents to build Persian UIs RTL-first and to call these tools):

npx skills add amirjld/parsi-mcp
From source
git clone https://github.com/amirjld/parsi-mcp.git
cd parsi-mcp && npm install && npm run build
# then use: { "command": "node", "args": ["/absolute/path/to/parsi-mcp/dist/index.js"] }

Before and after

You ask: "Build a checkout page in Persian with a price field."

Without parsi-mcp, agents typically produce an LTR page with margin-left and text-left, a plain number box, and Latin digits.

With parsi-mcp, the agent loads the RTL guidelines, takes rtl_starter_snippet for the layout and price_input_snippet for the field, and validates payment fields with validate_card_number and validate_sheba:

<html lang="fa" dir="rtl">
  <!-- price input: typing 200000 shows ۲۰۰٬۰۰۰ -->
  <input inputmode="numeric" value="۲۰۰٬۰۰۰" />
  <p aria-live="polite">دویست هزار تومان</p>
</html>

What is inside

AreaHighlights
Jalali calendarconvert, format, parse, add, diff, month grid for date pickers, week/month/quarter/year ranges, relative text (۳ روز پیش), age from birth date, form validation, business days (Friday weekend), fixed solar holidays
Iranian validatorsnational ID, legal-entity national ID, bank card, Sheba, mobile, postal code, bank and operator lookup, phone display formats, address parsing (province, postal code, plaque/unit/floor)
Persian textnormalization, ZWNJ fixes, digits, number and ordinal words, words to number, slugs, fuzzy search, Persian sort, keyboard-layout fix, text stats and reading time, direction detection and bidi wrapping, safe truncation, lorem ipsum
Moneyrial/toman, grouped digits, price in words, VAT helper, Excel-safe CSV export, short forms (۲٫۵ میلیون), decimals/percents/fractions in words
RTL frontendguidelines prompt/resource, CSS and Tailwind audit, converters to logical properties, starter snippets, price input snippets, Persian font presets
Data31 provinces with ISO 3166-2 codes and capitals

Data notes

Bank BINs, Sheba codes, mobile prefixes and province data only include entries confirmed by public sources. Lunar (Hijri) holiday dates, vehicle plate parsing and national-ID city lookup are not included because reliable offline data could not be verified. The VAT helper needs you to supply the rate.

Develop

npm install
npm run build
npm test
npm run docs:tools   # regenerate TOOLS.md (a test fails if it is out of date)

Each tool is a small pure function in src/lib, registered in src/server.ts. Contributions are welcome.

Releasing

See the maintainer steps in RELEASING.md.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.