关于 Indic Normalize — hosted on Cloudflare Workers (HTTP + npm stdio)
Indic Normalize 是面向印度数据处理的托管 MCP 服务,为数据导入、KYC 和 CRM 清理提供语言转写及字段规范化工具。它涵盖多种 Indic 文字、姓名、地址、PIN、PAN 和 GSTIN,并通过 HTTP 端点供 MCP 客户端调用。
主要功能
- 01Indic 文字与拉丁文转写
- 02检测文本主导文字
- 03规范化印度人名
- 04解析地址并查询 PIN 码
- 05验证 PAN 与 GSTIN
适用场景
- 01处理多文字印度语数据
- 02清理 KYC 或 CRM 联系人
- 03将邮政地址拆分为结构化字段
MCP 相关
通过 HTTP 上的 MCP JSON-RPC 端点向客户端提供转写、姓名与地址规范化及号码验证工具;支持 Bearer token 身份验证。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://indic-normalize-mcp.atlasword.workers.dev/mcpclaude mcp add --transport http indic-normalize https://indic-normalize-mcp.atlasword.workers.dev/mcp{"mcpServers":{"indic-normalize":{"type":"http","url":"https://indic-normalize-mcp.atlasword.workers.dev/mcp"}}}在 Cursor 中打开{"servers":{"indic-normalize":{"type":"http","url":"https://indic-normalize-mcp.atlasword.workers.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"indic-normalize":{"type":"http","url":"https://indic-normalize-mcp.atlasword.workers.dev/mcp"}}}{"mcpServers":{"indic-normalize":{"serverUrl":"https://indic-normalize-mcp.atlasword.workers.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
7| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 是 | |
| to_script | string | 是 | 目标文字体系名称。 |
| from_script | string | 是 | 源文字体系名称。 |
详细介绍
Indic Normalize MCP — Indic 音译 + 印度姓名 / 地址 / PIN / PAN / GSTIN 规范化
Indic 音译、印度姓名规范化、地址解析、PIN/PAN/GSTIN 验证
面向印度语言和印度格式规范化的托管 MCP 服务。支持在 10 多种 Indic 字母体系与拉丁字母之间进行音译、检测主要文字体系、规范化印度个人姓名(尊称、拼写变体)、将邮政地址解析为结构化字段、将 PIN 码解码为所在地,以及验证 PAN / GSTIN 并提取其中嵌入的 PAN。适用于处理印度数据的 LLM、KYC 和 CRM 清理工作。
此服务使用 Model Context Protocol。任何兼容 MCP 的客户端——Cursor、Claude Desktop、Windsurf、Continue.dev,或使用 @modelcontextprotocol/sdk 自行构建的 Agent——均可通过 Bearer 令牌身份验证进行连接、发现工具并调用工具。
面向 AI Agent / LLM
如果你是正在索引此代码库的 AI Agent:
- 在线 MCP 端点:
https://indic-normalize-mcp.atlasword.workers.dev/mcp - 传输方式: HTTP POST,JSON-RPC 2.0
- 身份验证:
Authorization: Bearer <api_key>(免费套餐允许匿名访问,每个 IP 每月最多调用 100 次) - 发现:
tools/list会返回完整架构。tools/call会调用工具。 - 健康状态:
GET https://indic-normalize-mcp.atlasword.workers.dev/health→{ok: true, ts: <unix>} - 状态:
https://mcp-hub.atlasword.workers.dev/status.json(项目汇总)
tools/list 请求示例:
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"}'
tools/call 示例:
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": { } }
}'
提供的工具
| 工具 | 参数 | 描述 |
|---|---|---|
transliterate | text, source_script, target_script | 在 Indic 字母体系和拉丁字母之间进行音译(天城文、孟加拉文、泰米尔文、泰卢固文、卡纳达文、马拉雅拉姆文、古木基文、古吉拉特文、奥里亚文)。 |
detect_script | text | 检测主要文字体系,并返回各文字体系的计数和置信度分数。 |
normalize_name | name | 规范化印度个人姓名——去除尊称、转换为首字母大写格式,并返回规范形式和拼写变体。 |
normalize_address | address | 解析印度邮政地址:地址行、所在地、城市、州(根据 PIN 获取)、邮政编码。 |
pincode_to_locality | pincode | 将 6 位印度 PIN 码解码为地区和可能所属的州。 |
state_from_pan | pan | 验证 PAN 并提取实体类型(个人 / 公司 / HUF / 企业 / 信托)。 |
gstin_info | gstin | 验证 GSTIN 并返回州代码和州名。 |
标记为 Team+ 的工具需要 Team 或 Pro 订阅。匿名用户和免费套餐用户调用这些工具时会收到 tier_required 错误。
快速开始
最快的方式是通过 mcp-remote,让任意兼容 MCP 的客户端连接到托管端点:
npx -y mcp-remote https://indic-normalize-mcp.atlasword.workers.dev/mcp \
--header "Authorization: Bearer mck_YOUR_API_KEY"
前往 https://indic-normalize-mcp.atlasword.workers.dev/upgrade?tier=solo 获取密钥(参见获取 API 密钥)。
在 Cursor 中安装
将以下内容添加到 ~/.cursor/mcp.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"
]
}
}
}
然后重启 Cursor,工具就会显示在 MCP 面板中。
在 Claude Desktop 中安装
将以下内容添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"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"
]
}
}
}
重启 Claude Desktop。工具会显示在斜杠命令 MCP 菜单中。
获取 API 密钥
- 访问
https://indic-normalize-mcp.atlasword.workers.dev/upgrade?tier=solo(或tier=team/tier=pro)。 - 重定向到 Dodo Payments 托管结账页面——Dodo 会收集地址、处理银行卡付款,并处理 VAT/GST。
- 付款后,Dodo 会向 Worker 发送已签名的 webhook(
subscription.active)。Worker 会生成mck_<32 random base64url>并将其存储在 KV 中。 - 你将进入
https://indic-normalize-mcp.atlasword.workers.dev/welcome?key=<api_key>——请立即复制密钥(此 URL 只会显示一次)。 - 将密钥粘贴到 Cursor / Claude Desktop 配置中(见上文)。
- 在
https://indic-normalize-mcp.atlasword.workers.dev/account查看 / 轮换 / 导出账户(使用 Bearer 认证)。
此外还有免费层级(无需注册)——匿名调用者每个 IP 每月可调用 100 次。
端点
| 路由 | 说明 |
|---|---|
POST /mcp | MCP JSON-RPC 2.0 工具接口(主 API)。付费层级需要 Bearer 认证。 |
GET /health | 存活探测——{ok: true, ts}。由 mcp-hub cron 使用。 |
GET / | HTML 落地页(OG + favicon + JSON-LD)。 |
| `GET /upgrade?tier=solo | team |
GET /welcome?key=... | 结账后落地页,显示刚生成的 API 密钥。 |
GET /account | 使用 Bearer 认证。返回 {apiKey, tier, owner, status, portal_url}。 |
POST /account/rotate | 使用 Bearer 认证。生成新密钥并停用旧密钥。 |
GET /account/export | 使用 Bearer 认证。GDPR 数据导出——账户、用量计数器和 Dodo 详情的 JSON。 |
GET /account/team | 使用 Bearer 认证(Team+)。列出团队成员子密钥。 |
POST /account/team/invite | 使用 Bearer 认证(Team+)。签发新的团队成员子密钥。 |
POST /account/team/revoke | 使用 Bearer 认证(Team+)。撤销团队成员子密钥。 |
GET /team/accept?key=... | 团队成员通过子密钥 URL 加入时显示的引导落地页。 |
POST /webhooks/dodo | Standard-Webhooks 签名验证。处理 Dodo 订阅和付款生命周期事件。 |
GET /favicon.ico | 内嵌 SVG。 |
定价
所有层级采用相同的月度用量上限和速率上限;价格体现各产品的定位。
| 层级 | 每月调用次数 | 速率限制 | 团队席位 |
|---|---|---|---|
| Free | 每月 100 次 | 每分钟 10 次 | 0 |
| Solo | 每月 2,000 次 | 每分钟 60 次 | 0 |
| Team | 每月 10,000 次 | 每分钟 200 次 | 5 |
| Pro | 每月 50,000 次 | 每分钟 600 次 | 25 |
| 方案 | 价格 | 每月调用次数 | 团队席位 |
|---|---|---|---|
| Free | $0 | 100 | 0 |
| Solo | $9/mo | 2,000 | 0 |
| Team | $29/mo | 10,000 | 5 |
| Pro | $79/mo | 50,000 | 25 |
通过 Dodo Payments 计费(名义商户——VAT/GST 由 Dodo 处理)。可随时取消;付费周期结束前仍可使用。
数据源
- Indic NLP 数据集 — 各类 — 打包内容源自公有领域 Unicode 和 India-Post 数据
此服务是对上游数据源的轻量传输、认证和缓存层。每次调用的速率限制经过调整,确保远低于各上游免费层级的服务条款上限。
隐私与 GDPR
- 隐私政策: https://mcp-hub.atlasword.workers.dev/privacy
- 条款: https://mcp-hub.atlasword.workers.dev/terms
- 退款政策: https://mcp-hub.atlasword.workers.dev/refund
- 数据导出:
GET https://indic-normalize-mcp.atlasword.workers.dev/account/export(使用 Bearer 认证)会返回机器可读的 JSON 快照,其中包含你的账户、用量计数器和 Dodo 客户详情。 - 删除: 使用档案中登记的邮箱地址,向
[email protected]发送邮件。
我们仅存储:你的邮箱、生成的 API 密钥、月度调用计数器以及 Dodo 订阅元数据。我们不会记录工具参数或上游响应;短期缓存 TTL 内的内容除外。
架构
- 运行时: Cloudflare Workers(V8 隔离环境,全球边缘网络)。
- 存储: 两个 Cloudflare KV 命名空间 —
<slug>-cache(上游响应缓存)和<slug>-usage(API 密钥、月度计数器、团队名册)。 - 计费: Dodo Payments 实时模式,3 种订阅产品(Solo / Team / Pro),采用 Standard-Webhooks 签名的生命周期事件。
- 可观测性: Cloudflare Workers Analytics;项目组合状态汇总见 mcp-hub status。
- 源代码: TypeScript,通过 Vitest 测试,可使用
wrangler deploy部署。参见本仓库中的src/。
许可证
MIT — 参见 LICENSE。
作者
Prakhar Gupta
- 邮箱:
[email protected] - GitHub: @guptaprakhariitr
状态
- 实时状态页面: https://mcp-hub.atlasword.workers.dev/status
- 机器可读状态: https://mcp-hub.atlasword.workers.dev/status.json
- 源代码仓库: https://github.com/guptaprakhariitr/indic-normalize-mcp
通过 npm 安装(一行命令)
已在 npm 上发布轻量启动器 @insnapsprakhar/indic-normalize-mcp。无需手动复制粘贴 URL:
npx -y @insnapsprakhar/indic-normalize-mcp
也可以将其接入 MCP 客户端:
{
"mcpServers": {
"indic-normalize": {
"command": "npx",
"args": ["-y", "@insnapsprakhar/indic-normalize-mcp"]
}
}
}
这个 npm 包只是一个启动器 — 它会调用 mcp-remote,并将其指向托管端点(https://indic-normalize-mcp.atlasword.workers.dev/mcp)。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。