TallyPrime MCP服务器
A. 模型上下文协议(MCP)服务器 这将TallyPrime会计操作暴露为人工智能工具。适用于Claude、Cursor和任何兼容MCP的AI客户端。
______________________________________________________________________
特性
| 类别 | 工具 |
|---|---|
| 公司 | get_active_company |
| 账簿和组 | get_all_ledgers, get_ledger, create_ledger, get_all_groups |
| 代金券 | get_vouchers, create_sales_voucher, create_purchase_voucher, create_payment_voucher, create_receipt_voucher, create_journal_voucher |
| 报告 | get_trial_balance, get_balance_sheet, get_profit_loss, get_stock_summary, get_daybook, get_outstanding_receivables |
______________________________________________________________________
建筑
┌─────────────────────┐ HTTP/SSE (MCP) ┌────────────────────────┐
│ AI Client │ ◄────────────────────────── │ Cloud MCP Server │
│ (Claude / Cursor) │ │ (this repo) │
└─────────────────────┘ └───────────┬────────────┘
│ XML HTTP
┌────────▼────────────┐
│ TallyPrime │
│ Gateway Server │
│ (port 9000) │
└─────────────────────┘主要挑战: TallyPrime在本地Windows计算机上运行,但MCP服务器在云中。 您需要将TallyPrime的9000端口安全地暴露在互联网上。看 将Tally连接到云端.
______________________________________________________________________
快速开始
1.安装
git clone https://github.com/yourname/tallyprime-mcp
cd tallyprime-mcp
pip install -e .2.配置
cp .env.example .env
# Edit .env — set TALLY_URL, MCP_API_KEY3.本地运行(Claude Desktop的stdio模式)
tallyprime-mcp4.作为HTTP/SSE服务器运行(云模式)
tallyprime-mcp-http
# or:
python -m tallyprime_mcp.server_http服务器启动时间 http://0.0.0.0:8000
GET /health→ 健康检查GET /sse→ MCP SSE流(客户端在此处连接)POST /messages→ MCP消息端点
______________________________________________________________________
🐳 Docker(推荐用于云)
# Build
docker build -t tallyprime-mcp .
# Run
docker run -d \
-p 8000:8000 \
-e TALLY_URL=https://tally.yourdomain.com \
-e MCP_API_KEY=your-strong-secret \
tallyprime-mcp______________________________________________________________________
☁️ 云部署
铁路(最便捷)
- 将此仓库推送到GitHub
- 首选 railway应用程序 → 新项目→ 从GitHub部署
- 添加环境变量:
- TALLY_URL → 您的理货隧道URL - MCP_API_KEY → 强随机秘密
- Railway自动检测Dockerfile并进行部署
渲染
- New → Web服务→ 连接GitHub仓库
- 运行时:Docker
- 添加与上述相同的env变量
- 部署
AWS/GCP/Azure
将Dockerfile与ECS、Cloud Run或App Service一起使用。在云的秘密管理器中设置环境变量。
______________________________________________________________________
🔌 将Tally连接到云端
TallyPrime的网关服务器正在监听 localhost:9000 默认情况下。要让您的云MCP服务器访问它,您需要安全地暴露该端口。
选项A:Cloudflare隧道(推荐-免费)
- 安装 云层爆发 在运行Tally的Windows计算机上
- 运行:
cloudflared tunnel --url http://localhost:9000- 你会得到一个类似的URL
https://random-name.trycloudflare.com - 集
TALLY_URL=https://random-name.trycloudflare.com在您的云服务器上
对于永久URL,请使用您自己的域设置一个命名隧道。
选项B:ngrok
ngrok http 9000使用提供的HTTPS URL TALLY_URL.
选项C:VPN/静态IP
如果您的办公室有静态IP或VPN,请在防火墙中打开端口9000并设置:
TALLY_URL=http://YOUR.OFFICE.IP:9000TallyPrime网关设置
在TallyPrime,请访问 F12 → 高级配置 并确保:
- 启用ODBC服务器:是的
- 港口: 9000
- 启用:远程(如果你想在没有隧道的情况下访问云)
______________________________________________________________________
连接AI客户端
克劳德桌面(本地stdio模式)
添加 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"tallyprime": {
"command": "tallyprime-mcp",
"env": {
"TALLY_URL": "http://localhost:9000"
}
}
}
}克劳德/任何MCP客户端(云SSE模式)
{
"mcpServers": {
"tallyprime": {
"url": "https://your-cloud-server.railway.app/sse",
"headers": {
"Authorization": "Bearer your-strong-secret"
}
}
}
}______________________________________________________________________
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
TALLY_URL | http://localhost:9000 | TallyPrime网关URL |
TALLY_TIMEOUT | 30 | HTTP超时(秒) |
MCP_HOST | 0.0.0.0 | 服务器绑定主机 |
MCP_PORT | 8000 | 服务器绑定端口 |
MCP_API_KEY | _(空)_ | 身份验证的承载令牌(留空禁用) |
______________________________________________________________________
工具参考
日期格式
所有日期均使用 YYYYMMDD --例如,2024年4月1日= "20240401"
示例:创建销售发票
Tool: create_sales_voucher
Args:
date: "20250201"
party_ledger: "ABC Traders"
sales_ledger: "Sales Accounts"
amount: 50000
tax_ledger: "GST @ 18%"
tax_amount: 9000
narration: "Invoice #INV-001 for consulting services"示例:获取2024-25财年的损益表
Tool: get_profit_loss
Args:
from_date: "20240401"
to_date: "20250331"示例:获取截至今天的未偿应收账款
Tool: get_outstanding_receivables
Args: {}示例:获取截至特定日期的未偿应收账款
Tool: get_outstanding_receivables
Args:
as_of_date: "31-03-2026"示例:为特定客户获取未偿应收账款
Tool: get_outstanding_receivables
Args:
as_of_date: "16-03-2026"
party_name: "Acme"响应结构:
{
"as_of_date": "20260316",
"total_outstanding": 1500000.00,
"party_count": 12,
"party_summary": [
{ "party": "Acme Traders Pvt Ltd", "outstanding": 500000.00 },
...
],
"aging_summary": {
"current_not_due": 300000.00,
"overdue_1_30": 200000.00,
"overdue_31_60": 150000.00,
"overdue_61_90": 100000.00,
"overdue_above_90": 750000.00
},
"bills": [
{
"party": "Acme Traders Pvt Ltd",
"bill_ref": "INV-2025-0042",
"bill_date": "20250901",
"due_date": "20251001",
"outstanding": 500000.00
},
...
],
"bill_count": 35
}______________________________________________________________________
需求
- Python 3.11+
- 启用网关服务器的TallyPrime 3.x或更高版本
mcp,httpx,uvicorn,starlette(自动安装)
______________________________________________________________________
许可证
麻省理工学院
