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.
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-mindfor conversational reading and guarded writing, andtally-doc-importfor 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
- What makes TallyMind different
- What data it can see and touch inside Tally
- What you can ask it to do
- Importing a client's documents
- Requirements
- Install
- Check it's working
- Example things to ask
- How the safety model works
- Troubleshooting
- Development
- License
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_effortin 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_connectionandset_companylet 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 defaultlocalhost:9000.set_company— set which company subsequent questions apply to.
Read your books
list_companies,list_ledgers(with fuzzy name search),get_ledger,list_vouchersget_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 periodfind_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 nothingconfirm_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:
- Checks for Python 3.10+. If it's missing, installs it automatically via
winget. - Installs TallyMind itself (
pip install, straight from this repository). - 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. - 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. - Registers with Claude Code too, if you have it installed.
- 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:
- Preview (
preview_ledger_changeorpreview_voucher) builds the exact XML that would be sent to Tally and hands you back apreview_id. Nothing has touched Tally yet. - Confirm (
confirm_import) is the only tool that actually posts to Tally, and it requires that exactpreview_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
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。