Skip to main content
Glama
vaijaaaaa

Tally MCP Server

by vaijaaaaa

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 configuration and set TallyPrime acts as to Both or Server, port 9000 (default).

Setup

npm install
npm run build

Configure 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.json

  • macOS: ~/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:http

See docs/HTTP_DEPLOYMENT.md.

Docs

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) manifest

Environment variables

Variable

Default

Purpose

TALLY_URL

http://localhost:9000

Tally's HTTP gateway address

PORT

3939

Port for npm run start:http

TALLY_MCP_TOKEN

(unset)

Bearer token required on the HTTP server's /mcp endpoint if set

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_voucher fails 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)

Install Server
F
license - not found
A
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

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

  • A
    license
    -
    quality
    B
    maintenance
    Connects Tally Prime ERP data to AI assistants via MCP, enabling natural language queries for financial reports, stock summaries, and ledger balances.
    MIT
  • F
    license
    -
    quality
    A
    maintenance
    An MCP server that connects Claude to FreshBooks, enabling reading and management of invoices, clients, expenses, projects, and time entries via natural language.
    1
  • F
    license
    A
    quality
    B
    maintenance
    A 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
  • A
    license
    -
    quality
    B
    maintenance
    An 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.
    4
    MIT

View all related MCP servers

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

View all MCP Connectors

Latest Blog Posts

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