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