Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Tally Prime

FreeNot checked

MCP server that lets Claude read, create, alter and delete TallyPrime data (vouchers, invoices, ledgers, stock items) with an automatic backup before every chan

GitHubEmbed

About

MCP server that lets Claude read, create, alter and delete TallyPrime data (vouchers, invoices, ledgers, stock items) with an automatic backup before every change.

README

An MCP server that lets Claude read, add, modify and delete data in TallyPrime over Tally's XML port. It covers vouchers, item invoices, stock journals, ledgers, stock items, groups, stock groups, godowns, units and cost centres.

Before every change it backs up the company data folder to Desktop\Tally Backups. Changing an opening balance or opening stock always asks you first.

⬇ Download the latest release (tally-prime-mcp-1.1.0.mcpb, one-click install for Claude Desktop)

⚠️ This tool writes to your books of account. Test it on a copy of your company first, keep backups switched on, and review what Claude proposes before approving deletes or opening-balance changes. Provided as-is under the MIT License.


1. Set up TallyPrime

  1. Open TallyPrime and load the company.
  2. Press F1 (Help) → Settings → Connectivity.
    • TallyPrime acts as = Server (or Both)
    • Note the Port number (default is 9000).
  3. Keep Tally open whenever you want Claude to use it.

2. Install in Claude Desktop (easiest, nothing else needed)

  1. Install the Claude Desktop app and sign in.
  2. Download tally-prime-mcp-1.1.0.mcpb from the Releases page.
  3. Double-click it, then click Install.
  4. In the extension's settings:
Setting Default Meaning
Tally host localhost Host or IP of the PC running TallyPrime
Tally port 9001 Change this to the port from step 1 (usually 9000)
Read-only mode off Blocks every write tool
Backup before every change on Copies the company data folder before each create/alter/delete
Backup folder Desktop\Tally Backups Where backups go
Backups to keep per company 30 Older automatic backups are removed (0 = keep all; each is about the size of the company folder)
  1. Start a new chat and ask: "Check Tally status". It should answer "TallyPrime Server is Running" and list your company.

3. Claude Code or another MCP client (optional)

Needs Node.js 18 or newer.

git clone https://github.com/gargcamanish-tech/tally-prime-mcp.git
cd tally-prime-mcp
npm install

Claude Code (change the path and port):

claude mcp add --scope user tally-write -e TALLY_PORT=9000 -- node "C:\path\to\tally-prime-mcp\src\index.js"

Other clients, add to their MCP config:

"tally-write": {
  "command": "node",
  "args": ["C:\\path\\to\\tally-prime-mcp\\src\\index.js"],
  "env": { "TALLY_PORT": "9000" }
}

Environment variables: TALLY_HOST, TALLY_PORT, TALLY_COMPANY, TALLY_READONLY=true, TALLY_AUTO_BACKUP=false, TALLY_BACKUP_DIR, TALLY_BACKUP_KEEP, TALLY_TIMEOUT_MS (default 180000).


Tools (21)

Area Tools
Status & backups tally_status, backup_data, list_backups
Read list_ledgers, list_stock_items, list_masters, get_master, list_voucher_types, list_vouchers, get_voucher
Vouchers create_voucher (accounting, item invoice, stock journal), alter_voucher, delete_voucher
Ledgers create_ledger, alter_ledger
Stock items create_stock_item, alter_stock_item
Other masters create_master, alter_master (group, stock group, godown, unit, cost centre), delete_master (any type)
Advanced import_raw_xml

Safety rules built in

  • Backup first: each write copies the company folder (path read from Tally) to Desktop\Tally Backups\<company> <date time> <tool> and checks every file was copied. If the backup fails, the change is not made.
  • Opening balance / opening stock: changing a ledger's opening balance, or a stock item's opening quantity, rate, value or godown, takes two steps. The first call writes nothing and returns the current vs new figures; Claude must show you and get your yes. Only then is it repeated with confirm_opening_change: true.
  • Deletes need confirm: true. Every write tool also supports dry_run: true to preview the XML.
  • Alter changes only the fields you name; everything else is kept: GST and bank details, addresses, bill references.
  • Read-only mode (TALLY_READONLY=true) blocks all writes.

Restoring a backup

Close TallyPrime, then copy the numbered folder (e.g. 021047) from inside the backup over the company's data folder (tally_status shows the path). Reopen Tally.

Examples you can ask Claude

  • "Record a payment of ₹12,500 from HDFC Bank to Rent on 1 Oct 2025, narration 'October rent'."
  • "Make a sales invoice to S P Enterprises: 1200 KG SUGAR-17011490-5% @ 42.05, SALES RD, CGST and SGST 2.5% each."
  • "Change the quantity in invoice A908 to 1000 KG and recompute the taxes."
  • "Transfer 50 KG sugar from Main Location to Godown 2 on 1 Oct 2025."
  • "Change the GST rate of SUGAR-17011490-5% to 12% and the HSN to 17019990."
  • "Create godown 'Shop' and stock group 'Sweeteners'; move the sugar item into it."

Good to know

  • Educational (unlicensed) TallyPrime only accepts entry dates on the 1st, 2nd and 31st. Other dates fail with "Voucher date is missing".
  • GST amounts are not calculated by Tally on import; pass the CGST/SGST/IGST ledger lines (Claude can compute them).
  • Altering or deleting a voucher needs a voucher number that is unique on that date.
  • list_vouchers takes about 5 s per month of data; financial years are assumed to start in April.

Verified on TallyPrime 6.1

Tested on a live GST trading company; all test objects were removed afterwards. test/e2e.mjs runs 36 checks through the MCP protocol, and all pass:

  • ledger create, rename and partial alter (address and GSTIN kept);
  • opening-balance confirmation;
  • units, stock groups, godowns and groups;
  • stock item create, rename, GST/HSN change and opening-stock confirmation (10 → 20);
  • journal, GST item invoice with bill reference, and stock journal godown transfer: each created, altered and deleted;
  • closing stock correct;
  • an automatic backup before every write;
  • every master type deleted, with Tally still running.

Things learned about this Tally version

  • A voucher is identified by date + voucher number + type. Matching by GUID/REMOTEID silently creates a duplicate, so alter/delete refuse vouchers with no number, or with a number repeated on the same date.
  • Alter must send the whole voucher, so the server fetches it, changes only what was asked, and sends it back.
  • Names use LANGUAGENAME.LIST. The older top-level NAME.LIST rename, followed by a delete, crashed Tally (Memory Access Violation). The current method was retested several times without a crash.
  • Opening stock lives in the item's godown batch allocation; the item-level figures alone are ignored on alter.

Development

npm install
TALLY_PORT=9000 TALLY_BACKUP_DIR=<temp folder> npm run e2e   # creates, alters and deletes test entries
npx @anthropic-ai/mcpb pack . tally-prime-mcp.mcpb

The e2e test expects ledgers named MISC, ROUND OFF, SALES RD, CGST, SGST and a voucher type SALES GST-RD in the active company; adjust test/e2e.mjs for your own masters.

License

MIT © 2026 Manish Bansal

from github.com/gargcamanish-tech/tally-prime-mcp

Install Tally Prime in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install tally-prime

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add tally-prime -- npx -y github:gargcamanish-tech/tally-prime-mcp

Step-by-step: how to install Tally Prime

FAQ

Is Tally Prime MCP free?

Yes, Tally Prime MCP is free — one-click install via Unyly at no cost.

Does Tally Prime need an API key?

No, Tally Prime runs without API keys or environment variables.

Is Tally Prime hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Tally Prime in Claude Desktop, Claude Code or Cursor?

Open Tally Prime on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Tally Prime with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs