🚀 tpm-mcp
tpm-mcp 是一款集成式的人工智能技术项目管理工具,它能让Claude具备跟踪项目、功能和任务的能力。借助它,你可以与Claude进行项目进度沟通、分解任务,从而更高效地推进项目。
🚀 快速开始
tpm-mcp 是一个本地MCP(模型上下文协议)服务器,它赋予了Claude跟踪你的项目、功能和任务的能力。你可以将其视为一位专职的技术项目经理(TPM),它能够:
- 跨会话记住你正在处理的工作。
- 将复杂的功能分解为可管理的任务。
- 跟踪进度和阻碍因素。
- 为你提供即时的状态更新。
所有数据都存储在快速的SQLite数据库中,无需云端服务,也无需订阅,只有你和你的人工智能TPM。
示例演示
你: :TPM: 目前有哪些工作正在进行中?
Claude: 以下是你当前的路线图:
# 路线图摘要
**统计信息**:3/8 个工单,12/25 个任务(完成度 48%)
## ExampleOrg
### backend-api
工单:3/5 已完成
- [~] **FEAT-003**:支付集成(高优先级)
任务:2/4
- [~] TASK-003-1:Stripe 网络钩子处理程序
- [ ] TASK-003-2:发票生成
- [ ] **FEAT-004**:电子邮件通知
任务:0/3
✨ 主要特性
| 属性 |
详情 |
| 快速 |
使用 SQLite + WAL 模式实现亚毫秒级查询 |
| 本地 |
所有数据存储在 ~/.local/share/tpm-mcp/tpm.db |
| 自然 |
只需自然对话,例如 “我完成了身份验证功能” |
| 分层 |
支持组织 → 项目 → 工单 → 任务的层级结构 |
| 丰富的元数据 |
包含优先级、标签、负责人、复杂度、备注等信息 |
| 导出/导入 |
支持完整的 JSON 导出/导入,方便备份和迁移 |
📦 安装指南
1. 克隆并安装
git clone https://github.com/yourusername/tpm-mcp.git
cd tpm-mcp
uv venv && uv pip install -e .
2. 添加到 Claude 代码
claude mcp add tpm --scope user -- uv run --directory /path/to/tpm-mcp tpm-mcp
或者手动编辑 settings.json
在 ~/.claude/settings.json 中添加以下内容:
{
"mcpServers": {
"tpm": {
"command": "uv",
"args": ["run", "--directory", "/path/to/tpm-mcp", "tpm-mcp"]
}
}
}
3. (可选)启用 TPM 代理行为
若要获得完整体验,请添加 TPM 代理说明:
mkdir -p .claude
ln -s /path/to/tpm-mcp/agents/tpm.md .claude/tpm.md
然后在你的 CLAUDE.md 中添加:
请参考 .claude/tpm.md 了解项目跟踪工作流程。
💻 使用示例
快速命令
| 这样说... |
Claude 会... |
:TPM: status |
显示完整的路线图 |
:TPM: add auth feature |
创建一个新工单 |
I finished the payment integration |
将工单标记为已完成 |
Break down the API refactor |
创建子任务 |
What's blocking us? |
显示受阻的项目 |
工作流程示例
你: :TPM: 为后端项目添加用户身份验证功能
Claude: 已在 backend-api 中创建工单 FEAT-005:“用户身份验证”
状态:待办,优先级:中
你: 将其设为高优先级并分解任务
Claude: 已将 FEAT-005 的优先级更新为高。已创建任务:
- TASK-005-1:设计身份验证架构
- TASK-005-2:实现 JWT 中间件
- TASK-005-3:添加登录/注销端点
- TASK-005-4:编写身份验证测试
你: 开始处理 JWT 中间件
Claude: 已将 TASK-005-2 标记为进行中。
FEAT-005 现在处于进行中状态。
你: 中间件已完成,测试通过
Claude: 已将 TASK-005-2 标记为已完成(4 个任务中的第 1 个已完成)
📚 详细文档
工具参考
查看工具
| 工具 |
描述 |
roadmap_view |
显示包含所有组织、项目、工单和任务的完整路线图 |
ticket_get |
显示单个工单及其任务的详细信息 |
info |
显示服务器统计信息和数据库信息 |
工单工具
| 工具 |
描述 |
ticket_create |
使用标题、描述、优先级和标签创建工单 |
ticket_update |
更新工单的状态、优先级、负责人等信息 |
ticket_list |
列出工单,可按项目或状态进行过滤 |
任务工具
| 工具 |
描述 |
task_create |
在工单下创建任务 |
task_update |
更新任务的状态、详细信息和复杂度 |
task_list |
列出任务,可按工单或状态进行过滤 |
组织工具
| 工具 |
描述 |
org_create |
创建组织 |
org_list |
列出所有组织 |
project_create |
在组织下创建项目 |
project_list |
列出项目 |
note_add |
为任何实体添加备注 |
数据模型
组织
└── 项目
└── 工单(功能/史诗/缺陷)
├── 任务
└── 备注
工单状态:待办 → 计划中 → 进行中 → 已完成 | 受阻
任务状态:待处理 → 进行中 → 已完成 | 受阻
优先级:关键 > 高 > 中 > 低
导出与导入
你可以将项目数据导出和导入为 JSON 格式,以便进行备份、恢复或与其他工具进行互操作。
导出数据
将所有项目数据导出为 JSON:
uv run tpm-json-export
uv run tpm-json-export -o backup.json
uv run tpm-json-export --db-path /path/to/custom.db -o backup.json
导入数据
从 JSON 导出文件导入数据,以重新创建数据库或从备份中恢复:
uv run tpm-json-import --dry-run backup.json
uv run tpm-json-import backup.json
uv run tpm-json-import --db-path /path/to/db.db backup.json
uv run tpm-json-import --clear backup.json
JSON 格式包含所有数据:组织、项目、工单、任务、备注和任务依赖关系。使用场景包括:
- 备份与恢复:定期导出数据,在数据库损坏时进行恢复。
- 重新创建数据库:通过导入之前的导出文件重新开始。
- 导出到其他工具:使用 JSON 格式迁移到其他项目管理工具。
- 在机器之间同步:在一台机器上导出,在另一台机器上导入。
PDF 状态报告
你可以根据项目数据生成美观、可共享的 PDF 报告。
设置与使用
使用报告技能
tpm-report 技能可以教会 Claude 如何生成专业的状态报告。要启用它,请执行以下操作:
cp -r /path/to/tpm-mcp/skills/tpm-report .claude/skills/
然后向 Claude 提出请求:
你: 生成一份项目状态报告
Claude: [获取路线图数据,生成样式化的 HTML,转换为 PDF]
PDF 报告已保存到:Project-Status-2025-12-02.pdf
先决条件
- tpm-mcp:此 MCP 服务器(用于获取
roadmap_view 数据)
- Playwright MCP:用于自动将 HTML 转换为 PDF
安装 Playwright MCP
claude mcp add playwright-headless --scope user -- npx @playwright/mcp@latest --headless
claude mcp add playwright-headless --scope user -- npx @playwright/mcp@latest --isolated --headless
或者手动编辑 settings.json
在 ~/.claude/settings.json 中添加以下内容:
{
"mcpServers": {
"playwright-headless": {
"command": "npx",
"args": ["@playwright/mcp@latest", "--headless"]
}
}
}
如果没有安装 Playwright,Claude 将生成一个 HTML 文件,你可以手动将其打印为 PDF。
报告内容
| 部分 |
内容 |
| 进度概述 |
工单和任务的可视化进度条 |
| 项目细分 |
每个项目的已完成、进行中和待办事项 |
| 关键里程碑 |
主要成就和当前重点 |
| 阻碍因素与风险 |
需要关注的事项 |
手动生成报告
如果你更喜欢手动控制,可以使用 roadmap_view 并选择 JSON 格式:
你: :TPM: 以 JSON 格式显示路线图
Claude: [返回结构化的 JSON 数据]
然后使用你喜欢的工具对输出进行格式化。
从旧版跟踪器迁移
如果你使用的是具有不同格式的旧版基于 JSON 的跟踪器,可以使用以下命令进行迁移:
uv run tpm-migrate /path/to/old-tracker
此工具可以将旧版 JSON 跟踪器格式进行转换。对于标准的导出/导入操作,请使用上述的 tpm-json-export 和 tpm-json-import 命令。
开发
uv pip install -e ".[dev]"
uv run pytest tests/ -v
为何选择本地部署
- 隐私:你的项目数据永远不会离开你的机器。
- 速度:SQLite 在此用例中速度极快。
- 可靠性:没有 API 速率限制,不会出现停机情况,可离线工作。
- 简单性:只有一个数据库文件,易于备份或同步。
📄 许可证
本项目采用 MIT 许可证,你可以自由使用。
引用
@software{Bhatia_TPM-MCP_A_Local_2025,
author = {Bhatia, Urjit Singh},
license = {MIT},
title = {{TPM-MCP: A Local Technical Product Manager MCP Server}},
url = {https://github.com/urjitbhatia/tpm-mcp},
year = {2025}
}