MCP Server

让 AI 直接操作
金蝶云星空

金蝶云星空 ERP 的 MCP Server,支持 Claude Desktop、Cursor、Windsurf、OpenClaw 等所有 MCP 兼容客户端。通过 OpenClaw 还可以在 微信、WhatsApp、Telegram 中直接操作金蝶。

快速安装
pip install kingdee-mcp
支持的客户端
Claude Desktop
Cursor
Windsurf
Cline
Continue
OpenClaw
更多...

为什么选择 Kingdee MCP

简单、高效、安全地让 AI 助手接入你的金蝶系统

异步高性能

基于 async/await 异步架构,支持并发请求,自动 Session 缓存和重试机制。

13+ 实用工具

涵盖采购、销售、库存、基础资料等核心业务模块,开箱即用。

安全认证

采用金蝶官方 WebAPI 认证,支持 AppSecret 方式登录,凭证本地存储。

自动重试

Session 过期自动重新登录,连接失败自动重试,稳定可靠。

类型安全

基于 Pydantic 的数据验证,所有输入参数都有类型检查和自动补全。

易于扩展

基于 FastMCP 框架,轻松添加自定义工具和业务逻辑。

支持的工具列表

共 13 个工具,覆盖核心业务场景

通用查询
kingdee_query_bills
通用单据查询,支持任意 form_id
通用查询
kingdee_view_bill
查看单据完整详情
供应链
kingdee_query_purchase_orders
查询采购订单
供应链
kingdee_query_sale_orders
查询销售订单
库存
kingdee_query_stock_bills
查询出入库单据
库存
kingdee_query_inventory
查询即时库存
基础资料
kingdee_query_materials
查询物料档案
基础资料
kingdee_query_partners
查询客户/供应商
单据操作
kingdee_save_bill
新建或修改单据
单据操作
kingdee_submit_bills
提交单据
单据操作
kingdee_audit_bills
审核单据
单据操作
kingdee_unaudit_bills
反审核单据
单据操作
kingdee_delete_bills
删除单据

快速安装

只需几步,即可让 AI 连接你的金蝶系统

1

安装 MCP Server

确保已安装 Python 3.10+,通过 pip 安装。

pip install kingdee-mcp
2

金蝶后台授权

在金蝶云星空中创建集成用户并生成应用凭证。

进入 系统管理 → 第三方系统登录授权 → 新增,新建一个集成用户(不要用 Administrator),然后生成应用ID和应用密钥。

3

配置 MCP 客户端

在你的 MCP 客户端配置文件中添加以下内容。

{
  "mcpServers": {
    "kingdee": {
      "command": "uvx",
      "args": ["kingdee-mcp"],
      "env": {
        "KINGDEE_SERVER_URL": "http://your-server/k3cloud/",
        "KINGDEE_ACCT_ID": "your_acct_id",
        "KINGDEE_USERNAME": "API集成",
        "KINGDEE_APP_ID": "your_app_id",
        "KINGDEE_APP_SEC": "your_app_secret"
      }
    }
  }
}

配置文件位置:
Claude Desktop (Win): %APPDATA%\Claude\claude_desktop_config.json
Claude Desktop (Mac): ~/Library/Application Support/Claude/claude_desktop_config.json
Cursor: Settings → MCP → Add Server
Claude Code CLI: ~/.claude/settings.json

4

重启客户端

完成配置后,重启你的 MCP 客户端即可开始使用。

安全提示

请确保 .env 文件不会被提交到代码仓库。建议将其加入 .gitignore

使用示例

配置完成后,直接用自然语言与 AI 交互

查询 查询最近20条已审核的采购订单
kingdee_query_purchase_orders(
  top: 20,
  filter_string: "FDocumentStatus = 'C'",
  order_by: "FDate DESC"
)
查询 查一下物料编码 MAT001 的即时库存
kingdee_query_inventory(
  filter_string: "FMaterialNumber = 'MAT001'"
)
查询 查询客户编码 C001 的所有销售订单
kingdee_query_sale_orders(
  filter_string: "FSupplierNumber = 'C001'"
)
操作 帮我新建一张采购订单
kingdee_save_bill(
  form_id: "PUR_PurchaseOrder",
  data: {
    FSupplierId: { FNumber: "S001" },
    FMaterialId: { FNumber: "MAT001" },
    FQty: 100,
    FTaxPrice: 10.5
  }
)
操作 审核这几张采购入库单
kingdee_audit_bills(
  form_id: "STK_Instock",
  bill_ids: ["12345", "12346"]
)
操作 反审核销售订单 SO2024001
kingdee_unaudit_bills(
  form_id: "SAL_SaleOrder",
  bill_ids: ["SO2024001"]
)

常见问题

遇到问题?这里可能有答案

Q: 提示认证失败怎么办?
检查 AppID / AppSec 是否正确,集成用户是否有对应模块的访问权限。建议先在金蝶后台测试 API 是否正常。
Q: 连接超时怎么解决?
检查 KINGDEE_SERVER_URL 是否正确(需要包含 /k3cloud/ 后缀),确保服务器在同一局域网内或已开启外网访问。
Q: 查询结果为空是怎么回事?
检查 filter_string 过滤条件语法。金蝶使用类 SQL 语法,例如:FDocumentStatus = 'C' 表示已审核状态。
Q: 支持金蝶云星空公有云吗?
目前主要测试环境为私有云。公有云用户可能需要调整认证方式和 API 地址。
Q: 如何添加自定义业务逻辑?
基于 FastMCP 框架,可以直接在 server.py 中添加新的 @mcp.tool() 装饰器方法即可扩展功能。