india-stack-mcp
Provides tools for interacting with Zoho Books, enabling management of organizations, contacts, invoices, items, customer payments, and chart of accounts, with dry-run writes and idempotency.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@india-stack-mcpValidate GSTIN 27AAACP1234F1Z5"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
india-stack-mcp
Production-grade MCP servers for Indian enterprise systems. Agents that can do books and file taxes in India — starting with TallyPrime, the accounting system behind millions of Indian SMEs.
Why
Frontier agents can reason about GST, but they cannot touch Tally. There is no modern API, no OAuth, no SDK — just a local XML gateway that punishes the unprepared. This project is the missing connector layer: typed tools, dry-run-first writes, idempotency, human approval hooks, and a tamper-evident audit trail, packaged as standard MCP servers that work in Claude Desktop, Claude Code, Cursor, Codex, or any MCP client.
Related MCP server: Zoho Books MCP Server
Status
Connector | Scope | State |
| Companies, ledgers, vouchers (7 types), day book, trial balance | alpha |
| Organizations, contacts, invoices, items, payments, chart of accounts | alpha |
| GSTIN validation, e-invoice (IRN) payloads + NIC-style encryption, GSTR-2B reconciliation | alpha |
Quick start
npm install
npm run buildPoint Claude Desktop / Cursor at the built server (see
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": "..."
}
}
}
}Requirements on the Tally side: TallyPrime running locally with XML serving enabled on
port 9000 (F1 → Settings → Connectivity). See docs/tally-xml-notes.md.
Zoho Books needs a self-client OAuth refresh token with Books scopes
(ZohoBooks.fullaccess.all or narrower), created at the Zoho API Console. Credentials can
also live in a file-based vault instead of env vars (CredentialVault in core).
Tools (27)
Tally (12) — Reads: 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. Writes: tally_create_ledger,
tally_create_voucher (7 voucher types), tally_delete_voucher.
Zoho Books (11) — Reads: zoho_list_organizations, zoho_list_contacts,
zoho_get_contact, zoho_list_invoices, zoho_get_invoice, zoho_list_items,
zoho_chart_of_accounts. Writes (dry-run by default): zoho_create_contact,
zoho_create_invoice, zoho_create_item, zoho_create_customer_payment.
GST ops (4) — gst_validate_gstin (mod-36 checksum, state, PAN/entity type),
gst_einvoice_build (canonical v1.01 payload with tax splits + round-off),
gst_einvoice_generate (IRN via pluggable IRP client; NIC-style encrypted envelopes:
RSA-wrapped SEK + AES-256-CBC + HMAC-SHA256), gst_reconcile_2b
(matched/mismatch/missing classification across your purchase register vs GSTR-2B,
with ITC-at-risk quantification).
Every write returns the exact upstream request body as a preview until you pass
dry_run: false. Retries with the same idempotency_key never double-post.
Safety model
Writes default to preview; committing requires explicit opt-in.
Vouchers are balance-checked client-side before any network call.
Every invocation appends a redacted, hash-chained audit record (
INDIA_STACK_AUDIT_LOG).Destructive tools can require human approval via a pluggable
Approver.
See docs/architecture.md for the full design.
HTTP mode
npm run start -w @india-stack/demo-host # POST http://localhost:8787/mcp/tallyDevelopment
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 testLicense
Apache-2.0
This server cannot be deployed
Maintenance
Related MCP Connectors
Malaysian SME accounting, e-Invoice and payroll for your AI. 64 tools; writes are approved drafts.
India GST e-invoicing for AI agents - generate, query, cancel IRNs at the IRP via a GSP. Stateless.
Agent-native security, trust, reliability, data and procurement tools for AI workflows.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to read and write Cynco accounting data, including querying books, creating invoices, reconciling transactions, and generating financial reports.7 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Zoho Books accounting tasks such as invoices, contacts, expenses, and sales orders through natural language.39MIT
- FlicenseNot gradedqualityCmaintenanceGives AI models native-level control over TallyPrime ERP, covering 169+ tools across all functional modules including masters, vouchers, reports, GST, payroll, and more.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to generate India GST e-invoices (IRN) via Sandbox GSP, computing tax splits automatically.MIT