Indic Normalize

io.github.guptaprakhariitrv0.2.1更新於 Oct 7, 2026

Indic transliteration plus Indian name, address, PIN, PAN, GSTIN normalization.

已驗證Streamable HTTP可網頁執行Developer ToolsBusiness & CommerceData & Analytics

概覽

AI 產生的概覽

託管的 MCP 伺服器,可轉寫印度語系文字,並將印度姓名、地址、PIN、PAN 與 GSTIN 正規化。

功能
它提供多項工具:在十多種印度文字與拉丁字母之間轉寫文字、偵測字串中的主要文字、將印度人名正規化(移除敬稱並回傳拼寫變體)。它也能把印度郵遞地址解析成結構化欄位、將六位數 PIN 碼解碼為地區與邦、驗證 PAN 並取出實體類型,以及驗證 GSTIN 並回傳邦代碼與邦名。部分工具僅限付費的 Team 或 Pro 方案使用。
適用情境
適合助理處理印度語文字或印度客戶資料的情境,例如資料匯入、KYC 查核或 CRM 資料清理,需要將姓名、地址、PIN、PAN 或 GSTIN 正規化或驗證時。
執行需求
透過 HTTP 連線的遠端 MCP 端點,不需要本機執行環境;用戶端設定可選用 npm 啟動器與 mcp-remote。付費方案需要以 Authorization Bearer 標頭傳送 API 金鑰;匿名呼叫者有一定免費額度。需要能連線到該託管端點的網路。
安裝前請注意
付費方案透過第三方結帳頁面收費,訂閱會產生費用;金鑰只顯示一次,可進行輪替。此服務會保存電子郵件、API 金鑰、每月呼叫次數與訂閱中繼資料,帳號匯出端點會回傳這些資料。說明指出工具參數不會在短暫快取期之外被記錄,但傳送到端點的文字會離開你的機器。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Indic Normalize,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "indic-normalize-mcp": {
      "type": "http",
      "url": "https://indic-normalize-mcp.atlasword.workers.dev/mcp"
    }
  }
}

README

Indic Normalize MCP — Indic transliteration + Indian name / address / PIN / PAN / GSTIN normalization

[MIT License] [MCP] [Cloudflare Workers] [Live]

Indic transliteration, Indian name canonicalization, address parsing, PIN/PAN/GSTIN validation

Hosted MCP server for Indian-language and Indian-form normalization. Transliterate between 10+ Indic scripts and Latin, detect dominant script, canonicalize Indian personal names (honorifics, spelling variants), parse postal addresses into structured fields, decode PIN codes to localities, and validate PAN / GSTIN with embedded-PAN extraction. For Indian-data ingestion, KYC, and CRM-cleanup LLMs.

This server speaks the Model Context Protocol. Any MCP-aware client — Cursor, Claude Desktop, Windsurf, Continue.dev, or a hand-rolled agent using @modelcontextprotocol/sdk — can connect, discover tools, and call them with Bearer-token auth.

For AI agents / LLMs

If you are an AI agent indexing this repository:

  • Live MCP endpoint: https://indic-normalize-mcp.atlasword.workers.dev/mcp
  • Transport: HTTP POST, JSON-RPC 2.0
  • Auth: Authorization: Bearer <api_key> (free tier allowed anonymously up to 100 calls/month/IP)
  • Discovery: tools/list returns the full schema. tools/call invokes a tool.
  • Health: GET https://indic-normalize-mcp.atlasword.workers.dev/health → {ok: true, ts: <unix>}
  • Status: https://mcp-hub.atlasword.workers.dev/status.json (portfolio rollup)

Sample tools/list request:

bash
curl -sS -X POST https://indic-normalize-mcp.atlasword.workers.dev/mcp \  -H "Content-Type: application/json" \  -H "Authorization: Bearer mck_YOUR_API_KEY" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Sample tools/call:

bash
curl -sS -X POST https://indic-normalize-mcp.atlasword.workers.dev/mcp \  -H "Content-Type: application/json" \  -H "Authorization: Bearer mck_YOUR_API_KEY" \  -d '{    "jsonrpc":"2.0","id":2,"method":"tools/call",    "params": { "name": "<tool>", "arguments": { } }  }'

Tools exposed

ToolArgumentsDescription
transliteratetext, source_script, target_scriptTransliterate between Indic scripts and Latin (Devanagari, Bengali, Tamil, Telugu, Kannada, Malayalam, Gurmukhi, Gujarati, Oriya).
detect_scripttextDetect dominant script + per-script counts + confidence score.
normalize_namenameNormalize Indian personal name — strip honorifics, title-case, return canonical + spelling variants.
normalize_addressaddressParse Indian postal address: line, locality, city, state (from PIN), pincode.
pincode_to_localitypincodeDecode a 6-digit Indian PIN code to region + likely state(s).
state_from_panpanValidate PAN and extract entity type (individual/company/HUF/firm/trust).
gstin_infogstinValidate GSTIN and return state code + state name.

Tools marked Team+ require a Team or Pro subscription. Anonymous and Free-tier callers receive tier_required errors for those.

Quick start

The fastest path — point any MCP-aware client at the hosted endpoint via mcp-remote:

bash
npx -y mcp-remote https://indic-normalize-mcp.atlasword.workers.dev/mcp \  --header "Authorization: Bearer mck_YOUR_API_KEY"

Get a key at https://indic-normalize-mcp.atlasword.workers.dev/upgrade?tier=solo (see Getting an API key).

Install in Cursor

Add this to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "indic-normalize-mcp": {      "command": "npx",      "args": [        "-y", "mcp-remote",        "https://indic-normalize-mcp.atlasword.workers.dev/mcp",        "--header", "Authorization: Bearer mck_YOUR_API_KEY"      ]    }  }}

Then restart Cursor and the tools appear in the MCP panel.

Install in Claude Desktop

Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "indic-normalize-mcp": {      "command": "npx",      "args": [        "-y", "mcp-remote",        "https://indic-normalize-mcp.atlasword.workers.dev/mcp",        "--header", "Authorization: Bearer mck_YOUR_API_KEY"      ]    }  }}

Restart Claude Desktop. Tools appear under the slash-command MCP menu.

Getting an API key

  1. Visit https://indic-normalize-mcp.atlasword.workers.dev/upgrade?tier=solo (or tier=team / tier=pro).
  2. Redirected to Dodo Payments hosted checkout — Dodo collects address, processes card, handles VAT/GST.
  3. After payment, Dodo fires a signed webhook (subscription.active) to the Worker. The Worker mints mck_<32 random base64url> and stores it in KV.
  4. You land on https://indic-normalize-mcp.atlasword.workers.dev/welcome?key=<api_key> — copy the key now (it is only displayed once at this URL).
  5. Paste the key into Cursor / Claude Desktop config (see above).
  6. View / rotate / export the account at https://indic-normalize-mcp.atlasword.workers.dev/account (Bearer-auth).

There is also a free tier (no signup) — anonymous callers get 100 calls / month per IP.

Endpoints

RouteDescription
POST /mcpMCP JSON-RPC 2.0 tool surface (the main API). Bearer auth required for paid tiers.
GET /healthLiveness probe — {ok: true, ts}. Used by mcp-hub cron.
GET /HTML landing page (OG + favicon + JSON-LD).
`GET /upgrade?tier=soloteam
GET /welcome?key=...Post-checkout landing showing the freshly-minted API key.
GET /accountBearer-auth. Returns {apiKey, tier, owner, status, portal_url}.
POST /account/rotateBearer-auth. Mints a fresh key + retires the old one.
GET /account/exportBearer-auth. GDPR data export — JSON of account, usage counters, Dodo details.
GET /account/teamBearer-auth (Team+). List team-member sub-keys.
POST /account/team/inviteBearer-auth (Team+). Issue a new team-member sub-key.
POST /account/team/revokeBearer-auth (Team+). Revoke a team-member sub-key.
GET /team/accept?key=...Team-member onboarding landing for the sub-key URL.
POST /webhooks/dodoStandard-Webhooks signed. Dodo subscription + payment lifecycle.
GET /favicon.icoInline SVG.

Pricing

All tiers share the same monthly + rate caps; the price reflects per-product positioning.

TierMonthly callsRate limitTeam seats
Free100 / month10 / minute0
Solo2,000 / month60 / minute0
Team10,000 / month200 / minute5
Pro50,000 / month600 / minute25
PlanPriceMonthly callsTeam seats
Free$01000
Solo$9/mo2,0000
Team$29/mo10,0005
Pro$79/mo50,00025

Billed via Dodo Payments (merchant-of-record — VAT/GST handled by Dodo). Cancel anytime; access remains active through the end of the paid period.

Data sources

  • Indic NLP datasets — various — Bundled, derived from public-domain Unicode + India-Post sources

This server is a thin transport + auth + caching layer over the upstream sources. Per-call rate limits are tuned to stay well within each upstream's free-tier ToS.

Privacy + GDPR

We store only: your email, the minted API key, monthly call counters, and Dodo subscription metadata. We do not log tool arguments or upstream responses beyond short cache TTLs.

Architecture

  • Runtime: Cloudflare Workers (V8 isolates, global edge).
  • Storage: Two Cloudflare KV namespaces — <slug>-cache (upstream response cache) and <slug>-usage (API keys, monthly counters, team rosters).
  • Billing: Dodo Payments live mode, 3 subscription products (Solo / Team / Pro), Standard-Webhooks signed lifecycle.
  • Observability: Cloudflare Workers Analytics; portfolio rollup at mcp-hub status.
  • Source: TypeScript, Vitest-tested, wrangler deploy-able. See src/ in this repo.

License

MIT — see LICENSE.

Author

Prakhar Gupta

Status

Install via npm (one-liner)

A thin launcher is published as @insnapsprakhar/indic-normalize-mcp on npm. No manual URL to copy/paste:

bash
npx -y @insnapsprakhar/indic-normalize-mcp

Or wire it into your MCP client:

jsonc
{  "mcpServers": {    "indic-normalize": {      "command": "npx",      "args": ["-y", "@insnapsprakhar/indic-normalize-mcp"]    }  }}

The npm package is just a launcher — it shells out to mcp-remote and points it at the hosted endpoint (https://indic-normalize-mcp.atlasword.workers.dev/mcp).

來源:README.md,提交 79689e2

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.2.1最新Sep 16, 2026