mcpField
T
tally-mcp-server

tally-mcp-server

本地服务
github.com/dhananjay1405AI 与智能体1033 天前更新

关于 tally-mcp-server

面向使用 Tally Prime 的会计与业务团队的 MCP 服务,将 ERP 数据和操作提供给 LLM 客户端。它包含财务报表、账目与库存查询,并支持本地连接和云端部署。

主要功能

  1. 01读取 Tally Prime ERP 数据
  2. 02提供财务报表与账目查询
  3. 03查询库存、未结账单和主数据
  4. 04支持按公司与日期筛选
  5. 05提供本地和云端部署方式

适用场景

  1. 01通过 LLM 查询试算平衡表和损益
  2. 02查看指定期间的资产负债表
  3. 03分析库存余额与商品流水
  4. 04核对应收应付未结账单

MCP 相关

作为 MCP 服务向客户端公开 Tally Prime 数据查询及部分账目维护工具。可在本地由客户端启动,也可部署为连接 Tally 的 Web 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Tally Prime MCP 服务

Tally Prime MCP(Model Context Protocol)服务实现,可将 Tally Prime ERP 数据提供给支持 MCP 客户端的主流大模型,例如 Claude、ChatGPT。此 MCP 服务可将 Tally 的功能直接开放给大模型。

前提条件

  • Tally Prime(Silver / Gold)
  • Node JS

请确保已预先安装并完成以下设置:

  • 请从官方网站下载并安装 Node JS
  • 必须启用 Tally Prime 的 XML Port(F1 > Settings > Connectivity > Client/Server configuration),并采用以下设置
TallyPrime acts as = Server
Port = 9000

注意:请避免使用 Tally Prime 教育版,因为该版本存在日期范围限制。这会导致提供给大模型的数据无效或不完整,进而使回复质量大幅下降且不准确。

下载

请勿直接克隆仓库。可通过以下链接下载实用程序(含所需依赖项)
https://excelkida.com/resource/tally-mcp-server-v7.12.zip

适用于 Claude Desktop 的一键安装器扩展
https://excelkida.com/resource/tally-mcp-server-v7.12.mcpb

上次更新:版本 7.12 [25-Oct-2026]

详情请参阅 docs/CHANGELOG.md

联系方式

项目开发与维护者:

Dhananjay Gokhale
(特许会计师)

电子邮件:[email protected]
Whatsapp:(+91) 90284-63366

支持的平台

已在以下 AI 平台上测试此实现

平台本地远程
Claude AI:heavy_check_mark::heavy_check_mark:
ChatGPT:heavy_check_mark::heavy_check_mark:
Grok:heavy_check_mark:
Mistral:heavy_check_mark:
LM Studio:heavy_check_mark:

设置(本地)

当 MCP 客户端(如 Claude Desktop、Perplexity 等)和 Tally Prime 都在本地电脑上时,请使用此设置模式。在这种情况下,MCP 客户端软件本身会在内部运行 MCP 服务。

只需下载并解压 ZIP 文件到磁盘上的某个位置。假设我们已将 ZIP 文件下载并解压到以下路径(文件夹)

D:\Software\Tally MCP Server
README 配图

以下演示了几种常用工具的示例设置。

Claude Desktop

Claude AI 桌面版支持加载本地 MCP 服务。请确保订阅 Claude Pro / Team / Max / Enterprise,这些订阅相比 Free 支持更高的使用限额。MCP 会多次调用 Tally 进行验证和推理,可能很快耗尽免费版限额。请通过以下链接下载 Claude Desktop claude.ai/download

一键安装(通过扩展)

前往菜单 > File > Settings

README 配图

Extensions > Advance Settings

README 配图

点击安装扩展按钮

README 配图

浏览并选择开始时下载的扩展文件(文件扩展名为 mcpb)

README 配图

将出现一个对话框,询问 Do you want to install Tally Prime?,点击 Install 按钮即可安装 Tally MCP 服务

通过配置文件安装(通过 Developer 菜单)

转到菜单 > File > Settings > Developer

README 配图

这将打开 My Computer 窗口。右键单击并通过 Notepad 编辑 claude_desktop_config.json 文件,内容如下:

{
  "mcpServers": {
	  "Tally Prime": {
		  "command": "node",
		  "args": ["D:\\Software\\Tally MCP Server\\dist\\index.mjs"]
	  }
  }
}

注意:文件夹路径中的单斜杠需要替换为双斜杠

保存文件。关闭 Claude Desktop(菜单 > File > Exit),然后重新启动。

点击 Tools 按钮,检查列表中是否显示 Tally Prime(如下方截图所示)。

README 配图
ChatGPT Desktop

从 Microsoft Store 下载并安装 ChatGPT Desktop,然后登录。

转到 Edit > Settings

导航至 Integration > Plugins。点击 Add 按钮,然后选择 Add MCP Server

README 配图

在 MCP 设置页面中输入/应用以下选项或值
Name = Tally Prime(或任意其他值)
Command to launch = node
Arguments = D:\Software\Tally MCP Server\dist\index.mjs(或其他路径)

README 配图

点击 Save 按钮

关闭并重新打开 ChatGPT Desktop 应用

设置(云端)

当使用基于浏览器的 MCP 客户端(如 ChatGPT、Claude AI、Copilot),或使用无法访问本地 PC 上运行的 Tally Prime 的大模型移动应用时,应使用此设置模式。在这种情况下,MCP 服务需要作为 Web 服务运行,并在内部安全地连接到 Tally。设置过程较为复杂,项目的 docs 文件夹中对此有详细说明。

可用工具

此服务目前提供 20 个 MCP 工具。

metadata-collection

返回受支持集合的元数据。

输入 无需输入。

输出 JSON 对象数组,包含:

  1. collection
  2. description
query-option-values

返回输入字段使用的预定义选项值。

输入

参数说明
optionName支持的值:country-state

输出 所选选项名称对应的 JSON 选项值数组。

metadata-fields

返回所选集合的字段元数据。

输入

参数说明
collection集合名称。使用 metadata-collection 查找有效值

输出 JSON 字段元数据数组,包含字段名称、说明(如有)和规范化数据类型(string、number、date、boolean)。

query-database

对报告工具先前创建的内存 pglite 表运行 SQL 查询。

输入

参数说明
sql仅限 SELECT 查询
outputFormat以下格式之一:JSON Array of Objects、JSON with Schema and Rows、CSV、Markdown Table。默认格式为 JSON Array of Objects,推荐使用

输出 以制表符分隔的文本格式返回查询结果。

query-collection

查询 Tally 集合中所选字段,并将输出缓存到内存表中。

输入

参数说明
collection集合名称
fields要获取的字段名称数组
targetCompany(可选)公司名称(默认为当前活动公司)
fromDate(可选)日期,格式为 YYYY-MM-DD
toDate(可选)日期,格式为 YYYY-MM-DD

输出 JSON:{ "tableID": "..." }

list-master

获取用于验证和自动补全的主数据列表。

输入

参数说明
targetCompany(可选)公司名称(默认为当前公司)
collection以下选项之一:group、ledger、vouchertype、unit、godown、stockgroup、stockitem、costcategory、costcentre、attendancetype、company、currency、gstin、gstclassification
containsFilter(可选)应用 CONTAINS 操作以限制值的筛选条件

输出 JSON:{ "list": [ ... ] }

chart-of-accounts

提取会计科目表(或组层级),用于编制资产负债表、损益表和试算平衡表。

输入

参数说明
targetCompany(可选)公司名称(默认为当前公司)

输出 JSON:{ "tableID": "..." },包含以下列:

  1. ledger_name
  2. group_name
  3. primary_group
  4. bs_pl(布尔值)[true = 损益 / false = 资产负债表]
  5. dr_cr(布尔值)[true = 借方 / false = 贷方]
  6. affects_gross_profit(布尔值)[true = 影响毛利 / false = 不影响毛利]
  7. sort_position(数字)
trial-balance

获取指定期间的试算平衡表。

输入

参数说明
targetCompany(可选)公司名称(默认为当前公司)
fromDate日期,格式为 YYYY-MM-DD
toDate日期,格式为 YYYY-MM-DD
group_name(可选)按组名称筛选

输出 JSON:{ "tableID": "..." },包含以下列:

  1. ledger_name
  2. group_name
  3. opening_balance(数字)[负数 = 借方 / 正数 = 贷方]
  4. net_debit
  5. net_credit
  6. closing_balance(数字)[负数 = 借方 / 正数 = 贷方]
profit-loss

获取指定期间的损益数据。

输入

参数说明
targetCompany(可选)公司名称(默认为当前公司)
fromDate日期,格式为 YYYY-MM-DD
toDate日期,格式为 YYYY-MM-DD

输出 JSON:{ "tableID": "..." },包含以下列:

  1. ledger_name
  2. group_name
  3. closing_balance(数字)[负数 = 借方 / 正数 = 贷方]
balance-sheet

获取指定期间的资产负债表数据。

输入

参数说明
targetCompany(可选)公司名称(默认为当前公司)
fromDate日期,格式为 YYYY-MM-DD
toDate日期,格式为 YYYY-MM-DD

输出 JSON:{ "tableID": "..." },包含以下列:

  1. ledger_name
  2. group_name
  3. closing_balance(数字)[负数 = 借方 / 正数 = 贷方]
stock-summary

获取指定期间的库存项目汇总。

输入

参数说明
targetCompany(可选)公司名称(默认为当前公司)
fromDate日期,格式为 YYYY-MM-DD
toDate日期,格式为 YYYY-MM-DD
stockGroup(可选)按库存组名称筛选

输出 JSON:{ "tableID": "..." },包含以下列:

  1. stock_item_name
  2. stock_group_name
  3. opening_quantity(数字)
  4. opening_value(数字)[负数 = 借方 / 正数 = 贷方]
  5. inward_quantity(数字)
  6. inward_value(数字)
  7. outward_quantity(数字)
  8. outward_value(数字)
  9. closing_quantity(数字)
  10. closing_value(数字)[负数 = 借方 / 正数 = 贷方]
ledger-balance

返回截至指定日期的分类账期末余额。

输入

参数说明
targetCompany(可选)公司名称(默认为当前公司)
ledgerName准确的分类账名称
toDate日期,格式为 YYYY-MM-DD

输出 JSON:{ "amount": number },其中负数表示借方,正数表示贷方。

stock-item-balance

返回截至指定日期的库存项目期末数量。

输入

参数说明
targetCompany(可选)公司名称(默认为当前公司)
itemName准确的库存项目名称
toDate日期,格式为 YYYY-MM-DD

输出 找到项目时返回 JSON:{ "quantity": number, "unit_of_measurement": string }。

bills-outstanding

获取截至指定日期的应收/应付账单明细未结金额。

输入

参数说明
targetCompany(可选)公司名称(默认为当前活动公司)
naturereceivable 或 payable
toDate日期,格式为 YYYY-MM-DD

输出 JSON:{ "tableID": "..." },包含以下列:

  1. bill_date
  2. reference_number
  3. outstanding_amount
  4. party_name
  5. overdue_days
ledger-account

获取指定期间的分类账账户报表。

输入

参数说明
targetCompany(可选)公司名称(默认为当前活动公司)
ledgerName分类账名称
fromDate日期,格式为 YYYY-MM-DD
toDate日期,格式为 YYYY-MM-DD

输出 JSON:{ "tableID": "..." },包含以下列:

  1. guid
  2. date
  3. voucher_type
  4. voucher_number
  5. alternate_ledger
  6. party_name
  7. amount(数字)[负数 = 借方 / 正数 = 贷方]
  8. narration
stock-item-account

获取指定期间的库存项目账户报表。

输入

参数说明
targetCompany(可选)公司名称(默认为当前活动公司)
itemName库存项目名称
fromDate日期,格式为 YYYY-MM-DD
toDate日期,格式为 YYYY-MM-DD

输出 JSON:{ "tableID": "..." },包含以下列:

  1. date
  2. voucher_type
  3. voucher_number
  4. party_ledger
  5. quantity
  6. amount(数字)[负数 = 借方 / 正数 = 贷方]
  7. narration
  8. tracking_number
  9. voucher_category
ledger-create-update

创建或更新一个或多个分类账。

注意:此工具可以修改现有分类账。使用此工具前,请务必备份公司数据。

输入

参数说明
targetCompany(可选)公司名称(默认为当前活动公司)
masters要创建/更新的分类账主数据对象数组

分类账主数据对象接受以下属性

属性说明
name分类账名称;更新时为新分类账名称
_name现有分类账名称
parent分类账所属的组
openingBalance(可选)分类账的期初余额
isBillWise(可选)设置是否按单据逐笔关联的标记
billCreditPeriod(可选)账单的信用期(天)
mailingDetails(可选)邮寄用途的企业名称、国家、州、邮政编码和地址
gstRegistrationDetails(可选)GST 注册详情,如 GST 编号、注册类型、供应地(州)

输出 导入操作返回的 JSON 结果(成功/失败详情)。

delete-master

从 Tally 删除一个或多个主数据项

输入

参数说明
targetCompany(可选)公司名称(默认为当前活动公司)
collection要删除的主数据类型或集合。可选项:group、ledger、vouchertype、unit、godown、stockgroup、stockitem、costcategory、costcentre、attendancetype、company、currency、gstin、gstclassification
name要删除的主数据项名称数组

输出 删除操作返回的 JSON 结果(已删除、已跳过等数量)。

voucher-journal

在 Tally 中创建一个或多个日记账凭证。

输入

参数说明
targetCompany(可选)公司名称(默认为当前活动公司)
vouchers要创建的日记账凭证对象数组

凭证对象接受以下属性

属性说明
isoptional(可选)设为 true 以创建可选凭证
date凭证日期,格式为 YYYY-MM-DD
voucherType(可选)凭证类型(默认为 Journal,且必须属于 Journal 上级类别)
voucherNumber(可选)凭证编号
narration(可选)摘要文本
accountingEntry会计分录数组(至少 2 行,且金额合计必须为零)

会计分录对象接受以下属性

属性说明
ledgerName分类账名称
amount该行金额(正数 = 贷方 / 负数 = 借方)

输出 导入操作返回的 JSON 结果(成功/失败详情)。

set-company

在 Tally Prime 中设置当前公司上下文。

输入

参数说明
companyName要激活的公司名称

输出 成功时返回 JSON 字符串:"OK"。

set-period

在 Tally Prime 中设置当前报告期间上下文。

输入

参数说明
fromDate开始日期,格式为 YYYY-MM-DD
toDate结束日期,格式为 YYYY-MM-DD

输出 成功时返回 JSON 字符串:"OK"。

环境变量

最终用户可以自行硬编码需要应用的少量设置

变量说明
TALLY_PORTTally XML 服务器的端口号(可选,默认值为 9000)
TALLY_HOST运行 XML 服务器的主机名或 IP(可选,默认值为 localhost)
BLOCK_WRITE控制 MCP 是否完全禁止访问写入功能。将此标志设为 1,即可从工具列表中完全隐藏写入功能工具。[ 0 = 允许,1 = 禁止 ](可选,默认值为 0,即允许)。不适用于 Claude Desktop(因为它提供了用于禁用写入功能的图形开关)
PORTTally MCP 服务的端口号。仅适用于将 Tally Prime MCP 服务部署为远程 MCP 服务的情况(可选,默认值为 3000)。不适用于 Claude Desktop
MCP_DOMAINTally MCP 服务网站的域名(可选,默认值为 https://localhost:9000)。不适用于 Claude Desktop
PASSWORD用于验证真实用户身份的 OAuth 登录前端页面密码(请设置为复杂密码,默认值为 password)。不适用于 Claude Desktop

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。