india-stack-mcp
india-stack-mcp
面向印度企业系统的生产级 MCP 服务器。能够做账和报税的智能体——从 TallyPrime 开始,这是支撑数百万印度中小企业的会计系统。
为什么
前沿智能体可以理解 GST,但它们无法触达 Tally。没有现代 API、没有 OAuth、没有 SDK——只有一个惩罚毫无准备者的本地 XML 网关。本项目正是缺失的连接层:类型化工具、默认先试运行再写入、幂等性、人工审批钩子,以及防篡改审计追踪,打包为标准 MCP 服务器,可在 Claude Desktop、Claude Code、Cursor、Codex 或任何 MCP 客户端中使用。
状态
连接器 | 范围 | 状态 |
| 公司、科目、凭证(7 种类型)、日记账、试算平衡表 | alpha |
| 组织、联系人、发票、商品、付款、会计科目表 | alpha |
| GSTIN 验证、电子发票(IRN)载荷 + NIC 风格加密、GSTR-2B 对账 | alpha |
快速开始
npm install
npm run build将 Claude Desktop / Cursor 指向构建好的服务器(参见
examples/claude_desktop_config.json):
{
"mcpServers": {
"tally": {
"command": "node",
"args": ["<abs-path>/packages/connector-tally/bin/tally-mcp.js"],
"env": {
"TALLY_URL": "http://localhost:9000",
"TALLY_COMPANY": "Your Company Pvt Ltd"
}
},
"zoho": {
"command": "node",
"args": ["<abs-path>/packages/connector-zoho/bin/zoho-mcp.js"],
"env": {
"ZOHO_CLIENT_ID": "...",
"ZOHO_CLIENT_SECRET": "...",
"ZOHO_REFRESH_TOKEN": "...",
"ZOHO_DC": "in",
"ZOHO_ORGANIZATION_ID": "..."
}
}
}
}Tally 侧的要求:本地运行 TallyPrime 并在端口 9000 上启用 XML 服务(F1 → 设置 → 连接)。参见 docs/tally-xml-notes.md。
Zoho Books 需要一个具有 Books 作用域(ZohoBooks.fullaccess.all 或更窄)的自客户端 OAuth 刷新令牌,在 Zoho API 控制台创建。凭据也可以存放在基于文件的保险库中,而非环境变量(core 中的 CredentialVault)。
工具(27 个)
Tally(12 个) — 读取:tally_list_companies、tally_get_company、tally_search_ledgers、
tally_get_ledger、tally_day_book、tally_trial_balance、tally_ledger_balances、
tally_list_voucher_types、tally_find_vouchers。写入:tally_create_ledger、
tally_create_voucher(7 种凭证类型)、tally_delete_voucher。
Zoho Books(11 个) — 读取:zoho_list_organizations、zoho_list_contacts、
zoho_get_contact、zoho_list_invoices、zoho_get_invoice、zoho_list_items、
zoho_chart_of_accounts。写入(默认试运行):zoho_create_contact、
zoho_create_invoice、zoho_create_item、zoho_create_customer_payment。
GST 操作(4 个) — gst_validate_gstin(mod-36 校验和、邦、PAN/实体类型)、
gst_einvoice_build(规范 v1.01 载荷,含税额拆分 + 四舍五入)、
gst_einvoice_generate(通过可插拔 IRP 客户端生成 IRN;NIC 风格加密信封:
RSA 包裹的 SEK + AES-256-CBC + HMAC-SHA256)、gst_reconcile_2b
(对采购登记簿与 GSTR-2B 进行匹配/不匹配/缺失分类,并量化 ITC 风险)。
每个写入工具在您传入 dry_run: false 之前,都会返回精确的上游请求体作为预览。使用相同 idempotency_key 重试绝不会重复提交。
安全模型
写入默认预览;提交需要显式选择加入。
凭证在任何网络调用之前都会在客户端进行余额检查。
每次调用都会追加一条脱敏的哈希链审计记录(
INDIA_STACK_AUDIT_LOG)。破坏性工具可以通过可插拔的
Approver要求人工审批。
完整设计参见 docs/architecture.md。
HTTP 模式
npm run start -w @india-stack/demo-host # POST http://localhost:8787/mcp/tally开发
npm run test # unit + golden-file tests (no Tally needed)
TALLY_LIVE=1 npm run test:live # hits a real local TallyPrime
npm run lint && npm run typecheck && npm test许可证
Apache-2.0
This server cannot be installed
Maintenance
Related MCP Connectors
India GST e-invoicing for AI agents - generate, query, cancel IRNs at the IRP via a GSP. Stateless.
AI agents for bookkeeping, reconciliation, and financial close for SMBs.
See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rishiksaib/india-stack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server