Tally MCP Server
This server enables interaction with TallyPrime accounting software via MCP tools.
Read financial data: Ledgers, groups, stock items, vouchers (day book and ledger-specific), profit & loss, balance sheet, trial balance, stock summary, bills receivable/payable, voucher types, cost centres, and company info.
Create master data & vouchers: Add ledgers, groups, stock items, and post vouchers (Payment, Receipt, Sales, Purchase, Journal, etc.) with debit/credit entries.
Update records: Modify stock items (group/unit) and update vouchers (replace entries/narration) by type, date, and voucher number.
Delete stock items: Remove stock items only if they have no transactions.
Ad-hoc analysis with SQL cache: Sync Tally data (last 365 days) into a local in-memory SQL database and run read-only SELECT queries for flexible reporting.
Remote & local access: Run as an HTTP server for remote MCP clients (with optional token) or use stdio with Claude Desktop.
Click on "Install 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., "@Tally MCP ServerShow me the profit & loss statement for this month"
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.
Tally MCP Server
A Model Context Protocol (MCP) server that lets Claude read from and write to TallyPrime via its built-in XML/HTTP gateway.
How it works
Claude Desktop <--stdio--> ┐
├─ this MCP server <--HTTP/XML--> TallyPrime (localhost:9000)
Remote MCP client <--HTTP--> ┘Locally, Claude Desktop launches this server as a stdio process. Remotely, it can also run as an HTTP server. Either way, tool calls get translated into Tally's XML request format, sent to Tally's HTTP gateway, and returned as cleaned-up JSON. There's also an optional local SQL cache (PGLite) for ad-hoc queries beyond the fixed report tools.
Related MCP server: freshbooks-mcp-server
Prerequisites
Node.js 18+
TallyPrime installed, running, with a company open
Tally's HTTP gateway enabled:
F1 (Help) > Settings > Connectivity > Client/Server configurationand set TallyPrime acts as toBothorServer, port9000(default).
Setup
npm install
npm run buildConfigure Claude Desktop
Option A — Extension (recommended): package as a .dxt and install
with one click. See docs/EXTENSION_PACKAGING.md.
Option B — manual config: edit your Claude Desktop config file:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Add:
{
"mcpServers": {
"tally": {
"command": "node",
"args": ["D:\\Projects\\Tally-MCP-Server\\dist\\index.js"],
"env": {
"TALLY_URL": "http://localhost:9000"
}
}
}
}Restart Claude Desktop. You should see a hammer/tools icon indicating the
tally server is connected.
Available tools
17 tools total — read (ledgers, stock, groups, voucher types, cost centres,
day book, ledger vouchers, company info, P&L, balance sheet, trial balance,
stock summary, bills receivable/payable), write (create ledger, group,
stock item, voucher), and SQL cache (sync_to_sql, query_sql). Full
reference with args: docs/TOOLS.md.
Dates use DD-MM-YYYY format, matching Tally's convention.
Running remotely (HTTP)
TALLY_MCP_TOKEN=<secret> npm run start:httpDocs
docs/ARCHITECTURE.md — request flow, file responsibilities
docs/TALLY_XML_GUIDE.md — how Tally's XML gateway works, gotchas
docs/TOOLS.md — full tool reference + how to add a new tool
docs/SQL_CACHE.md — the PGLite SQL cache, schema, examples
docs/HTTP_DEPLOYMENT.md — running as a remote HTTP server
docs/EXTENSION_PACKAGING.md — packaging as a
.dxtClaude Desktop Extension
Project structure
src/
tally.ts Tally HTTP client: sends XML, handles connection/timeout errors
clean.ts Normalizes Tally's raw XML->JSON into predictable JSON
templates.ts Renders the Nunjucks XML templates in templates/
db.ts PGLite SQL cache: sync_to_sql / query_sql
tools.ts MCP tool definitions + XML request builders
server.ts Shared MCP Server construction (used by both entry points)
index.ts stdio entry point (local Claude Desktop)
http-server.ts HTTP entry point (remote clients)
templates/
*.xml.njk Nunjucks templates for each Tally XML request shape
manifest.json Claude Desktop Extension (.dxt) manifestEnvironment variables
Variable | Default | Purpose |
|
| Tally's HTTP gateway address |
|
| Port for |
| (unset) | Bearer token required on the HTTP server's |
Troubleshooting
"Could not reach TallyPrime" — Tally isn't running, or the HTTP gateway isn't enabled on port 9000.
"Tally returned an empty response" — Tally is running but no company is open.
create_ledger/create_voucherfails with errors — check that the parent group / ledger names exactly match what exists in Tally (names are case-sensitive and must match exactly).
Roadmap / not yet supported
Editing or deleting existing vouchers/ledgers/masters
Inventory vouchers (Stock Journal, Manufacturing Journal, etc.)
GST-specific reports (GSTR-1, GSTR-3B)
Multi-company support (currently always targets whichever company is open)
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceConnects Tally Prime ERP data to AI assistants via MCP, enabling natural language queries for financial reports, stock summaries, and ledger balances.MIT
- Flicense-qualityAmaintenanceAn MCP server that connects Claude to FreshBooks, enabling reading and management of invoices, clients, expenses, projects, and time entries via natural language.1
- FlicenseAqualityBmaintenanceA standalone MCP server for Beeswax Shares, an SMSF portfolio app. It enables Claude to read portfolio data, recall transactions, upload statements, and propose ledger records for human review.39
- Alicense-qualityBmaintenanceAn MCP server for TallyPrime ERP that fixes common gaps such as hardcoded localhost, lack of connection diagnostics and dry-run safety, missing GST tools, and session state loss, providing a smoother integration with Claude Desktop.4MIT
Related MCP Connectors
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
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/vaijaaaaa/Tally-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server