Zentao Bug MCP
This server enables AI assistants (Cursor, Claude, Windsurf, etc.) to interact with the ZenTao (禅道) bug tracking system, allowing you to read, list, and manage bugs through the following tools:
zentao_health_check: Verify connectivity, authentication status, and which write-operation gates are enabled; optionally force a token refresh.zentao_list_my_bugs: Retrieve bugs assigned to the current user, with pagination, sorting, and type filtering — no product/project ID required.zentao_list_bugs: List bugs by product, project, or execution scope, with filters for status, keyword, assignee, and browse type (e.g., unclosed, unresolved).zentao_get_bug: Fetch full bug details, including an AI-friendly plain-text conversion of HTML reproduction steps (stepsPlain).zentao_resolve_bug: Mark a bug as resolved (e.g.,fixed,duplicate,bydesign) with an optional comment and reassignment. RequiresZENTAO_ALLOW_RESOLVE_BUG=true.zentao_close_bug: Close a bug with an optional comment. RequiresZENTAO_ALLOW_CLOSE_BUG=true.zentao_activate_bug: Re-activate a bug (e.g., when a fix fails verification), with optional reassignment. RequiresZENTAO_ALLOW_ACTIVATE_BUG=true.
Key safety features: All write operations (resolve, close, activate) are disabled by default and must be explicitly enabled via environment variables. All three support a dryRun: true mode to preview actions without making any changes.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Zentao Bug MCP show my open bugs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
禅道 MCP
让 Cursor / Claude / Windsurf 等 AI 直接读写禅道的 Bug / 需求(story) / 任务(task)。
适配禅道开源版 16.5+ / 18.12 · REST API v1
30 秒:能干什么
你想… | 在 AI 里这样说 |
确认装好了 | 「调用 zentao_health_check 检查禅道连接」 |
看我负责的 Bug | 「列出指派给我的 Bug,最新的 10 条」 |
读重现步骤修 Bug | 「读取 Bug #12345 详情,按 steps 帮我改代码」 |
查某产品下的需求 | 「列出产品 3 下未关闭的需求」 |
提一个需求 | 「在产品 3 下建需求:标题 xxx,描述 yyy」(需开写权限) |
拆任务 / 报工 | 「在迭代 5 下给 alice 建开发任务,预计 4 小时」「把任务 #88 标完成,消耗 3 小时」 |
修完回写禅道 | 「dryRun 预演把 #12345 标为 fixed,备注 xxx」(需开写权限) |
安装方式一:npm(推荐)
在 AI 客户端的 MCP 配置里直接用 npx,无需 clone、无需构建:
{
"mcpServers": {
"zentao": {
"command": "npx",
"args": ["-y", "@ceeyang/zentao-mcp"],
"env": {
"ZENTAO_URL": "https://your-zentao-host",
"ZENTAO_ACCOUNT": "your_account",
"ZENTAO_PASSWORD": "your_password"
}
}
}
}也可以全局装:npm i -g @ceeyang/zentao-mcp,然后把 command 换成 zentao-mcp、args 留空。
安装方式二:一条命令脚本安装
curl -fsSL https://raw.githubusercontent.com/ceeyang/zentao_mcp/main/install.sh | bashWindows:irm https://raw.githubusercontent.com/ceeyang/zentao_mcp/main/install.ps1 | iex
会自动下载、构建,并写入检测到的 18 种 AI 客户端配置。
装完 重启 AI 客户端,按上表开聊即可。更多示例 → docs/FEATURES.zh-CN.md
Related MCP server: zentao-mcp-server
已实现功能
安装与集成
一条命令从 GitHub 下载、构建、写入 MCP 配置(
~/.local/share/zentao-mcp)交互安装:现场输入禅道账号,或选「稍后配置」
18 种 AI 客户端:Cursor、Claude Desktop、Claude Code、Windsurf、Trae、VS Code、Cline、OpenCode、Continue、Zed 等(
INSTALL_PLATFORMS=auto自动检测)node 绝对路径,避免 Cursor
spawn ENOENT
读 Bug(默认开启)
工具 | 能力 |
| 指派给当前账号的 Bug(不用记产品 ID) |
| 按产品 / 项目 / 执行筛选 |
| 详情 + HTML 重现步骤转纯文本( |
| 连通性 + 写权限开关状态 |
写 Bug(默认关闭,防误操作)
工具 | 需环境变量 |
|
|
|
|
|
|
均支持 dryRun: true 先预演。详见 功能示例。
需求 story / 任务 task
先用 zentao_list_scopes 找 ID:建需求要产品 ID,建任务要迭代(execution) ID。
工具 | 能力 | 需环境变量 |
| 列产品 / 项目 / 迭代,拿 ID | 只读 |
| 按产品 / 项目 / 迭代列需求 | 只读 |
| 详情 + 描述/验收标准转纯文本、关联任务与 Bug | 只读 |
| 提需求 |
|
| 改标题 / 优先级 / 分类 / 模块等 | 同上 |
| 改描述 / 验收标准(禅道单独版本化,会升版本号) | 同上 |
| 关闭 / 指派 | 同上 |
| 列迭代下任务;不传 | 只读 |
| 详情 + 描述纯文本 + 操作历史 | 只读 |
| 拆任务 |
|
| 改字段 | 同上 |
| 开始 / 完成(报工) | 同上 |
| 关闭 / 指派 | 同上 |
写操作同样支持 dryRun: true。
改需求描述请用
zentao_change_story——禅道把spec/verify和其它字段分开版本化, 普通更新接口不会改描述。另外 18.x 的PUT /stories/:id在需求没有评审人时会被禅道拒绝, 此时工具会返回REVIEWER_REQUIRED并提示补reviewer。
安全与运维
产品白名单
ZENTAO_ALLOWED_PRODUCTS自签名 HTTPS
ZENTAO_SKIP_SSLToken / 账号密码双模式,401 自动刷新
统一 JSON 响应信封,方便 AI 解析
尚未实现
Bug 指派推送、群 每日汇总 机器人(需另建服务,见 讨论方向)
需求评审流程(
review/submitreview)、任务批量创建
对话示例
Morning standup:
你:我禅道上有哪些没关的 Bug?
AI:→ zentao_list_my_bugs → 返回 6 条列表
你:重点看 #12345,读步骤,在 src/auth 里找原因
AI:→ zentao_get_bug → 读 stepsPlain → 改代码修完回写(已开 ZENTAO_ALLOW_RESOLVE_BUG):
你:测试过了,把 #12345 标为 fixed,备注「修复 token 过期未刷新」
AI:→ zentao_resolve_bug(resolution=fixed, comment=...)安装说明
执行上方
curl | bash(或 PowerShellirm ... | iex)按提示填禅道地址 / 账号 / 密码(可跳过)
选 AI 平台(直接回车 =
auto自动检测)完全重启 Cursor / Claude 等
对话:
调用 zentao_health_check 检查连接
稍后配置账号 — 编辑 ~/.cursor/mcp.json 等里的 zentao.env:
"env": {
"ZENTAO_URL": "https://your-zentao-host",
"ZENTAO_ACCOUNT": "your_account",
"ZENTAO_PASSWORD": "your_password",
"ZENTAO_SKIP_SSL": "true"
}文档
文档 | 内容 |
功能清单 + 每个工具的 AI 说法示例 | |
安装、平台列表、FAQ | |
复制给同事的一键安装文案 | |
本地 Docker 禅道:起测试环境 + 跑端到端测试 |
环境变量(摘要)
变量 | 说明 |
| 禅道凭据 |
| 自签名证书 → |
| Bug 写操作开关,默认 |
| 需求 / 任务写操作开关,默认 |
| 可选,产品 ID 白名单 |
| 安装时: |
完整列表:.env.example
维护者
git clone https://github.com/ceeyang/zentao_mcp.git
cd zentao_mcp && npm install && npm run build && ./install.sh
npm run test:install # 安装脚本 E2E
npm run test:story-task # 需求/任务 E2E(需本地禅道,见 docs/DEV-DOCKER.zh-CN.md)
npm run verify:github # 检查 raw 安装链
npm run pack:release # 离线 tgz
npm publish # 发布到 npm(@ceeyang/zentao-mcp)License
MIT
Available Tools
7 toolszentao_activate_bugA
Re-activate a bug when fix verification fails. Requires ZENTAO_ALLOW_ACTIVATE_BUG=true unless dryRun=true.
Inputs: bugId (required), dryRun, comment, assignedTo, +1 more.
zentao_close_bugA
Close a bug. Requires ZENTAO_ALLOW_CLOSE_BUG=true unless dryRun=true.
Inputs: bugId (required), dryRun, comment.
zentao_get_bugA
Get a single bug with raw payload and AI-friendly summary including plain-text steps.
Inputs: bugId (required).
zentao_health_checkC
Check ZenTao MCP configuration, authentication, and write-operation gates.
Inputs: forceTokenRefresh.
zentao_list_bugsB
List bugs by product, project, or execution scope.
Inputs: id (required), scope (required), page, limit, +4 more.
zentao_list_my_bugsA
List bugs assigned to the current logged-in user. No product/project ID required.
Inputs: page, type, limit, order.
zentao_resolve_bugB
Resolve a bug after fixing code. Requires ZENTAO_ALLOW_RESOLVE_BUG=true unless dryRun=true.
Inputs: bugId (required), resolution (required), dryRun, comment, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool has a unique action and target: activate, close, get, health check, list (general), list (my), resolve. No two tools overlap in purpose; an agent can clearly distinguish them.
All tools use a consistent 'zentao_verb_noun' snake_case pattern (e.g., zentao_activate_bug, zentao_list_bugs). Even zentao_health_check follows the pattern, and zentao_list_my_bugs is a natural variation. No mixing of styles.
With 7 tools covering core bug operations and a health check, the number is well-scoped for a bug management MCP server. It is neither too sparse nor too bloated.
The set covers the main bug lifecycle states (activate, resolve, close) plus listing and retrieval. However, it lacks create and update operations, which are typical for a bug tracker. This is a minor gap that agents can work around if bugs are created via other means.
Maintenance
Related MCP Connectors
MCP server for Sentry - error monitoring, issue tracking, and debugging for AI assistants
MCP server enabling AI agents to manage Bitrix24 features via standardized protocol
The Jam MCP server provides AI tools with instant bug context without manual prompting, enabling a streamlined workflow from bug identification to ticket creation and pull request generation without switching between tools.
Voice-powered bug reporting with 13 MCP tools. Record bugs by talking; let AI find and fix them.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Python MCP server that retrieves requirements and bug data from TAPD platform to provide AI clients with project management information.212MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server that integrates with Zentao's RESTful API to manage bugs, including listing, resolving, closing, and commenting, with support for product and project set contexts.1155 npm1MIT
- AlicenseDqualityCmaintenanceAI-powered MCP server for analyzing UI designs and bug reports from Lanhu and Zentao platforms.261 npmMIT
- FlicenseNot gradedqualityBmaintenanceAn MCP server that integrates with Zentao API to provide tools for accessing tasks, bugs, and attachments from project management.2,469 npm-