Reads TallyPrime for your AI assistant; posts only vouchers you approve. Windows, Apple Silicon Mac.
Runs on your machine from its package; the steps are below.
At most: creates or changes data: records, files, settings.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Distributed as an MCP bundle (`https://github.com/ComplyEaze/bridge/releases/download/mcp-v0.5.1/bridge-tally-mcp-v0.5.1-windows-x64.mcpb`) — download it and import the bundle in your MCP client.
Distributed as an MCP bundle (`https://github.com/ComplyEaze/bridge/releases/download/mcp-v0.5.1/bridge-tally-mcp-v0.5.1-macos-arm64.mcpb`) — download it and import the bundle in your MCP client.
ComplyEaze Bridge is an open-source (Apache-2.0) TallyPrime (also written Tally Prime) MCP server for Claude Desktop. It connects Claude Desktop to the TallyPrime running on your own computer, and it is built for chartered accountants, CA firms and accountants. What Claude reads from your books goes to your AI provider as part of the chat. You can ask about the trial balance, outstanding receivables and payables with ageing, ledger movement and vouchers, the purchase and sales registers, the stock summary, and the Profit and Loss and Balance Sheet (a book with stock items is expected to be refused for these two). It checks ledger names before you post. For bank statement to TallyPrime vouchers, it proposes Payment, Receipt and Contra vouchers from a password-protected SBI, HDFC or Union Bank of India statement PDF, and it prepares Journal, Payment, Receipt and Contra vouchers as an import file that you review and import into TallyPrime yourself. Posting is off by default, so as installed it never posts to TallyPrime: it reads from it and prepares files on your computer. If you turn posting on in the extension, it posts vouchers one at a time, after you approve each one.
Tally Solutions also offers its own TallyPrime MCP plug-in for Claude Desktop; its help pages (last updated 18 September 2026) list tools in six groups: company, master, accounting, inventory, outstanding and transaction. ComplyEaze Bridge is not made by, or affiliated with, Tally Solutions, and we have not run the two side by side. TallyPrime also has its own Bank Statement import, which takes statement files in the formats Tally lists for each bank.
Current release: mcp-v0.5.1 (9 October 2026),
for Windows x64 and Apple Silicon Macs, as a Claude Desktop extension (an .mcpb
file); it has not been run in other MCP clients. We check each release before
we publish it: the release check confirms that each package launches, lists its
tools and parses a synthetic encrypted bank statement. It does not run against
TallyPrime, and nothing we can run covers every
Tally edition, set of books or setting. What has been run against a real
TallyPrime, and what has not, is listed below.
Install it · What changed ·
Security and privacy ·
How to connect Claude to TallyPrime ·
How to choose a TallyPrime MCP server safely
Not yet code-signed; your computer may warn you before opening it.
Try asking (on a test company first):
Its tools. Release 0.5.1 installs these 23, in name order. None of them changes your TallyPrime books, and every call adds a receipt line, with no figures, to a log on this computer.
| Tool | What it gives you | What it writes besides that receipt |
|---|---|---|
balance_sheet | The Balance Sheet for a date range, by primary group, from TallyPrime’s Trial Balance (a book with stock items is expected to be refused) | Nothing |
build_import_xml | Checks a Journal, Payment, Receipt or Contra batch and writes an import file | An import file and a ledger record on this computer |
cash_flow | Tally’s own Cash Flow for whole months: the month-wise movement of the cash and bank ledgers, returned only after its net total matches the trial balance; the split into months is Tally’s own and is not checked (not a cash flow statement under AS 3) | Nothing |
egress_log | The receipts ComplyEaze Bridge keeps of its own tool calls, with no figures | Nothing |
ledger_masters | Ledgers with their opening balances; optionally GSTIN, PAN and other party details | Nothing |
ledger_movement | A ledger’s opening, debits, credits and closing for a period | Nothing |
list_companies | The companies loaded in TallyPrime (start here) | Nothing |
local_data_report | What ComplyEaze Bridge keeps on this computer | Nothing |
masters | Voucher types, godowns, units, stock groups, cost centres, cost categories or account groups | Nothing |
outstandings | Receivables and payables with ageing, the top parties and the open bills | Nothing |
parse_bank_statement | Reads a password-protected SBI, HDFC or Union Bank of India statement PDF and proposes Payment, Receipt and Contra vouchers | A private proposals file on this computer |
profit_and_loss | The Profit and Loss for a date range, by primary group (a book with stock items is expected to be refused) | Nothing |
purchase_register | Purchase and Debit Note vouchers that touch a ledger under Duties & Taxes, as the books record them (not a GST return) | Nothing |
read_evidence | ComplyEaze Bridge’s own recent reads, as fingerprints, with no figures | Nothing |
sales_register | Sales and Credit Note vouchers that touch a ledger under Duties & Taxes, as the books record them (not a GST return) | Nothing |
stock_summary | The closing stock value of each item as of a 31 March, values only; small books only (a book with many masters of any kind is refused, and so is any other date); only the year ending 31 March 2026 has been checked | Nothing |
tally_status | Whether TallyPrime’s gateway answers, and which companies are loaded | Nothing |
trial_balance | The ledger-wise Trial Balance for a date range | Nothing |
validate_masters | Checks ledger names against the live book before you build an import file | Nothing |
verify_import | Reads back a batch you imported by hand in TallyPrime | Proof files and status records on this computer |
voucher_presence | Which proposed vouchers are already in the book | Nothing |
voucher_schema | The voucher-file format, without asking TallyPrime | Nothing |
vouchers | The vouchers in a period. Search by voucher number, reference, narration or amount, and summaries by ledger, month, voucher type, group or primary group, are in release 0.5.0 and not in 0.4.2 (search and the first three summaries checked once, and the group and primary-group summaries in a second run, on a synthetic book of 67 vouchers; not checked on a large book) | Nothing |
With posting turned on in the extension, two more appear: post_import posts one saved voucher after you approve it in a
ComplyEaze Bridge window, and acknowledge_post_review asks you, in its own window, to record that you reviewed a posted voucher
whose ledger now points to a different master.
terms_not_accepted until you do. (In 0.5.0, after an
update from 0.4.2, Claude Desktop may not start the extension: on a Mac with an
error that does not mention the Terms, on one Windows computer with no error; #1413.)Each line below is recorded in the repository or on the linked issue or pull request, unless marked as reported by the owner. Each ran on licensed TallyPrime Silver 7.1 and synthetic companies unless stated. The MCP guide and ADR 0004 hold the full record.
tally_status,
vouchers, validate_masters, purchase_register, stock_summary and
local_data_report answered. One voucher post was declined in the Windows
approval window and nothing was sent; one was approved, and one Journal was
posted and then verified by verify_import. The same candidate's macOS build
was started and read the company list, and in Claude Desktop on macOS its
tools loaded in a chat. The record is the maintainer's dated notes and
screenshots, kept privately. This was one run, not a controlled test of each
key of the window.tally_status and list_companies then answered against
licensed TallyPrime Silver 7.1 holding the lab's own synthetic companies.
The record is our dated notes, kept privately. What was not run:
the published file is built again on another runner, and its program file
differs from the one tested. We ran both builds without Tally: each reports
version 0.4.1, lists 21 tools and gives the same answer to tally_status. We
have not installed the published file in Claude Desktop.tally_status and list_companies then
answered against licensed TallyPrime Silver 7.1 holding the lab's own
companies. The record is our dated notes, kept privately. What was not run:
the published file is built again on another runner, and its program file
differs from the one tested. We ran the published Mac file without Tally: it
reports version 0.4.2, lists 22 tools with posting off (24 with it on), and
refuses a call with the Terms setting off. We have not installed the
published file in Claude Desktop, and nobody on our side has installed the
Windows package in Claude Desktop on a Windows PC.tally_status answered,
though the assistant first called a leftover second entry for the same
extension, which failed the same way; after Claude Desktop was quit and reopened there was one
connector and the company list was returned. The record is the maintainer's
dated notes, kept privately. What was not run: the published file, quitting and
reopening without ticking the box, installing over a release older than 0.4.2,
a fresh install, and Windows.BRIDGE_TERMS_ACCEPTED set to true did not change that: the program's own value stayed false. The record is on
#1436. What was not run: a read of a live Tally with it, the published file, and Windows.d744d25a (an earlier commit than the published file; later commits reworded some tool texts and the notes): a fresh install; an update from 0.4.2 and from 0.5.0 (as an update leaves it, and with
the Terms ticked); a user-level BRIDGE_TERMS_ACCEPTED set to true; the company list; one bank-statement import
file of six vouchers, built under 0.5.0 and under this build and compared, and this build's file imported by hand and read back (the verification found
all six, the narrations were read back, and an August trial balance agreed with Tally's own screen; a first build under 0.5.0 into the
company, which then held ledgers but no voucher, was refused as empty_book_first_import, so one more ledger and one 1 April voucher were
imported into Tally outside ComplyEaze Bridge first, and that voucher is in the trial balance); an unchanged
re-import of that file (matched to the six vouchers, none added); and a switched-off extension through two updates (it stayed off, with no tool and no error in the chat; switching it on was enough).
Then steps 1 and 2 again on the CI build of the merged commit b91038a9, and step 1 on the published 0.5.1 file
(checked against its .sha256 file and its build attestation), with Tally closed. The published 0.5.0 file over
0.4.2 was not started on this computer: the chat had no ComplyEaze Bridge tool and showed no error. What was not
run: a changed re-import, steps 2 to 11 on the published file, posting, and other Windows versions, Tally editions
or Claude Desktop builds. The record is the contributor's reports on #1413.Not yet run by us in a controlled test: posting with a published package
against a live TallyPrime; each way of declining in the Windows approval window
(one was tried); the tools answering through Claude Desktop on macOS after the
Terms are accepted (tally_status and list_companies answered on a CI build
of 0.4.1, again on a CI build of 0.4.2 and on one Mac on a CI build of 0.5.0); posting on TallyPrime Education; posting on TallyPrime Gold
with its approval step recorded. Each release package is built and launched,
its tool list checked and a synthetic encrypted bank statement parsed, on
hosted CI runners for Windows x64 and Apple Silicon Mac.
masters read are refused; so is a read of vouchers,
ledger movement, either register or another date-window read whose window starts
or ends on a day other than the 1st, 2nd or 31st; so is an import file or a post
with a voucher dated on any other day (posting on Education has not been run)It is aimed at a practising accountant or a CA firm that already keeps client books in TallyPrime and wants to ask questions of them, or post entries into them, through an AI assistant such as Claude Desktop.
What it does today
Whether writing is on depends on how you installed it. Everything above is reading. When writing is off, the write tools do not merely refuse — they are absent from the tool list entirely, so an assistant cannot see that they exist.
post_import, which posts one saved voucher of those types; every
posting still waits for your approval in a separate Bridge dialog. Leave it
off unless you accept those risks. Voucher file preparation and bank-statement
parsing, which write nothing to Tally, stay available with the setting off.
If you installed an earlier version, check the setting: an earlier default
may still be saved as on.BRIDGE_AGENT_ENABLE_IMPORT; posting additionally needs
BRIDGE_AGENT_ENABLE_WRITES, which grants both.BRIDGE_TERMS_ACCEPTED=true. The extension asks
for that as its "I accept" setting; without it every tool refuses.With writing on:
verify_import then reads that back.What it does not do
The extension is built from the same source library as the desktop app. Packages up to 0.3.0 contained an unfinished document-upload feature and an AXAL sign-in, which no tool of the extension reached. That code was removed (#914) and releases from 0.4.0 on do not contain it; the only network client in ComplyEaze Bridge's own code connects to Tally on your own computer. No desktop installer is published. See Security and privacy.
One thing to understand before you use it. When you ask an AI assistant for
financial data through Bridge, the assistant's provider sees what it reads,
including company, party and ledger names, amounts, dates, narrations,
references, GSTINs and, when it reads ledger details, PAN, bank account numbers,
IFSC, MSME or Udyam registration numbers, email, phone and address, and, when it
builds a voucher file, that file's local path (which can include your computer
user name). That is a property of using a hosted assistant, not of Bridge.
ComplyEaze Bridge can, before sending, shorten party and ledger names and bank
account numbers to their first two and last two characters (four or fewer become
“…”), or drop narrations (BRIDGE_AGENT_REDACTION takes one value, not both).
Neither hides amounts, company names, PAN, GSTIN, IFSC, MSME or Udyam
registration numbers, contact details or references, and a shortened name can
still be identified, not least from the GSTIN or PAN sent beside it — figures
always go with the answer. Decide this deliberately for client data.
ComplyEaze has not set a price for ComplyEaze Bridge and does not sell licences to it; there is no account with us, subscription or licence key. The code of a release you download stays under the licence it was published with (Apache-2.0 for current releases). We have not decided whether to charge for anything in future.
What you pay or provide today:
Support and updates are not guaranteed (Terms of Use, section 4.4). Our liability is limited as section 14 sets out, including its fallback and exceptions; read it before client work.
Before you install, turn on Tally's HTTP gateway. TallyPrime does not
listen for ComplyEaze Bridge by default. In Tally's own connectivity / client-server
configuration settings, set Tally to act as a server ("acts as Both" in
Tally's own words) and note its HTTP gateway port — 9000 by default, but
configurable. To check it is actually on, open http://localhost:9000/status
(substitute your port) in a browser: a running gateway answers with a short
Tally XML response, and a browser that cannot connect means the gateway is
still off — unless Tally is running in a Windows virtual machine on a Mac,
in which case run this check inside that VM, or only once your local
forwarding is working. A Mac browser that cannot connect may mean the
forwarding described below is missing rather than that the gateway is off.
If instead it hangs without answering, Tally may simply be busy behind
another request — wait and retry rather than changing the setting.
The latest published release of the Claude Desktop extension is the one to install. Follow the installation guide to install and configure it. Before you do, know what it is and is not:
.sha256 file and a provenance record so you can confirm
exactly which bytes and which source commit you downloaded.The Bridge desktop application is a separate program and has no published installer; building it from source is described under Contributor quick start below.
The rest of this file is for people working on Bridge. The repository is self-contained: build and development commands resolve files relative to the clone, not to a developer-specific directory. It holds a Tauri desktop application and the MCPB packaging path for Claude Desktop, with React/TypeScript and Rust components for Tally and local database operations.
Install the latest published release of the Claude Desktop extension with the installation guide. For source use, the contributor quick start below builds the desktop app; to run the MCP server from source, follow the source MCP setup.
Before requesting financial data through an MCP client, the client may send the
selected Tally result to its AI provider, including company identity, party or
open-bill details, amounts, dates, narrations, references, GSTINs and, when it
reads ledger details, PAN, bank account numbers, IFSC, MSME or Udyam
registration numbers, email, phone and address, and, when it builds a voucher
file, that file's local path (which can include your computer user name). Source
installations default to BRIDGE_AGENT_REDACTION=none; set it to mask_parties
or drop_narration (one value, not both) before launch when that better fits
the workflow. These settings shorten party and ledger names and bank account
numbers or drop narrations; they do not hide amounts, company names, PAN, GSTIN,
IFSC, MSME or Udyam registration numbers, contact details or references. The
package installation settings expose the same choices.
For a first result, run tally_status to check that TallyPrime and its Licensed
or Education mode are observed, then list the loaded companies. Select a
company with exactly one observed INR currency master and request receivables
or payables. In Education mode, explicitly supply an as_of date on day 1, 2,
or 31; an omitted date defaults to today and may be refused. Bridge rechecks
product, mode, dates and currency for the financial read; other or unobserved
products/modes, no currency master, non-INR, or multiple currency masters are
refused.
The desktop also offers local XML draft preparation through Prepare file. It preserves source observations beside editable proposals and saves a local draft for later review.
For contributors, use the setup and development path below.
Bridge is intended to build and run on Windows and macOS 12.4 or later. Run platform checks on a native host for each operating system; a successful build on one operating system does not verify the other.
Shared prerequisites:
.node-version pins the CI baseline)rust-toolchain.tomlLocale::Maketext::Simple for the bundled SQLCipher/OpenSSL buildLIBCLANG_PATH may be required)On Windows, install the Microsoft C++ build tools, WebView2 components, and a
complete Perl distribution such as Strawberry Perl. If another incomplete
perl.exe appears first on PATH, set OPENSSL_SRC_PERL to the complete Perl
executable. Install LLVM as well; if libclang.dll is not discoverable, set
LIBCLANG_PATH to its directory (commonly C:\Program Files\LLVM\bin). On
macOS, install Xcode Command Line Tools. Bridge's macOS bundles require macOS
12.4 or later.
Run these commands from the repository root in PowerShell, Command Prompt, or a POSIX-compatible shell:
corepack pnpm install --frozen-lockfile
corepack pnpm exec playwright install chromium webkit
corepack pnpm test
corepack pnpm run build
corepack pnpm run cargo:check
corepack pnpm run tauri:dev
pnpm test includes Chromium and WebKit evidence-drawer focus suites; installing
the lock-pinned browsers after dependencies is therefore required once for each
developer environment. tauri:dev starts the Vite development server and
desktop application. It does not require a fixed checkout location. The first
Rust build can take several minutes.
For a release build, run corepack pnpm run tauri:build on each target host.
CI-produced bundles are unsigned smoke artifacts only. Do not redistribute a
desktop installer until the signing, notarization, provenance, and rollback
gates in the release runbook are complete.
Before claiming support for a platform, run the following on that platform:
corepack pnpm install --frozen-lockfile
corepack pnpm run build
corepack pnpm run cargo:check
corepack pnpm run tauri:build
Also manually exercise the affected Tally workflows. Vendor integrations may require host-specific software even though repository paths and project commands are portable.
Bridge restricts native network and file access even if the renderer is compromised:
localhost, 127.0.0.0/8, or ::1).
Remote plaintext Tally hosts are intentionally rejected.Do not commit or attach real customer, company, tax, certificate, credential, financial, or document data. Before sharing logs, screenshots, fixtures, or reproduction steps, replace personal and customer data with synthetic values and remove local usernames and absolute paths. See SECURITY.md for private reporting and handling requirements.
src/ - React UI and API bindingssrc-tauri/ - Rust core and Tauri configurationdocs/ - architecture, roadmap, and operational guidance.github/ - issue and pull-request templates plus CI configurationBridge is licensed under the Apache License, Version 2.0.
Attribution notices are provided in NOTICE.
The ComplyEaze logo and icon files are not licensed under Apache-2.0; see
NOTICE and TRADEMARKS.md.
The historical v0.1.0 release remains under the MIT license shipped with
that tag; current development source is version 0.5.1 under Apache-2.0.