DevHub MCP Server
DevHub MCP Server 是一个 Model Context Protocol (MCP) 服务器,用于在 Cursor IDE 中集成 DevHub 开发管理系统。通过 MCP 协议,AI 助手可以直接与 DevHub 交互,实现任务管理、评审文档生成、会话同步等功能。
注意:为保持兼容性,MCP 工具名称(
testhub_*)和环境变量(TESTHUB_*)暂时保留原名。
功能特性
- 📋 任务管理:获取任务详情、更新状态、查看待办列表
- 📝 评审文档:自动生成设计文档、代码评审文档
- 💾 会话同步:记录开发会话、关键决策、修改文件
- 🐛 Bug 管理:快速创建 Bug 报告
- 📚 文档访问:访问项目文档资源
快速开始
前置要求
- Python >= 3.10
- Cursor IDE
- DevHub 后端服务运行中
安装方式
方式一:使用 uvx(推荐)
无需单独安装,直接在 Cursor 配置中使用:
{
"mcpServers": {
"testhub": {
"command": "uvx",
"args": ["--from", "path/to/testhub_mcp", "testhub-mcp"],
"env": {
"TESTHUB_API_URL": "https://testhub.yourcompany.com/api/v1",
"TESTHUB_API_TOKEN": "your-personal-api-token",
"TESTHUB_TEAM_ID": "2",
"TESTHUB_SESSION_ID": "15"
}
}
}
}
方式二:使用 pip 安装
# 进入 testhub_mcp 目录
cd testhub_mcp
# 安装到当前环境
pip install -e .
# 或使用 uv
uv pip install -e .
配置 Cursor
-
创建或编辑 Cursor MCP 配置文件:
全局配置(适用于所有项目):
~/.cursor/mcp.json项目配置(仅适用于当前项目):
项目根目录/.cursor/mcp.json -
添加以下配置:
{
"mcpServers": {
"testhub": {
"command": "testhub-mcp",
"env": {
"TESTHUB_API_URL": "https://testhub.yourcompany.com/api/v1",
"TESTHUB_API_TOKEN": "your-personal-api-token",
"TESTHUB_TEAM_ID": "2",
"TESTHUB_SESSION_ID": "15"
}
}
}
}
配置 Cursor Rules
将 cursor_rules/testhub-integration.mdc 文件复制到项目的 .cursor/rules/ 目录:
mkdir -p .cursor/rules
cp cursor_rules/testhub-integration.mdc .cursor/rules/
或者手动创建符号链接(推荐,便于更新):
mkdir -p .cursor/rules
ln -s ../../cursor_rules/testhub-integration.mdc .cursor/rules/testhub-integration.mdc
环境变量
| 变量名 | 必填 | 说明 | 示例 |
|---|---|---|---|
TESTHUB_API_URL |
✅ | DevHub API 地址 | https://testhub.yourcompany.com/api/v1 |
TESTHUB_API_TOKEN |
✅ | 个人 API Token | th_xxx_xxxxx |
TESTHUB_TEAM_ID |
✅ | 团队 ID | 2 |
TESTHUB_SESSION_ID |
⚠️ 推荐 | 默认开发会话 ID,创建任务时自动关联 | 15 |
PROJECT_DOCS_PATH |
⬜ | 项目文档路径 | ./docs |
💡 提示:
TESTHUB_SESSION_ID虽然不是必填,但强烈建议配置。它确保所有通过 MCP 创建的任务、会话等数据都能关联到正确的开发迭代。你可以在 DevHub 前端的"开发管理"中找到活跃会话的 ID。
使用说明
基本工作流
-
开始任务
在 Cursor 中说:
开始任务 TASK-042AI 助手会:
- 调用
testhub_get_task获取任务详情 - 显示任务标题、描述、验收标准
- 更新任务状态为"进行中"
- 调用
-
开发完成后提交评审
在 Cursor 中说:
功能完成了,帮我提交评审AI 助手会:
- 分析修改的代码
- 自动生成评审文档(数据模型设计、API 设计、代码评审等)
- 上传文档到 DevHub
- 提交评审
-
结束会话
在 Cursor 中说:
今天先到这,同步一下AI 助手会:
- 整理本次会话的工作摘要
- 记录修改的文件、关键决策
- 同步到 DevHub
可用命令
| 触发语句 | 功能 |
|---|---|
| "开始任务 TASK-XXX" | 获取任务详情并开始任务 |
| "我的任务" | 查看待办任务列表 |
| "功能完成了" | 生成评审文档并提交 |
| "同步一下" | 同步当前会话记录 |
| "这里有个 bug" | 创建 Bug 报告 |
可用工具
任务管理
| 工具 | 说明 | 参数 |
|---|---|---|
testhub_get_task |
获取任务详情 | task_code (必填) |
testhub_update_task_status |
更新任务状态 | task_code, status |
testhub_list_my_tasks |
获取我的待办任务 | status, limit |
testhub_create_task |
创建新任务 | title, description, complexity |
testhub_start_task |
开始任务 | task_code |
testhub_complete_task |
完成任务 | task_code |
评审管理
| 工具 | 说明 | 参数 |
|---|---|---|
testhub_create_review |
创建功能评审 | task_code |
testhub_add_review_document |
添加评审文档 | task_code, doc_type, title, content |
testhub_submit_review |
提交评审 | task_code |
会话管理
| 工具 | 说明 | 参数 |
|---|---|---|
testhub_sync_dev_session |
同步开发会话 | session_summary, files_changed, key_decisions |
testhub_list_sessions |
列出开发会话 | limit |
testhub_switch_session |
切换开发会话 | session_id |
Bug 管理
| 工具 | 说明 | 参数 |
|---|---|---|
testhub_create_bug |
创建 Bug | title, description, severity, related_task_code |
上下文管理
| 工具 | 说明 | 参数 |
|---|---|---|
testhub_get_context |
获取当前上下文 | - |
testhub_switch_task |
切换当前任务 | task_code |
开发
本地开发
# 克隆仓库
git clone <repo-url>
cd DevHub/testhub_mcp
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装开发依赖
pip install -e ".[dev]"
# 运行测试
pytest
测试 MCP Server
使用 MCP Inspector 进行测试:
# 安装 MCP Inspector
npm install -g @modelcontextprotocol/inspector
# 启动测试
npx @modelcontextprotocol/inspector testhub-mcp
目录结构
testhub_mcp/
├── __init__.py # 包初始化
├── server.py # MCP Server 主入口
├── config.py # 配置管理
├── api_client.py # DevHub API 客户端
├── tools/ # MCP 工具实现
│ ├── __init__.py
│ ├── task.py # 任务管理工具
│ ├── review.py # 评审管理工具
│ ├── session.py # 会话同步工具
│ ├── bug.py # Bug 管理工具
│ └── docs.py # 文档工具
├── resources/ # MCP 资源提供者
│ ├── __init__.py
│ └── docs.py # 文档资源
├── pyproject.toml # 项目配置
└── README.md # 本文件
故障排除
MCP Server 无法启动
- 检查 Python 版本 >= 3.10
- 确认环境变量已正确配置
- 查看 Cursor 日志:
Help > Toggle Developer Tools > Console
无法连接 DevHub
- 检查
TESTHUB_API_URL是否正确 - 确认 API Token 有效
- 确认网络可访问 DevHub 服务
工具调用失败
- 检查必填参数是否提供
- 查看错误信息中的详细说明
- 确认对应的后端 API 已实现
许可证
MIT
相关链接
Metadata
Release files for testhub-mcp 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| testhub_mcp-0.1.2.tar.gz | 111.4 kB | Without provenance | Details for testhub_mcp-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| testhub_mcp-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for testhub_mcp-0.1.2-py3-none-any.whl |
Total release size: 249.2 kB
Release files / testhub_mcp-0.1.2.tar.gz
| Download URL | testhub_mcp-0.1.2.tar.gz |
|---|---|
| Size | 111.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51502e03a0d74b67efffbbefe0fd7c8380d6e78c70cc45d1e0e3a1b64aa10a07
|
|
BLAKE2b-256 checksum How to use checksums |
0d819fad29b35a55c49ba9158ada4e3707eff7d210e824f82b5d5eeb2d49219f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Release files / testhub_mcp-0.1.2-py3-none-any.whl
| Download URL | testhub_mcp-0.1.2-py3-none-any.whl |
|---|---|
| Size | 137.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
55484640d1b6070771438ce5590ffe3f67dd9facd4d71b24ae111afca449c9cf
|
|
BLAKE2b-256 checksum How to use checksums |
4bc8966639bda7036370851f28c8aa181f367e2930fe10866fdcc6e8f56e1cab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Security for testhub-mcp 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.