Parsi MCP

io.github.amirjldPublished by GitHub account amirjldv0.3.0Updated Oct 26, 2026

Offline Persian/Iran tools: Jalali dates, validators, Persian text, price inputs, RTL frontend.

VerifiedSTDIODesktop onlyLocation & LifestyleDeveloper Tools

Overview

AI-generated overview

Offline MCP server with 56 tools for Persian and Iran-specific work: Jalali dates, Iranian validators, Persian text, money formatting and RTL frontend help.

What you can do
  • Convert, format, parse and diff Jalali dates, build month grids and ranges, and compute age or business days
  • Validate Iranian national IDs, bank cards, Sheba numbers, mobile numbers and postal codes, and look up banks, operators and addresses
  • Normalize Persian text, fix ZWNJ and digits, convert numbers to and from Persian words, sort, fuzzy search, detect direction and truncate safely
  • Format rial and toman amounts, write prices in words, add VAT and export Excel-safe CSV
  • Get RTL guidelines, audit CSS and Tailwind, convert to logical properties, and pull starter and price-input snippets
  • Look up Iran's 31 provinces with ISO codes and capitals
When to use it
Useful when an assistant has to produce Persian-language content or Iranian-market forms and pages: Jalali date pickers, checkout pages with rial prices, national ID or Sheba validation, and RTL layout work. It is also handy for cleaning up Persian text and converting numbers to words.
Requirements
Runs locally over stdio as an npm package, so Node.js 18+ is needed; the README notes the npx install works once the package is published, otherwise build from source. No API keys or environment variables are declared, and it works fully offline.
Before you install
The VAT helper requires you to supply the rate yourself, and the README states that lunar holiday dates, vehicle plate parsing and national-ID city lookup are deliberately omitted for lack of verified data. Bank, Sheba, mobile prefix and province data cover only publicly confirmed entries, so validation results should not be treated as authoritative.

Installation

In SourceWeft

  1. Open Parsi MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

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

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

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

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

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

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

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

VS Code (.vscode/mcp.json)

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):

bash
npx skills add amirjld/parsi-mcp

From source

bash
git clone https://github.com/amirjld/parsi-mcp.gitcd 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
<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

bash
npm installnpm run buildnpm testnpm 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

Source: README.md at commit 9a1e66f

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.3.0LatestOct 18, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts