tally-mcp-server
Tally MCP Server
A Model Context Protocol server that exposes Tally (TallyPrime / Tally.ERP 9) accounting data and operations as tools for LLM clients such as Claude Desktop, Claude Code, or any other MCP-compatible client.
It talks to Tally over its built-in HTTP/XML gateway — the same interface used by ODBC connectors and third-party integrations — so no plugin needs to be installed inside Tally itself.
Prerequisites
Tally (TallyPrime or Tally.ERP 9) running locally or on a reachable host.
The Tally XML/HTTP gateway enabled:
In Tally, go to Gateway of Tally > F1 (Help) > Settings > Connectivity.
Ensure "Client/Server configuration" is set up and the port (default
9000) is open. Tally must have a company loaded for most tools to return data.
Node.js 18+.
Install & build
npm install
npm run buildConfiguration
The server reads its Tally connection settings from environment variables:
Variable | Default | Description |
|
| Base URL of the Tally HTTP/XML gateway. |
| (active company) | Company name to scope requests to (optional). |
Running
npm startThis starts the server on stdio, ready to be attached to an MCP client.
Claude Desktop / Claude Code configuration
Add to your MCP client's server config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"tally": {
"command": "node",
"args": ["/absolute/path/to/tally-mcp-server/dist/index.js"],
"env": {
"TALLY_URL": "http://localhost:9000",
"TALLY_COMPANY": "My Company Name"
}
}
}
}Available tools
Tool | Description |
| List companies currently open in Tally. |
| List all ledger accounts with balances. |
| Get a single ledger's details/balance by name. |
| List ledger groups (chart-of-accounts hierarchy). |
| List inventory items with closing stock and value. |
| Get a single stock item's details by name. |
| List transaction vouchers within a date range, optionally by type. |
| Create a new voucher (Payment, Receipt, Journal, Sales, Purchase, ...). |
| Fetch the Balance Sheet as of a date. |
| Fetch the Profit & Loss statement over a date range. |
| Fetch the Trial Balance as of a date. |
| Fetch the Day Book over a date range. |
Development
npm run dev # run directly with tsx, no build step
npm run watch # incremental tsc buildNotes & limitations
Tally's XML gateway must be reachable from wherever this server runs; if Tally is on another machine, expose the configured port on your network and point
TALLY_URLat it.Only one company can be actively targeted per server instance (
TALLY_COMPANY); to work with another company, restart with a different value or omit it to use whatever company is currently open in Tally.create_voucherrequires ledger entries to balance (debits == credits); the server checks this client-side before submitting, but Tally performs its own validation as well (e.g. required masters must already exist).
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/visheshStallion/tally-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server