TallyMind MCP

TallyMind MCP

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.

Category
访问服务器

README

TallyMind — a Claude plugin bundle for TallyPrime

Talk to your TallyPrime books in plain English, from Claude — and turn a client's invoices, bank statements, and receipts into vouchers.

This repo, tally-plugins, is not just an MCP server — it's a full Claude plugin bundle for working with TallyPrime. It's free and open-source, and contains everything the bundle needs in one place:

  • an MCP server (tallymind) that gives Claude a safe, guarded connection to a local TallyPrime install over TallyPrime's own MCP/HTTP-XML gateway
  • two Claude skills built on top of it — tally-mind for conversational reading and guarded writing, and tally-doc-import for turning a client's raw documents into GST-correct vouchers
  • supporting scripts (e.g. a dependency-free spreadsheet reader) and assets those skills rely on

All of it — skills, MCP server, scripts, and config — installs as one plugin. Nothing is sent anywhere except your own computer and Tally.

irm https://raw.githubusercontent.com/Wadhawnaiya/tally-plugins/main/install.ps1 | iex

That one line installs the tallymind MCP server itself and registers it with Claude — no zip files, no editing config JSON by hand, no guessing paths. To also get the two Claude skills (the parts that teach Claude how to use the MCP server well), install the full plugin bundle — see Install below for both routes.


Contents


Why this exists

TallyPrime doesn't talk to AI assistants on its own. A handful of open-source "Tally MCP servers" already exist to bridge the two, but every one we could find shares the same rough edges: a Tally connection hardcoded to localhost (so it breaks the moment Tally runs on a different office PC), no way to tell why a connection failed, no safety net before something gets written into your books, nothing built for GST work specifically, session settings that reset every time the server restarts, and — worst of all for a non-developer — an install process that means downloading a zip file and hand-editing a JSON config file, backslash escaping and all.

TallyMind fixes all of that, and is free for anyone to use, fork, or build on.

What makes TallyMind different

Most existing Tally MCP servers TallyMind
Install Download a zip, manually edit claude_desktop_config.json, restart Claude One PowerShell command does everything
Connecting to Tally on another PC Hardcoded to localhost — breaks if Tally is on a different machine Host and port are configurable (set_connection)
When something's wrong A raw connection error, or silently wrong data tally_doctor tells you plainly what's broken and how to fix it
Posting entries Often "just does it," or leaves safety entirely up to you remembering to back up first Every write is preview-first: nothing touches Tally until you explicitly confirm
GST work Not covered Dedicated GSTR-1/GSTR-3B and mismatch-review tools
Restarting the server Forgets which company/connection you were using Remembers your last connection and company automatically
Finding a ledger by a rough name You have to know the exact spelling Fuzzy search — "VRO" finds "VRO Technology"

What data it can see and touch inside Tally

This matters more than almost anything else in this document, so it gets its own section.

  • TallyMind only ever talks to the TallyPrime instance you point it at, over TallyPrime's own built-in HTTP/XML interface (the same interface Tally's official developer tools use). By default that's localhost:9000 — your own computer, nothing external.
  • Nothing about your Tally data is sent anywhere except to the Claude conversation you're having. There is no cloud relay, no third-party server, no telemetry. TallyMind is a small program that runs entirely on your machine.
  • Read access: whatever company is currently open/loaded in TallyPrime — its ledgers, vouchers, Balance Sheet, Profit & Loss, Trial Balance, Day Book, Stock Summary, outstanding bills, and (best-effort — see below) GST return data. It cannot see companies you haven't opened, and it cannot see anything Tally itself wouldn't show to whatever user account Tally is running as.
  • Write access is real but gated. TallyMind can create/alter ledgers and post vouchers — but never in one step. Every write is a two-stage preview, then confirm: the preview builds the exact change and shows it to you first, and nothing is sent to Tally until you (or Claude, on your explicit instruction) call confirm with that specific preview. There is no tool that mutates Tally data in a single call.
  • GST reporting is honestly best-effort. TallyPrime doesn't publicly document the exact data format its GST reports return over this interface, so TallyMind's GST tools are marked best_effort in their own output and come with a note to cross-check against Tally's own GST screens — TallyMind will not pretend to a level of certainty it doesn't have.
  • You control the scope. set_connection and set_company let you point TallyMind at exactly the Tally instance and company you intend — nothing happens automatically in the background.

What you can ask it to do

TallyMind exposes 20 tools to Claude, grouped here by what they're for. You don't need to know these names — just ask in plain English and Claude picks the right one — but they're listed for anyone who wants the full picture.

Check the connection

  • tally_doctor — is Tally reachable, is a company loaded, plus an honest reminder to confirm you're not on the Educational edition (which silently truncates date ranges).
  • set_connection — point at a specific Tally host/port instead of the default localhost:9000.
  • set_company — set which company subsequent questions apply to.

Read your books

  • list_companies, list_ledgers (with fuzzy name search), get_ledger, list_vouchers
  • get_balance_sheet, get_profit_and_loss, get_trial_balance, get_day_book, get_stock_summary, get_outstanding (overdue receivables/payables)

GST

  • get_gstr1_summary, get_gstr3b_summary — best-effort GSTR summaries for a period
  • find_gst_mismatches — pulls the GST return summary and the Day Book for the same period side by side, so a CA can spot-check them together, rather than fabricating a false-confidence "mismatches found" count Tally's data doesn't reliably support yet

Make changes (always preview first)

  • preview_ledger_change / preview_voucher — build the exact change, return a preview ID, touch nothing
  • confirm_import — the only tool that actually writes to Tally, and only with a valid preview ID

Escape hatch

  • raw_gateway_request — send a raw XML request directly, for anything the above doesn't cover

Importing a client's documents

Alongside tally-mind, this plugin ships a second skill, tally-doc-import, for turning a client's actual paperwork into vouchers instead of drafting them by hand one at a time.

Point it at a folder of a client's documents for a period — invoices, purchase bills, bank statements, expense receipts, credit/debit notes, in whatever mix of PDF, scanned image, or Excel/CSV they happen to arrive in — and ask Claude to process it. It reads every document, works out what kind of transaction each one is, splits out GST correctly (CGST/SGST or IGST, matched to the client's actual tax ledgers), and drafts any ledgers that don't exist yet.

It uses exactly the same guarded write path as everything else in this document: nothing is posted to Tally until every drafted voucher and ledger has been shown to you in one consolidated batch and you've explicitly approved it. Nothing new to trust here beyond preview_*confirm_import — this skill just does the drafting work that used to be manual.

See cowork-plugin/skills/tally-doc-import/SKILL.md for the full workflow, and its references/ for the voucher-type mapping and GST ledger conventions it follows.

Requirements

  • TallyPrime, Silver or Gold edition — not the Educational edition, which silently truncates date ranges and will feed Claude plausible-looking but wrong numbers.
  • Tally's HTTP/XML gateway enabled: in TallyPrime, go to F1 (Help) → Settings → Connectivity → Client/Server configuration, set "TallyPrime acts as" to Server (or Both), and note the port (default 9000).
  • Windows, since TallyPrime itself only runs on Windows.
  • Claude Desktop and/or Claude Code, installed on the same PC as TallyPrime.

Install

There are two routes in, and they're complementary rather than either/or — most people want both.

Route 1: the MCP server (PowerShell, one line)

Open TallyPrime, load your company, and make sure the gateway setting above is on. Then open PowerShell and run:

irm https://raw.githubusercontent.com/Wadhawnaiya/tally-plugins/main/install.ps1 | iex

Here's exactly what that one line does, step by step, so nothing is a mystery:

  1. Checks for Python 3.10+. If it's missing, installs it automatically via winget.
  2. Installs TallyMind itself (pip install, straight from this repository).
  3. Looks for your running Tally gateway at localhost:9000. If it doesn't find one, it asks you once for the right port rather than failing silently.
  4. Registers TallyMind with Claude Desktop by safely reading and rewriting claude_desktop_config.json — your existing config is backed up first, and the file is only ever edited through proper JSON parsing, never by pasting text into it, so it can't get corrupted the way hand-editing sometimes does.
  5. Registers with Claude Code too, if you have it installed.
  6. Runs a connection self-test and tells you plainly whether everything is ready.

When it finishes, fully quit Claude Desktop (from the system tray, not just closing the window) and reopen it, so it picks up the new server.

This route gets you the raw MCP tools (tally_doctor, list_ledgers, preview_voucher, and so on) — enough for Claude to read and write your books if you describe what you want in detail.

Route 2: the full plugin bundle (skills included)

The two Claude skills — tally-mind and tally-doc-import — are what teach Claude the actual procedure for using those MCP tools well (which order to call them in, the sign convention for voucher entries, GST ledger conventions, the preview-then-confirm discipline). They ship as cowork-plugin/ in this repo, pre-packaged as a zip under dist/ (e.g. tallymind-cowork-plugin-v0.2.0.zip) containing the MCP server config, both skills, and their supporting scripts/references together.

Install that zip as a plugin in Claude (Desktop or Code) the same way you'd install any other Claude plugin bundle — this is what actually gets you tally-doc-import's document-to-voucher workflow, not just the bare tools.

Try it without a real client's documents

demo/ ships a complete fictitious client — invoices, bills, a credit note, a debit note, a cash receipt, and a bank statement — sized to exercise every voucher type tally-doc-import handles. Point it at a throwaway/test Tally company, not real books, and follow demo/README.md end to end: process the folder, review the batch, confirm, then check the result with tally-mind.

Check it's working

Ask Claude:

Using TallyMind, run tally_doctor and tell me if I'm connected.

You should get back a plain-language status: whether Tally is reachable, whether a company is loaded, and a reminder about the Educational-edition caveat above.

Example things to ask

  • "Using TallyMind, what's my Trial Balance look like right now?"
  • "Which ledgers have unusually large closing balances?"
  • "Show me overdue debtors past 90 days."
  • "Pull the GSTR-1 and GSTR-3B summary for April 2026 and the Day Book for the same period so I can compare them."
  • "Preview a sales voucher dated today for ₹10,000 against VRO Technology, then show me the preview before you touch anything."
  • "Process the invoices and bank statement in C:\Clients\VRO Technology\July, then show me the batch before posting anything."

How the safety model works

Every tool that only reads data runs freely — there's nothing to protect there. Every tool that writes data works in two separate steps:

  1. Preview (preview_ledger_change or preview_voucher) builds the exact XML that would be sent to Tally and hands you back a preview_id. Nothing has touched Tally yet.
  2. Confirm (confirm_import) is the only tool that actually posts to Tally, and it requires that exact preview_id. A preview can only ever be confirmed once — replaying an old or invalid ID fails rather than silently reposting.

Nothing in TallyMind will ever post a change without both of these steps happening, in order, with your visibility into the preview in between. As always with accounting software: this produces a review-ready change, not a replacement for a qualified professional's review before anything is finalized for compliance or client reporting purposes.

Troubleshooting

"TallyPrime XML gateway unavailable" — Open TallyPrime, load a company, and confirm F1 → Settings → Connectivity → Client/Server is set to Server or Both with the right port. Run tally_doctor again after fixing this.

Claude doesn't see the TallyMind tools at all — Make sure you fully quit and reopened Claude Desktop after installing (a window close isn't enough — quit from the system tray).

Installer says Python or winget isn't available — Install Python 3.10+ manually from python.org, then re-run the install command.

Development

pip install -e ".[dev]"
pytest

install.ps1 is Windows-only and can't be exercised in a Linux dev environment — review it manually and test it on a real Windows + TallyPrime machine before trusting changes to it.

License

MIT — free for anyone to use, modify, and distribute, commercially or otherwise.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选