@dannyvan/zentao-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZENTAO_URL | Yes | The URL of the ZenTao server (required, without /api.php/v1) | |
| ZENTAO_TOKEN | No | Pre-generated ZenTao token (alternative to account/password authentication) | |
| ZENTAO_ACCOUNT | No | ZenTao account name (used with ZENTAO_PASSWORD for authentication) | |
| ZENTAO_PASSWORD | No | ZenTao password (used with ZENTAO_ACCOUNT for authentication) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| zentao_get_bugA | 按 ID 获取单条禅道 Bug 的完整信息,含重现步骤(steps)。 Args:
Returns: { id, title, status, severity, pri, product, assignedTo, openedBy, openedDate, resolution, steps? } 只读,不修改任何数据。 |
| zentao_list_bugsA | 列出某产品下的 Bug,服务端分页。可选按状态/指派人过滤。 Args:
Returns: { product, page, limit, total, count, bugs: [...], has_more } 只读。禅道返回的 total 可能不准(随 limit 变),以翻页实际列出为准。 |
| zentao_search_bugsA | 在某产品下按关键词搜索 Bug(匹配标题与 steps)。底层拉取分页列表后客户端过滤。 Args:
Returns: { product, keyword, scanned, matched, bugs: [...] } 只读。命中范围受 scan_limit 限制,必要时调大。 |
| zentao_comment_bugA | ⚠️ 禅道 v1 REST API 不支持为 Bug 添加独立备注(实测:editBug 的 comment 字段被静默丢弃, 且无 /comment 动作端点)。调用本工具会直接返回错误,不会假装成功。 如需加备注:请在禅道 Web UI 手工操作,或改用旧版 session API(?m=action&f=comment)。 Args: id (number), comment (string) |
| zentao_resolve_bugA | 把 Bug 标记为已解决。高风险:默认只预览,带 confirm=true 才真正提交。 Args: id, resolution(bydesign/duplicate/external/fixed/notrepro/postponed/willnotfix/tostory), resolvedBuild?(默认 trunk), comment?, confirm(默认 false) |
| zentao_close_bugA | 关闭一个已解决的 Bug。高风险:默认预览,confirm=true 才执行。 Args: id, comment?, confirm(默认 false) |
| zentao_activate_bugA | 重新激活一个已解决/关闭的 Bug。高风险:默认预览,confirm=true 才执行。 Args: id, assignedTo?(重新指派给谁), comment?, confirm(默认 false) |
| zentao_confirm_bugA | 确认一个 Bug(is_confirmed=1)。高风险:默认预览,confirm=true 才执行。 Args: id, assignedTo?, confirm(默认 false) |
| zentao_assign_bugA | 把 Bug 指派给某人(走 PUT /bugs/{id} editBug)。高风险:默认预览,confirm=true 才执行。 ⚠️ 禅道 v1 REST 无独立指派端点,comment 无法经此记录(会被丢弃),仅指派本身生效。 Args: id, assignedTo(account), comment?(不生效), confirm(默认 false) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct action on the Bug resource: read, search, lifecycle transitions, confirmation, and assignment. The lifecycle verbs (resolve, close, activate, confirm, assign) are clearly separate state changes, and the descriptions clarify any subtle overlap.
All tools follow a consistent zentao_<verb>_bug pattern, with plural bug only where list/search return collections. The naming is predictable and makes the action for each tool immediately obvious.
Nine tools is a well-scoped size for a bug-management server. Each tool covers a meaningful operation, and the count is neither bloated nor too thin.
The toolset covers querying and state transitions well, but there is no create_bug tool and no generic update tool for fields like title, severity, or priority. The comment_bug tool is also explicitly non-functional, so agents cannot fully manage bugs through this server alone.