tally-mcp-server
This MCP server lets LLM clients read and write TallyPrime/Tally.ERP 9 accounting data through Tally's HTTP/XML gateway.
List open Tally companies.
List and retrieve ledger accounts, groups, and balances.
List and retrieve inventory/stock items with closing stock and value.
List transaction vouchers by date range and optional voucher type.
Create balanced accounting vouchers such as Payment, Receipt, Journal, Contra, Sales, and Purchase.
Fetch reports including Balance Sheet, Profit & Loss, Trial Balance, and Day Book.
Scope requests to a specific company with
TALLY_COMPANYand connect viaTALLY_URL.
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., "@tally-mcp-server show me the trial balance as of today"
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 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
9200) is open. Tally must have a company loaded for most tools to return data.
Node.js 18+.
Related MCP server: Tally Prime MCP Server
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:9200",
"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).
Available Tools
12 toolscreate_voucherA
Create a new accounting voucher (e.g. Payment, Receipt, Journal, Contra, Sales, Purchase) in the active Tally company. Provide the full set of ledger entries; debits and credits must balance.
Inputs: date (required), entries (required), voucherType (required), narration, +2 more.
get_balance_sheetB
Fetch the Balance Sheet report for the active company as of a given date.
Inputs: asOfDate.
get_day_bookA
Fetch the Day Book (chronological transaction listing) for the active company over a date range.
Inputs: toDate, fromDate.
get_ledgerA
Get details and current balance for a single ledger account by exact name.
Inputs: name (required).
get_profit_and_lossA
Fetch the Profit and Loss statement for the active company over a date range.
Inputs: toDate, fromDate.
get_stock_itemB
Get details for a single stock item by exact name.
Inputs: name (required).
get_trial_balanceA
Fetch the Trial Balance report for the active company as of a given date.
Inputs: asOfDate.
list_companiesA
List the companies currently open/loaded in Tally.
Inputs: no named parameters.
list_groupsA
List all ledger groups (account classification hierarchy, e.g. Sundry Debtors, Current Assets) in the active company.
Inputs: no named parameters.
list_ledgersA
List all ledger accounts (chart of accounts) in the active Tally company, including opening/closing balances.
Inputs: nameContains.
list_stock_itemsA
List inventory/stock items in the active Tally company, including closing stock quantity and value.
Inputs: nameContains.
list_vouchersB
List transaction vouchers (Sales, Purchase, Payment, Receipt, Journal, etc.) in the active company within a date range.
Inputs: toDate (required), fromDate (required), voucherType.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Every tool maps to a distinct resource or report: list/get for ledgers and stock items, list for companies/groups/vouchers, and separate tools for each financial report. There is no meaningful overlap or ambiguity between tool purposes.
All tool names follow a consistent verb_noun pattern using list_, get_, or create_. This makes the tool set predictable and easy for an agent to navigate.
Twelve tools is well within the ideal range and each tool earns its place for a Tally accounting integration. The count covers both master data queries, transaction listing/creation, and core financial reports without unnecessary bloat.
The tool set provides strong coverage for reading companies, ledgers, stock items, vouchers, and financial reports, plus creating vouchers. Missing operations like editing or deleting vouchers, viewing individual voucher details, or creating ledgers are minor gaps for an integration focused on retrieval and transaction entry.
Related MCP Connectors
AI for Tally Prime and Tally ERP 9. Hosted MCP server to ask your accounts in any language.
Ask about your TallyPrime books: who owes you, what you owe, sales, stock, GST and 40+ reports.
Malaysian SME accounting, e-Invoice and payroll for your AI. 77 tools; writes are approved drafts.
Read and write Sage Intacct from Claude or ChatGPT. Write tools are flagged for approval.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables Large Language Models to access and query Tally Prime ERP data, including financial reports, masters, and inventory summaries, via the Model Context Protocol.30 npm109MIT
- AlicenseNot gradedqualityBmaintenanceBridges Tally Prime ERP with AI assistants, enabling querying financial reports, managing masters, creating vouchers, and analyzing GST data through natural language.30 npmAGPL 3.0
- AlicenseNot gradedqualityDmaintenanceGives AI models native-level control over TallyPrime ERP, covering 169+ tools across all functional modules including masters, vouchers, reports, GST, payroll, and more.30 npmMIT
- AlicenseAqualityDmaintenanceExposes TallyPrime accounting data to MCP-compatible clients via Tally's XML HTTP API. Enables listing companies, ledgers, groups, stock items, day book vouchers, and outstanding balances.630 npmMIT