Skip to main content
Glama
tally-mcp-server

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

  1. Tally (TallyPrime or Tally.ERP 9) running locally or on a reachable host.

  2. 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.

  3. Node.js 18+.

Related MCP server: Tally Prime MCP Server

Install & build

npm install
npm run build

Configuration

The server reads its Tally connection settings from environment variables:

Variable

Default

Description

TALLY_URL

http://localhost:9200

Base URL of the Tally HTTP/XML gateway.

TALLY_COMPANY

(active company)

Company name to scope requests to (optional).

Running

npm start

This 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

List companies currently open in Tally.

list_ledgers

List all ledger accounts with balances.

get_ledger

Get a single ledger's details/balance by name.

list_groups

List ledger groups (chart-of-accounts hierarchy).

list_stock_items

List inventory items with closing stock and value.

get_stock_item

Get a single stock item's details by name.

list_vouchers

List transaction vouchers within a date range, optionally by type.

create_voucher

Create a new voucher (Payment, Receipt, Journal, Sales, Purchase, ...).

get_balance_sheet

Fetch the Balance Sheet as of a date.

get_profit_and_loss

Fetch the Profit & Loss statement over a date range.

get_trial_balance

Fetch the Trial Balance as of a date.

get_day_book

Fetch the Day Book over a date range.

Development

npm run dev     # run directly with tsx, no build step
npm run watch   # incremental tsc build

Notes & 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_URL at 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_voucher requires 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 tools
create_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

    A4/5.0

    Scored across 12 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables Large Language Models to access and query Tally Prime ERP data, including financial reports, masters, and inventory summaries, via the Model Context Protocol.
      30 npm
      109
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Bridges Tally Prime ERP with AI assistants, enabling querying financial reports, managing masters, creating vouchers, and analyzing GST data through natural language.
      30 npm
      AGPL 3.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Gives AI models native-level control over TallyPrime ERP, covering 169+ tools across all functional modules including masters, vouchers, reports, GST, payroll, and more.
      30 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Exposes 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.
      6
      30 npm
      MIT