禅道MCP发布,协同项目管理与工程研发,提升研发效率

原创
摘要:禅道 MCP 是基于 MCP 协议的桥接代理服务,可将禅道 API 2.0 等符合 OpenAPI 规范的 REST 接口自动转为 MCP 标准工具,供 Claude、Cursor、CodeBuddy 等 AI 助手统一调用,深度衔接禅道项目管理与DevOps 能力,提升研发管理效率。

禅道 MCP 正式发布!项目源码已上线GitHub,支持用户在 Claude、Cursor、CodeBuddy 等AI助手中统一调用。 只需通过自然语言,即可完成从需求到代码的融合,全面提升研发管理体验。

一、禅道MCP是什么?

禅道MCP是基于MCP模型上下文协议实现的桥接代理服务。可将禅道API2.0等遵循OpenAPI规范的REST接口,自动转为MCP标准工具,供Claude、Cursor、CodeBuddy等AI助手统一调用,实现跟禅道数据的相互调用(可以从禅道中获取数据,也可以更新禅道中的数据)。

适用版本:开源版21.7.8、企业版12.7、旗舰版7.7、IPD版4.7及以上版本。


本项目基于上游 openapi-mcp-server  修改扩展而来,采用MIT开源许可协议发布。

用户在保留原项目开源授权与版权规范的前提下,可自由使用、修改与分发。

二、核心特性

  • 自动转换能力:从OpenAPI/Swagger文档自动生成MCP工具,无需人工编写适配逻辑,适配所有遵循该规范的REST API。
  • 传输协议支持:同时兼容Streamable HTTP和SSE(Server-Sent Events),兼顾兼容(HTTP)和实时性(SSE),适配不同AI客户端的通信需求。
  • 链路追踪:内置OpenTelemetry链路追踪和指标收集,能监控服务调用链路、收集运行指标,方便问题排查和服务优化。
  • 多服务代理:单个禅道MCP实例可同时代理多个不同的API服务,不仅支持禅道API,还能适配其他遵循OpenAPI规范的系统API,扩展性强。
  • 跨平台部署:支持Linux、macOS、Windows主流系统,部署灵活。

三、快速开始

(一)配置MCP服务(四选一即可)

1.Windows用户配置方式

1)下载包

【AMD 64位】    【AMR 64位


2)解压包(以AMD-64位为例)

将下载的包解压到目录 D:\zentao-mcp 

3)修改MCP配置

复制配置模板:copy D:\zentao-mcp\config.example.yaml D:\zentao-mcp\config.yaml
修改配置文件:D:\zentao-mcp\config.yaml
schema_url: "D:/zentao-mcp/docs/zentao-openapi.json" # 更新为实际文件路径
base_url: "https://禅道域名/api.php/v2"               # 修改您的禅道访问域名 

4)启动MCP服务命令

在cmd命令行执行启动命令: D:\zentao-mcp\bin\zentao-mcp-windows-amd64.exe -config D:\zentao-mcp\config.yaml


2.Linux用户配置方式

1)下载包

AMD-64位:curl -k -L -O https://pkg.zentao.net/zentao-mcp/1.0.1/zentao-mcp-linux-amd64.tar.gz
ARM-64位:curl -k -L -O https://pkg.zentao.net/zentao-mcp/1.0.1/zentao-mcp-linux-arm64.tar.gz

2)解压包(以AMD-64位为例)

建目录:mkdir -p /opt/zentao-mcp
解压包:tar -zxvf zentao-mcp-linux-amd64.tar.gz -C /opt/zentao-mcp

3)修改MCP配置

复制配置模板:cp /opt/zentao-mcp/config.example.yaml /opt/zentao-mcp/config.yaml
修改配置文件:/opt/zentao-mcp/config.yaml
schema_url: "/opt/zentao-mcp/docs/zentao-openapi.json" # 更新为实际文件路径
base_url: "https://禅道域名/api.php/v2"                 # 修改您的禅道访问域名

4)启动MCP服务命令

/opt/zentao-mcp/bin/zentao-mcp-linux-amd64 -config /opt/zentao-mcp/config.yaml

3.Mac用户配置方式

1)下载包

AMD-64位:curl -k -L -O https://pkg.zentao.net/zentao-mcp/1.0.1/zentao-mcp-darwin-amd64.tar.gz
ARM-64位:curl -k -L -O https://pkg.zentao.net/zentao-mcp/1.0.1/zentao-mcp-darwin-arm64.tar.gz

2)解压包

建目录:mkdir /opt/zentao-mcp
解压包:tar -zxvf zentao-mcp-darwin-amd64.tar.gz -C /opt/zentao-mcp

3)修改MCP配置

复制配置模板:cp /opt/zentao-mcp/config.example.yaml /opt/zentao-mcp/config.yaml
修改配置文件:/opt/zentao-mcp/config.yaml
schema_url: "/opt/zentao-mcp/docs/zentao-openapi.json" # 更新为实际文件路径
base_url: "https://禅道域名/api.php/v2"                 # 修改您的禅道访问域名

4)启动MCP服务命令

/opt/zentao-mcp/bin/zentao-mcp-darwin-amd64 -config /opt/zentao-mcp/config.yaml


4.源代码启动(面向开发者)

1)克隆代码

git clone https://github.com/easysoft/zentao-mcp.git

2)启动项目

进入项目:cd zentao-mcp
下载依赖:go mod tidy
启动命令:go build -o zentao-mcp ./cmd/app(或使用task dev)

(二)配置MCP客户端(AI助手)

1.调用禅道API V2接口获取Token

curl -X POST "http://您的禅道域名/api.php/v2/users/login" \
   -H "Content-Type: application/json" \
   -d '{"account":"用户名","password":"密码"}' 


2.在AI助手中配置MCP(示例)

{
  "mcpServers": {
    "zentao": {
      "disabled": false,
      "type": "mcp",
      "url": "http://127.0.0.1:9090/zentao/mcp",
      "timeout": 60000,
      "headers": {
        "token": "禅道API V2 Token", # 禅道API V2要求header中必须传token
        "Authorization": ""
      }
    },
    "gitfox": {
      "disabled": false,
      "type": "sse",
      "url": "http://127.0.0.1:9090/gitfox/sse",
      "timeout": 60000,
      "headers": {
        "Authorization": "GitFox Token"
      }
    }
  }
}

3.在CodeBuddy配置禅道MCP服务后的效果:

四、场景示例

1.创建产品

▼通过CodeBuddy,在禅道中创建一个产品:

▼在禅道中查看产品是否创建成功:


2.创建需求

▼通过CodeBuddy,为禅道中的产品创建一个需求:

▼在禅道产品下确认需求是否产生:


3.创建代码库

▼通过CodeBuddy,根据禅道需求,在GitFox创建代码库:

▼在GitFox上确认是否有代码库生成:


4.生成代码并推送至仓库

▼通过CodeBuddy,在GitFox代码库生成一份脚手架代码:

▼在GitFox确认代码是否存在:

五、相关链接

评论列表
👔
含蓄的手套2026-07-09 15:11:05回复
访问禅道mcp报错,好像是模块没有开启,这个要怎么处理呀:
#0 framework/base/router.class.php(1656): baseRouter->triggerError('the control fil...', '/opt/zbox/app/z...', 1656, true) #1 framework/router.class.php(549): baseRouter->setControlFile(true) #2 framework/base/router.class.php(2430): router->setControlFile() #3 framework/base/router.class.php(1437): baseRouter->setRouteByPathInfo() #4 www/index.php(56): baseRouter->parseRequest() #5 www/index.php(102): {closure}() #6 {main}ERROR: the control file module/mcp/control.php not found. in framework/base/router.class.php on line 1656, last called by framework/router.class.php on line 549 through function setControlFile.
回复
当前禅道版本是多少?
回复
企业版12.7
回复
这是哪一步操作提示的报错?
回复
我在服务端根据教程安装好了mcp之后,在codex里面配置后测试就报错了
STATUS=200
CONTENT_TYPE=text/html
ERROR: the control file module/mcp/control.php not found.
回复
下载的mcp2.0吗?
回复
好像不是的,我下载的是这个页面的:zentao-mcp/1.0.1/zentao-mcp-linux-amd64.tar.gz
回复
这个是mcp1.0.1吧
回复
1)Linux

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-linux-amd64.tar.gz

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-linux-arm64.tar.gz

2)Windows

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-windows-amd64.zip

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-windows-arm64.zip

3) Mac

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-darwin-amd64.tar.gz

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-darwin-arm64.tar.gz

卸载删除掉1.0.1,部署这个版本试试
回复
安装这个版本还是一样的报错
回复
好的,我们内部反馈下,待后续研发确认修复后再发新版本。
回复
大概多久有新版本呀
回复
需要产研团队排期修复后才能发,具体时间没法确定
回复
另外建议一起升级下禅道版本到22.3

可以参考下面文档做下升级。
各版本可以在官网的资源中心-动态搜索版本号查看:https://www.zentao.net/download.html
升级前请做好数据备份
升级文档:https://www.zentao.net/book/zentaopms/460.html
备份文档 :http://www.zentao.net/book/zentaopmshelp/42.html
注意升级是下载zip源码包,不是下载一键安装包。
回复
新版本需要license的吧
回复
是的,升级最新版需要对应的授权,咱们可以跟咱们对接的商务获取对应授权。
🌷
魁梧的四季豆2026-06-08 11:42:30回复
我们禅道是通过内部cas登录的,这种情况下配置MCP客户端时如何获取token?
回复
需要用禅道的账号密码去获取token,不能通过cas方式。
回复
你是指管理员或者有个初始密码吗?我们每个员工都是通过cas登录的,禅道不涉及到登录,自然就没有密码了
回复
这边需要使用禅道的登录的,可以与部署禅道的同事确认下账号密码。
🦋
道上混的企鹅2026-06-04 13:33:23回复
配置:
{"mcpServers":{"zentao":{"command":"~/zentao-mcp/zentao-mcp","args":["-config","~/zentao-mcp/config.yaml"],"cwd":"~/zentao-mcp","disabled":false,"headers":{"token":"浏览器F12出的zentao_sid"},"alwaysAllow":[]}}}
客户端:KiloCode v5.16.1
报错:Unexpected token 'i', "time=2026-0".. is not valid JSON(Kilo Code GUI没有完整日志)
已知MCP Server可以正常启动,配置哪里有错误吗?应该怎么改?
回复
您好,mcp服务配置里schema_url和base_url分别如何配置的,客户端助手如何配置的MCP也发下?
回复
直接写在评论区说有敏感内容
回复
已收到
回复
在这里:paste.ubuntu.com 7h8rhCjVKM/
回复
paste.ubuntu.com /p/ 7h8rhCjVKM/ 去掉链接里的空格
回复
好的,我们内部反馈下这个问题
回复
你们内部讨论的结果怎么样,是我配置写得有问题,还是有其他的原因?
回复
这个mcp的问题还在处理中,咱们可以先看看这种skills是否能满足咱们的日常使用:https://www.zentao.net/download/skills-86144.html
回复
禅道cli也有问题,报错如下:
(base) pub@lenovo-ThinkStation-PX:~$ zentao login
禅道服务地址 (URL): #我们公司的禅道系统地址#
用户名 (Account): #用户名#
密码(Password) 或 Token : ##我的zentao_sid或者密码都试过##
Unexpected end of JSON input
我们的禅道版本是开源版20.4,zentao cli版本是0.1.8,是版本不兼容导致的吗?
回复
需要21.7.8以上,20.4还不支持,可以看发版说明里的适用版本
📘
测试2026-05-20 18:15:31回复
为啥我 22.1版本的禅道 mcp也更新到了1.0.2 ,可以查到工具列表,但是调用报错:
{
"message": "MCP error -32600: Tool get_users has an output schema but did not return structured content",
"source": "message"
}
回复
{
"message": "MCP error 0: validating tool output: validating root: validating /properties/products: oneOf: did not validate against any of [<anonymous schema> <anonymous schema>]",
"source": "message"
}

还有这个
回复
部分工具可用,比如get_users、get_programs ,但是获取产品的时候,只有类型是 closed可以,all哪些都报错
回复
好的,咱们使用的AI工具是什么,版本是多少?我们本地测试下
回复
cursor 版本:3.4.20;postman 版本:12.11.3,目前试了这两个都是一样
回复
好的,我们内部反馈下这个问题
回复
当前使用的ai工具是什么,工具版本是多少?
曾经爱过的自行车2026-05-13 12:06:44回复
客户端:Codex Desktop(MCP streamable-http)
现象:initialize 阶段失败,客户端报 Unexpected content type: missing-content-type
请求端点:POST /zentao/mcp
期望:提供兼容 Codex 的 transport 实现或官方可用配置(含 headers、session 机制、协议版本)
回复
我的微信:13256858138,Q:3620458865。也可以直接加我好友,协助您看下此问题。
曾经爱过的自行车2026-05-13 11:18:14回复
codex 访问 zentao-mcp 始终访问不成功, 超时异常, 但是通过 http 直接调用是 ok 的
帮分析下原因吧, 配置粘不上, 一直提示敏感词
回复
可以在当前电脑的浏览器访问mcp的ip:端口,确认下是否能联通。
如果浏览器可以的话,说明mcp服务是没问题的,需要检查下codex的网络配置。
如果浏览器访问访问不通,需要检查下部署mcp的服务器端口是否开放。
回复
直接访问是 404, 说明是通的,
通过 Python 模拟 ip:port/zentao/mcp. 提供 headers 和 body 后返回是 : malformed payload: invalid message version tag ""; expected "2.0"也说明是通的,

codex 能访问并识别到这两个问题, 说明 codex 也是通的, 请帮忙分析下, 谢谢
回复
我的微信:13256858138,Q:3620458865。也可以直接加我好友,协助您看下此问题。
曾经爱过的自行车2026-05-13 11:12:56回复
win 本机安装的 codex, centos 的 zentao-mcp,
这种配置有示例吗
回复
目前没有单独环境的配置示例。参考这个通用文档配置即可。
🍐
玩滑板的电梯2026-05-08 19:28:04回复
cursor 读取用例 报错 {"error":"MCP error -32600: Tool get_products_:productID_testcases has an output schema but did not return structured content"}
回复
您好,这个报错的意思是返回的格式不符合规范。已经反馈该问题,研发在处理中,后面版本优化。
回复
问题修复更新至 v1.0.2,下载地址如下:

1)Linux

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-linux-amd64.tar.gz

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-linux-arm64.tar.gz

2)Windows

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-windows-amd64.zip

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-windows-arm64.zip

3) Mac

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-darwin-amd64.tar.gz

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-darwin-arm64.tar.gz
🐫
大方的马铃薯2026-04-19 10:00:57回复
调用mcp报错
Error calling tool get_products: Error: Error invoking remote method 'mcp:call-tool': McpError: MCP error -32600: Tool get_products has an output schema but did not return structured content
重启后 有时候会好 但有时候就不行了
回复

.您好,这个提示是数据格式不匹配,当前使用的ai工具是什么,另外禅道版本是多少。
回复
禅道是开源版从21.7.4升级到的开源版 22.0
ai用的minimax 2.7
客户端用的是Cherry-Studio-1.9.1
然后通过上面windows下载的工具本地启动的mcp
回复
好的,我们内部反馈下这个问题,待相关同事确认后给您答复
回复
刚开始问的时候还能正确 后面再问就各种报错了 是我问的姿势有问题嘛
回复
好的,我跟研发同事确认下
回复
多久解决?
回复
您好,这个报错的意思是返回的格式不符合规范。已经反馈该问题,研发在处理中,后面版本优化。咱们也可以先试用下Skills,https://www.zentao.net/download/skills-86144.html
回复
问题修复更新至 v1.0.2,下载地址如下:

1)Linux

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-linux-amd64.tar.gz

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-linux-arm64.tar.gz

2)Windows

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-windows-amd64.zip

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-windows-arm64.zip

3) Mac

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-darwin-amd64.tar.gz

https://pkg.zentao.net/zentao-mcp/1.0.2/zentao-mcp-darwin-arm64.tar.gz
返回顶部
客服头像
杨苗
高级客户经理
客服微信
13165050229
2692096539
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。问题反馈反馈点击这里,让我们聆听您的建议与反馈。
gtm跟踪器
gtag
UET