ZenTao MCP Server
一个基于 Model Context Protocol (MCP) 的服务器实现,用于让 LLM 能够操作禅道项目管理系统的 API。
✨ 核心功能
🔧 管理功能
✅ 项目管理:获取项目列表、创建项目、查询项目详情
✅ 任务管理:获取任务列表、创建任务、更新任务状态
✅ 批量操作:批量创建任务,提高操作效率
💡 技术特性
基于 TypeScript 开发,类型安全
智能 LRU 缓存机制,减少 API 调用
完善的错误处理和重试机制
支持并发控制和速率限制
完整的日志系统
🚀 快速开始
前置检查
禅道服务器正在运行 (
http://localhost)你有有效的禅道账号
Node.js >= 16.0.0 已安装
安装依赖
构建项目
获取 Token
详细指南: GETTING-TOKEN.md
启动服务器
启动成功标志:
🧪 测试
运行测试
指南: TEST-REPORTS.md
测试统计
总测试用例: 31
通过率: 83.9% (26/31)
完全覆盖的工具: get_tasks
缓存系统: 88.88% 覆盖率
📚 文档导航
核心文档
文档 | 说明 |
| 本文档,项目总览 |
| Token 获取和管理指南 |
| 测试报告汇总 |
MCP 配置
文档 | 说明 |
| Codex MCP 配置说明 |
| 配置文件模板 |
项目配置
文件 | 说明 |
| OpenSpec 指令 |
| Claude 项目指令 |
| Jest 测试配置 |
| 环境变量示例 |
| TypeScript 配置 |
🛠️ 可用脚本
测试脚本
Token 管理
开发脚本
🏗️ 项目结构
🔌 API 工具
✅ 已验证工具
get_tasks- 获取任务列表支持分页:
page,limit支持过滤:
projectId,status,assignedTo缓存:5分钟 TTL,最多100项
🔄 受限工具(需Token)
以下工具代码完整,但需要有效的Token才能测试:
get_projects- 获取项目列表get_project_by_id- 获取项目详情create_project- 创建项目create_task- 创建任务update_task_status- 更新任务状态batch_create_tasks- 批量创建任务
🐛 故障排除
Token 问题
现象: 401 Unauthorized 错误
解决: Token 已过期,重新获取
详细指南: GETTING-TOKEN.md
构建失败
现象: TypeScript 编译错误
解决:
测试失败
现象: 测试用例失败
解决: 查看 TEST-REPORTS.md
📊 质量指标
代码质量
✅ TypeScript 类型安全
✅ 完整的错误处理
✅ 单元测试覆盖
✅ 并发安全保证
测试覆盖
语句覆盖率: 38.06%
分支覆盖率: 19.14%
函数覆盖率: 41.50%
缓存模块: 88.88%
目标: 90% 语句覆盖率
性能指标
✅ 缓存命中率优化
✅ 并发处理 (20 请求)
✅ 响应时间 < 100ms
✅ 内存使用合理
🤝 贡献指南
提交代码
Fork 项目
创建功能分支
编写测试
运行测试:
npm test提交 PR
代码审查
所有测试通过
代码遵循规范
包含必要注释
更新相关文档
📄 许可证
ISC
🔗 相关链接
维护者: Claude Code
版本: v1.0.0
最后更新: 2025-11-02
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables LLMs to interact with ZenTao project management system, supporting project and task management operations including creating, querying, and updating projects and tasks through natural language.