禅道MCP服务器

基于Go实现的禅道MCP服务器,提供完整的禅道API覆盖,支持82个MCP工具,适用于项目管理、用户管理、任务跟踪等场景。

  • by Wiiiiill
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Wiiiiill/go-zentao-mcp

使用说明

禅道 MCP 服务器

基于 Go 实现的禅道 MCP (Model Context Protocol) 服务器。

快速开始

1. 构建

# 手动构建
go build -o zentao-mcp-server.exe .

# 或使用构建脚本
scripts\build.bat

2. 配置

复制 config/mcp-config.example.json 到你的 MCP 配置目录,修改配置:

{
  "mcpServers": {
    "zentao": {
      "command": "path/to/zentao-mcp-server.exe",
      "env": {
        "ZENTAO_BASE_URL": "http://your-zentao-server/api.php/v1",
        "ZENTAO_ACCOUNT": "your-account",
        "ZENTAO_PASSWORD": "your-password"
      }
    }
  }
}

3. 启动服务

# 直接运行
zentao-mcp-server.exe

# 或使用启动脚本(会自动构建)
scripts\start.bat

服务器将通过 stdio 运行,等待 MCP 客户端连接。


功能

支持 82 个 MCP 工具 (完整覆盖所有禅道 API):

认证

  • zentao_login - 登录获取 Token
  • zentao_set_token - 设置 Token

用户管理

  • zentao_list_users - 获取用户列表
  • zentao_get_user - 获取用户详情
  • zentao_create_user - 创建用户
  • zentao_delete_user - 删除用户

项目集

  • zentao_list_programs - 获取项目集列表
  • zentao_get_program - 获取项目集详情

产品

  • zentao_list_products - 获取产品列表
  • zentao_get_product - 获取产品详情

项目

  • zentao_list_projects - 获取项目列表
  • zentao_get_project - 获取项目详情

需求

  • zentao_get_story - 获取需求详情
  • zentao_list_product_stories - 获取产品需求列表

任务

  • zentao_get_task - 获取任务详情
  • zentao_list_execution_tasks - 获取执行任务列表

Bug

  • zentao_get_bug - 获取 Bug 详情
  • zentao_list_product_bugs - 获取产品 Bug 列表

测试

# 运行所有测试
go test ./test -v

# 运行单元测试
go test ./zentao -v

# 或使用测试脚本
scripts\test.bat

查看 TEST.md 了解详细测试说明。

调试

使用 MCP Inspector 进行可视化调试:

# Windows
scripts\debug.bat

# Linux/macOS/Git Bash  
./scripts/debug.sh

Inspector 会在浏览器中打开,提供:

  • 实时测试所有 MCP 工具
  • 查看请求/响应日志
  • 调试 JSON-RPC 通信

前提条件: 需要安装 Node.js

脚本快速参考

功能 命令 说明
构建 scripts\build.bat 编译服务器
启动 scripts\start.bat 启动 MCP 服务
测试 scripts\test.bat 运行所有测试
调试 scripts\debug.bat MCP Inspector 调试

查看 SCRIPTS.md 了解详细说明。

作为 Agent Skill 使用

本项目提供独立的 SKILL.md 形态 Skill(不依赖本仓库的 MCP 服务器),可在 OpenClaw、Cursor、Claude Code 等所有兼容 AgentSkills / SKILL.md 格式的 AI Agent 平台中使用。Agent 通过禅道开放 API(HTTP + JSON)与禅道交互,仅需具备发起 HTTP 请求的能力。

Skill 包位置

仓库内 Skill 目录:skill/,结构如下:

skill/
├── SKILL.md             # 元数据与使用说明(认证、路径速查)
├── references/
│   └── api.md           # 禅道开放 API 路径与方法参考
└── examples.md         # 典型工作流示例(基于 HTTP API)

各平台放置方式

平台 放置路径
Cursor(项目级) .cursor/skills/zentao-pm/ — 将 skill/ 目录内容复制到此
Cursor(本机共享) ~/.cursor/skills/zentao-pm/
OpenClaw(工作区) ./skills/zentao-pm/
OpenClaw(本机共享) ~/.openclaw/skills/zentao-pm/
其他兼容 AgentSkills 的平台 按该平台文档将 skill/ 内容放到其 skills 根目录下的 zentao-pm/

使用前提

  • 用户提供禅道站点地址与账号/密码(或 Token)。
  • Agent 所在平台支持发起 HTTP 请求(如 fetch、curl 或内置 request 工具)。

本仓库另有基于 MCP 的用法(见上文「配置」);此 Skill 与 MCP 无绑定,可单独复制到任意兼容 SKILL.md 的平台使用。更多说明见 docs/SKILL_改造指南.md。


项目结构

.
├── main.go              # 主程序
├── zentao/              # 禅道客户端
│   ├── client.go        # API 客户端
│   ├── types.go         # 类型定义
│   └── client_test.go   # 单元测试
├── test/                # 集成测试
│   ├── all_test.go      # 主测试(覆盖所有功能)
│   └── README.md        # 测试说明
├── config/              # 配置示例
├── scripts/             # 脚本工具
│   ├── build.bat/sh     # 构建脚本
│   ├── start.bat/sh     # 启动脚本
│   ├── test.bat         # 测试脚本
│   ├── debug.bat/sh     # 调试脚本
│   └── README.md        # 脚本说明
├── skill/               # Agent Skill 包(SKILL.md 格式)
│   ├── SKILL.md
│   ├── references/api.md
│   └── examples.md
├── docs/                # 文档(含 SKILL 改造指南)
├── TEST.md              # 测试文档
└── SCRIPTS.md           # 脚本快速参考

部署到外网服务器

查看 DEPLOYMENT.md 了解详细部署指南。

快速部署

# 编辑配置
vim scripts/deploy.sh  # 修改服务器信息

# 运行部署脚本
./scripts/deploy.sh

支持部署方式:

  • SSH 隧道部署(推荐)
  • Docker 容器部署
  • HTTP/WebSocket 包装

依赖

  • Go 1.23+(与 go.mod 中版本一致)
  • github.com/mark3labs/mcp-go

License

MIT,全文见仓库根目录 LICENSE。