Skip to main content
Glama

Tally MCP

一个 MCP (Model Context Protocol) 服务器,它使用 Tally 内置的 XML-HTTP 网关将 Claude 直接连接到 TallyPrime。将 Claude Desktop 或 Claude Code 指向你的 Tally 实例,让它读取分类账、提取试算平衡表、汇总日记账,或起草(并在你批准后过账)凭证——全程无需手动导出/导入。

由印度的一家特许会计师事务所构建并开源,该事务所将其用于自己的客户会计工作流程。并非 Tally Solutions 或 Anthropic 的官方附属项目。

你可以用它做什么

连接后,你可以让 Claude 做类似这些事情:

  • “请显示截至 2026 年 3 月 31 日的试算平衡表”

  • “提取 ABC Traders 的分类账,并汇总最近 10 条分录”

  • “列出所有 GST 税率为 18% 的库存项目”

  • “创建一张今天的销售凭证:借方 XYZ ₹1,18,000,销售 ₹1,00,000,销项 CGST ₹9,000,销项 SGST ₹9,000” — Claude 会先显示预览;在你批准之前,不会向 Tally 写入任何内容。

Related MCP server: Tally MCP Server

⚠️ 安全模型 — 使用前请阅读

此连接器可以对当前打开的任意 Tally 公司拥有完全的读写权限。它内置了三层保护:

  1. 默认试运行。 每个写入工具(tally_create_voucher、tally_create_ledger、tally_create_stock_item)都会返回它将发送的精确 XML 预览,并且除非以 "confirm": true 调用,否则对 Tally 不做任何操作。工具描述指示 Claude 始终先向你显示预览并获得你的许可——但在批准前务必阅读预览内容;不要仅依赖 Claude 作为控制点。

  2. 公司锁定。 .env 要求配置 TALLY_COMPANY_NAME。在任何写入之前,服务器都会重新检查该确切公司是否正是 Tally 中打开的公司。如果自服务器启动以来打开了另一家公司,写入将被阻止,而不是被静默重定向。

  3. 审计日志。 每次工具调用——读取或写入、试运行或实际执行——都会以 JSON 行的形式追加到 audit/tally-mcp-audit.log:时间戳、工具、输入、发送的 XML、Tally 的响应以及状态。

此外还有一个全局紧急开关:在 .env 中设置 DRY_RUN_ONLY=true,即可强制每个写入工具进入仅预览模式,无论 confirm 为何值——在首次针对真实数据测试时非常有用。

这是一个注重安全的集成模板,而非保证。 在将其用于生产会计数据之前,请审查代码,尤其是 src/tallyClient.ts 和 src/tools/writeTools.ts。

前提条件

  • Node.js 18+

  • 已启用 ODBC/HTTP 连接 的 TallyPrime(Gateway of Tally → F1 (Help) → Settings → Connectivity → enable HTTP,默认端口 9000)

  • 在启动 MCP 服务器之前,你要连接的公司必须已在 Tally 中打开

设置

git clone https://github.com/<your-username>/tally-mcp.git
cd tally-mcp
npm install
cp .env.example .env

编辑 .env:

TALLY_URL=http://localhost:9000
TALLY_COMPANY_NAME=<exact company name as shown in Tally>
DRY_RUN_ONLY=false

构建:

npm run build

冒烟测试,确保它能正常启动:

npm start
# Expect: [tally-mcp] Connected. Tally URL: ..., Company lock: "...", DRY_RUN_ONLY: false
# Ctrl+C to stop.

连接到 Claude Desktop

将以下内容添加到你的 Claude Desktop MCP 配置(claude_desktop_config.json):

{
  "mcpServers": {
    "tally": {
      "command": "node",
      "args": ["/absolute/path/to/tally-mcp/dist/index.js"],
      "env": {
        "TALLY_URL": "http://localhost:9000",
        "TALLY_COMPANY_NAME": "Your Company Name",
        "DRY_RUN_ONLY": "false"
      }
    }
  }
}

重启 Claude Desktop。你应该会在已连接的工具/MCP 服务器下看到 “tally” 列出。

连接到 Claude Code

claude mcp add tally -- node /absolute/path/to/tally-mcp/dist/index.js

你可以通过 shell、包装脚本或工作目录中的 .env 文件设置环境变量(通过 dotenv 自动加载)。

工具参考

读取(无需确认)

工具

用途

tally_get_company_info

列出 Tally 中打开的公司——用于验证连接

tally_list_ledgers

完整的会计科目表及期末余额

tally_get_ledger

单个分类账详情 + 凭证历史

tally_get_daybook

日期范围内的所有凭证

tally_get_trial_balance

截至某日期的试算平衡表

tally_list_stock_items

库存清单,含数量/价格/HSN/GST

写入(默认试运行,需要 "confirm": true)

工具

用途

tally_create_voucher

销售 / 采购 / 付款 / 收款 / 转账凭证 / 对销 / 贷项通知单 / 借项通知单

tally_create_ledger

在父组下新建分类账主数据

tally_create_stock_item

新建库存项目,含 HSN + GST 税率

架构

Claude (Desktop/Code)
      │  MCP protocol (stdio)
      ▼
tally-mcp server (Node.js/TypeScript)
      │  XML over HTTP
      ▼
TallyPrime (XML-HTTP gateway, default port 9000)
src/
├── index.ts              # MCP server entry point, tool registry
├── config.ts              # .env loading + validation
├── types.ts                # Shared TypeScript types
├── tallyClient.ts         # HTTP transport to Tally + company-lock check
├── zodToJsonSchema.ts     # Zod → MCP tool schema converter
├── xml/
│   ├── builder.ts         # Builds Tally XML requests
│   └── parser.ts          # Parses Tally XML responses
├── tools/
│   ├── readTools.ts       # Read-only tool handlers
│   └── writeTools.ts      # Write tool handlers (dry-run/confirm gate)
└── audit/
    └── auditLogger.ts     # Append-only JSONL audit trail

已知限制 / 路线图

  • tally_alter_voucher 类型存在,但该工具尚未接线——修改现有凭证需要在 Tally 的 XML 模式中额外增加一个按凭证编号查找的步骤。欢迎提交 PR。

  • 目前还没有专门的 GST 报表工具(GSTR-1/3B 汇总)——tally_get_daybook + tally_get_ledger 目前可以满足大部分对账需求,但专门构建一个 GST 汇总工具会是一个很好的补充。

  • 凭据是明文 .env。适合本地/单用户使用;如果你要将其部署给团队或多个客户实例,请考虑接入一个真正的密钥管理器。

  • 每个正在运行的服务器实例对应单一公司——.env 中的 TALLY_COMPANY_NAME 锁定假设每个 Tally 公司对应一个服务器进程。多公司支持(将公司名称作为每次调用的参数,而不是 .env 锁定)如果有需求,是合理的第二阶段。

欢迎就上述任何问题做出贡献——参见 CONTRIBUTING.md。

许可证

MIT — 参见 LICENSE。该软件连接到真实会计系统;你有责任审查试运行预览并保护自己的 Tally 连接。操作指导参见 SECURITY.md。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    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.
    6
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that lets Claude read from and write to TallyPrime via its built-in XML/HTTP gateway.
    23
    3
    ISC
  • A
    license
    A
    quality
    A
    maintenance
    A read-only MCP server that connects Claude Desktop to TallyPrime, enabling natural-language auditing and analysis of accounting data directly from the local Tally installation.
    39
    19 npm
    MIT
  • F
    license
    A
    quality
    A
    maintenance
    This MCP server enables users to read from and write to TallyPrime via its XML/HTTP gateway, supporting operations like ledger management, voucher creation, and financial report retrieval through natural language.
    87
    2
    -