使用说明
TallyPrime MCP服务器
A生产级 模型上下文协议(MCP) 服务器,为AI模型提供完整的本地控制 TallyPrime ERP --涵盖169+个工具的每个功能模块。
建筑
┌─ Stdio Transport (Claude Desktop / CLI)
AI Model ──► MCP ──┤
└─ StreamableHTTP (port 4000, remote clients)
│
▼
TallyPrime XML Server (port 9000)
│
├─ UTF-16LE encoded communication
├─ Serial request queue (single-threaded safety)
├─ Standard XML Export (Method A)
├─ Inline TDL Queries (Method B)
├─ XML Import (Method C)
├─ TDL Actions (Method D)
└─ Object Export (Method E)
三层系统
| 层 | 目的 | 示例 |
|---|---|---|
| 标准XML API | CRUD操作,报告导出 | 创建分类账,获取试算表 |
| 内联TDL查询 | 以编程方式构建的复杂过滤查询 | “马哈拉施特拉邦余额>1L的所有债务人” |
| 持久TDL文件 | Tally启动时加载预构建集合 | MCP Ledgers, MCP StockItems, MCP FinancialSnapshot |
快速开始
先决条件
- TallyPrime 在启用XML服务器的情况下运行(端口9000)
- Node.js 20+
设置
# Clone & install
cd tally-mcp-server
npm install
# Configure
cp .env.example .env
# Edit .env with your Tally settings
# Run in development (HTTP mode)
npm run dev
# Run in Stdio mode (for Claude Desktop)
npm run dev:stdio
# Build & run production
npm run build
npm start # HTTP mode
npm run start:stdio # Stdio mode
码头工人
docker compose up -d
运输方式
Stdio(适用于克劳德桌面/CLI)
添加到您的Claude桌面配置(claude_desktop_config.json):
{
"mcpServers": {
"tally": {
"command": "node",
"args": ["/path/to/tally-mcp-server/dist/index.js", "--stdio"]
}
}
}
或者设置环境变量:
MCP_TRANSPORT=stdio node dist/index.js
StreamableHTTP(用于远程/web客户端)
{
"mcpServers": {
"tally": {
"url": "http://localhost:4000/mcp",
"transport": "streamable-http"
}
}
}
配置
| 变量 | 默认值 | 描述 |
|---|---|---|
TALLY_HOST |
localhost |
TallyPrime主机名 |
TALLY_PORT |
9000 |
TallyPrime XML服务器端口 |
TALLY_TIMEOUT_MS |
30000 |
请求超时(毫秒) |
TALLY_COMPANY |
(自动) | 强制特定公司(可选) |
MCP_SERVER_PORT |
4000 |
HTTP传输端口 |
MCP_TRANSPORT |
http |
运输方式: stdio 或 http |
MASTER_CACHE_TTL_MS |
300000 |
主缓存TTL(5分钟) |
LOG_LEVEL |
info |
Winston日志级别 |
工具模块(169+个工具)
| # | 模块 | 工具 | 说明 |
|---|---|---|---|
| 1 | 大师 | 28 | 账簿、组、库存项目、单位、仓库、成本中心、货币 |
| 2 | 代金券 | 16 | 销售、采购、收据、付款、日记账、对账单、贷记/借记单 |
| 3 | 订单 | 10 | 销售/采购订单、交货/收货单、拒收 |
| 4 | 财务报告 | 15 | 试算表、损益表、资产负债表、现金流、日记账、比率分析 |
| 5 | 库存报告 | 10 | 库存汇总、变动、批次、到期、重新订购、估值 |
| 6 | 杰出的 | 8 | 应收账款、应付账款、账龄分析、账单、逾期 |
| 7 | 商品及服务税 | 18 | GSTR-1/2A/2B/3B、HSN、电子发票、电子路单、ITC、对账 |
| 8 | TDS/TCS | 12 | 计算,表格26Q/27Q/16,challans,PAN验证 |
| 9 | 工资单 | 20 | 员工、薪酬负责人、薪酬结构、工资单、PF/ESI/酬金 |
| 10 | 制造 | 14 | 物料清单、生产、消耗、作业成本、产量分析 |
| 11 | 银行业 | 10 | 银行对账、支票登记簿、PDC、现金状况 |
| 12 | 预算 | 8 | 预算CRUD、差异、利用率、场景报告 |
| 13 | 安全 | 8 | 用户、审计跟踪、更改/删除凭证日志、异常 |
| 14 | 公司 | 8 | 公司信息、连接测试、缓存刷新、功能状态 |
| 15 | 批量操作 | 12 | 批量创建/更新/删除母版和凭证 |
| 16 | TDL查询引擎 | 12 | 自定义查询、内联TDL、函数、原始XML、搜索、引用 |
主要技术特点
- UTF-16LE编码 --Tally的XML服务器的正确线路编码(支持印度语言:印地语、泰米尔语等)
- 串行请求队列 --所有请求都被序列化,以保护Tally的单线程XML服务器免受并发请求崩溃的影响
- 异常/线性错误/状态检测 --全面的错误检测,涵盖所有理货错误响应格式
- 带TTL的主机名缓存 --快速查找分类账/股票/组名,无需点击Tally
- 持久TDL文件 --Tally启动时加载预构建的优化集合
- 计数值解析器 --正确解析Tally的日期、金额、数量、费率和布尔格式
- 输入验证 --带有GSTIN/PAN/日期格式验证器的Zod模式
- 结构化日志记录 --具有可配置级别的Winston记录器
持久TDL文件
安装 tdl/tally-mcp.tdl 在TallyPrime TDL文件夹中,用于优化预构建集合:
| 收藏 | 目录 |
|---|---|
MCP Ledgers |
所有具有关键财务字段的分类账 |
MCP StockItems |
所有带有库存字段的库存项目 |
MCP Groups |
所有帐户组 |
MCP Vouchers |
所有凭证(通过SV筛选的日期) |
MCP Debtors |
有余额的杂项债务人 |
MCP Creditors |
有余额的杂项债权人 |
MCP BankAccounts |
有余额的银行账户 |
MCP CostCentres |
成本中心 |
MCP Employees |
所有员工详细信息 |
MCP CashBankSummary |
现金+银行头寸 |
MCP FinancialSnapshot |
快速财务摘要功能 |
API端点(仅限HTTP模式)
| 端点 | 方法 | 描述 |
|---|---|---|
/mcp |
POST | MCP流式HTTP传输 |
/mcp |
GET | SSE流(基于会话) |
/mcp |
DELETE | 关闭会话 |
/health |
GET | 健康检查+缓存统计信息 |
项目结构
tally-mcp-server/
├── src/
│ ├── index.ts # Entry point (Stdio + HTTP)
│ ├── server.ts # MCP server factory
│ ├── tally/
│ │ ├── client.ts # HTTP client (UTF-16LE, serial queue)
│ │ ├── xml-builder.ts # XML request builders
│ │ ├── xml-parser.ts # XML response parser + value helpers
│ │ ├── tdl-builder.ts # Inline TDL builder
│ │ └── state.ts # Master cache with TTL
│ ├── tools/ # 16 tool modules (169+ tools)
│ └── utils/
│ ├── logger.ts # Winston logger
│ ├── validators.ts # GSTIN/PAN/date validators
│ ├── date-utils.ts # Date utilities
│ └── helpers.ts # Shared result/error helpers
├── tdl/
│ └── tally-mcp.tdl # Persistent TDL file
├── package.json
└── tsconfig.json
许可证
麻省理工学院
