@wallacewen/tapd-mcp-server
Version:
Model Context Protocol server for TAPD (Tencent Agile Product Development) - Provides professional weekly report generation and timesheet analysis
349 lines (280 loc) • 9.09 kB
Markdown
# TAPD MCP Server - 本周工作数据获取助手
一个专为AI助手设计的Model Context Protocol (MCP) 服务器,集成TAPD工时系统,获取本周项目、人员、工作事项、工时和花费等综合工作数据。
## 概述
TAPD MCP Server 让AI助手能够通过Model Context Protocol协议访问TAPD工时数据,获取完整的本周工作信息。主要功能包括:
* **项目信息获取** - 获取员工参与的各个项目详情
* **人员工作分配** - 查看人员在不同项目中的工作分布
* **工作事项详情** - 获取具体的任务和工作内容描述
* **工时统计分析** - 统计各项目和任务的时间投入
* **资源花费情况** - 分析工作成本和资源利用情况
## 最新更新
### 🔄 POST请求适配 (v1.0.0)
已完全适配实际的TAPD API POST请求格式:
- ✅ 请求方式:`POST http://porsche-tapd-inc.chinahuanong.com.cn/ai/queryTimeSheets`
- ✅ 内容类型:`application/x-www-form-urlencoded`
- ✅ 参数顺序:`name`, `endDate`, `startDate` (与实际API保持一致)
- ✅ 编码方式:URL编码格式 (`name=潘明哲&endDate=2025-05-23&startDate=2025-05-23`)
- ✅ 错误处理:详细的请求和响应日志
- ✅ 连接测试:使用实际API端点进行连接验证
### 🧪 测试功能
新增测试脚本,可以快速验证TAPD连接和数据查询:
```bash
# 安装依赖
pnpm install
# 运行TAPD连接测试
pnpm run test:tapd
# 或者直接运行
ts-node --esm src/test-tapd.ts
```
## 核心功能
- **本周工作数据查询** - 基于员工姓名和日期范围获取完整工作数据
- **多维度信息整合** - 项目、人员、任务、工时、成本一体化查询
- **结构化数据输出** - 支持结构化JSON数据输出,便于AI分析
- **参数严格验证** - 使用Zod进行参数验证确保数据准确性
- **完整TypeScript支持** - 提供类型安全保障
## Claude Desktop 使用配置
1. 编辑 `claude_desktop_config.json`:
- 打开 Claude Desktop
- 进入 `Settings` -> `Developer` -> `Edit Config`
- 添加以下配置到 `mcpServers` 部分
2. 重启 Claude Desktop 使配置生效
### Docker 部署
```json
{
"mcpServers": {
"tapd-weekly-data": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TAPD_BASE_URL",
"your-username/tapd-mcp-server"
],
"env": {
"TAPD_BASE_URL": "http://your-tapd-server.com"
}
}
}
}
```
### NPX 部署
```json
{
"mcpServers": {
"tapd-weekly-data": {
"command": "npx",
"args": [
"-y",
"tapd-mcp-server@1.0.0"
],
"env": {
"TAPD_BASE_URL": "http://your-tapd-server.com"
}
}
}
}
```
### 本地开发配置
```json
{
"mcpServers": {
"tapd-weekly-data": {
"command": "node",
"args": [
"/path/to/tapd-mcp-server/dist/index.js"
],
"env": {
"TAPD_BASE_URL": "http://your-tapd-server.com"
}
}
}
}
```
## 可用工具
### 本周工作数据获取
`get_weekly_work_summary`: 获取员工本周综合工作数据
* 参数:
* `employee_name` (必需) - 员工姓名
* `week_start_date` (必需) - 周开始日期 (YYYY-MM-DD格式,通常为周一)
* `week_end_date` (必需) - 周结束日期 (YYYY-MM-DD格式,通常为周日)
* 返回数据包含:
* **项目信息** - 员工参与的项目列表和详情
* **工作事项** - 具体任务和工作内容
* **工时分配** - 各项目和任务的时间投入
* **成本花费** - 人力资源成本统计
## 🎯 可用提示词
TAPD MCP服务器提供了多个智能提示词,帮助AI更好地分析和使用工作数据:
### 1. `weekly_report_analysis` - 周报分析
**功能**: 生成全面的周工作报告分析
**参数**:
- `employee_name` (必需) - 要分析的员工姓名
- `week_start_date` (必需) - 周开始日期 (YYYY-MM-DD格式)
- `week_end_date` (必需) - 周结束日期 (YYYY-MM-DD格式)
- `analysis_focus` (可选) - 分析重点 (如:生产力、项目分布、时间分配)
**输出**: 详细的周报分析框架,包含工作量分析、项目分布、任务类型统计等维度
### 2. `project_team_analysis` - 项目团队协作分析
**功能**: 分析团队工作分布和协作模式
**参数**:
- `project_name` (必需) - 要分析的项目名称
- `team_members` (必需) - 团队成员名单 (逗号分隔)
- `week_start_date` (必需) - 分析期间开始日期
- `week_end_date` (必需) - 分析期间结束日期
**输出**: 团队协作分析框架,包含人员投入、任务分工、协作效率等
### 3. `personal_productivity_insights` - 个人效率洞察
**功能**: 基于工作模式生成个人效率洞察和建议
**参数**:
- `employee_name` (必需) - 要分析的员工姓名
- `analysis_period_weeks` (可选) - 分析周数 (默认: 4)
- `current_date` (可选) - 当前日期参考 (YYYY-MM-DD格式)
**输出**: 个人效率分析框架,包含工作模式识别、效率评估、成长建议等
### 4. `tapd_data_query_guide` - 数据查询指南
**功能**: TAPD MCP服务器使用指南和最佳实践
**参数**: 无
**输出**: 完整的使用指南,包含工具说明、查询模式、分析技巧等
## 🚀 提示词使用示例
### 生成员工周报
```
使用 weekly_report_analysis 提示词:
- employee_name: "张三"
- week_start_date: "2025-05-20"
- week_end_date: "2025-05-26"
- analysis_focus: "生产力分析"
```
### 团队协作分析
```
使用 project_team_analysis 提示词:
- project_name: "CRM系统"
- team_members: "张三,李四,王五"
- week_start_date: "2025-05-20"
- week_end_date: "2025-05-26"
```
## 环境变量
* `TAPD_BASE_URL` - TAPD系统地址 (默认: http://porsche-tapd-inc.chinahuanong.com.cn)
## 本周工作数据获取示例
### 获取个人本周工作概况
```
请获取张三本周(2025年1月6日到2025年1月12日)的完整工作数据,包括参与的项目、具体工作事项、工时分配和资源花费情况。
```
### 分析项目人员投入
```
请获取张三、李四、王五三人本周的工作数据,分析CRM项目的人员投入、工作进展和成本花费情况。
```
### 工作量和成本统计
```
请分析张三本周的工作分布,统计各项目的工时占比、主要工作事项和相应的资源成本。
```
## 返回数据格式
### 本周工作数据响应
```json
{
"success": true,
"message": "Success",
"total": 15,
"data": [
{
"id": "12345",
"name": "张三",
"date": "2025-01-08",
"hours": 8.0,
"project": "CRM客户管理系统",
"task": "用户权限模块开发",
"description": "完成角色权限分配功能,包括前端界面设计和后端权限验证逻辑实现",
"cost_rate": "500/天",
"project_phase": "开发阶段"
},
{
"id": "12346",
"name": "张三",
"date": "2025-01-09",
"hours": 6.5,
"project": "数据分析平台",
"task": "销售报表优化",
"description": "优化销售数据查询性能,重构报表生成逻辑,添加数据缓存机制",
"cost_rate": "500/天",
"project_phase": "优化阶段"
},
{
"id": "12347",
"name": "张三",
"date": "2025-01-10",
"hours": 7.5,
"project": "CRM客户管理系统",
"task": "API接口联调",
"description": "与前端团队联调用户管理API,修复数据格式问题,完成集成测试",
"cost_rate": "500/天",
"project_phase": "测试阶段"
}
]
}
```
### 数据分析维度
#### 项目维度
- 项目名称和阶段
- 项目投入总工时
- 项目成本统计
- 项目进展情况
#### 人员维度
- 员工工作分配
- 每日工作强度
- 技能应用情况
- 工作效率分析
#### 工作事项维度
- 任务类型分布
- 任务完成进度
- 工作内容详情
- 任务优先级
#### 工时维度
- 总工时统计
- 项目时间分配
- 每日工时分布
- 加班情况分析
#### 成本维度
- 人力成本计算
- 项目预算使用
- 资源利用率
- 成本效益分析
## 开发指南
1. 克隆仓库:
```bash
git clone https://github.com/yourusername/tapd-mcp-server.git
cd tapd-mcp-server
```
2. 安装依赖:
```bash
pnpm install
```
3. 构建项目:
```bash
pnpm run build
```
4. 配置 Claude Desktop
```json
{
"mcpServers": {
"tapd-weekly-data": {
"command": "node",
"args": [
"/path/to/tapd-mcp-server/dist/index.js"
],
"env": {
"TAPD_BASE_URL": "http://your-tapd-server.com"
}
}
}
}
```
### 开发环境要求
* Node.js 20 或更高版本
* pnpm 10.7.0 或更高版本
* Docker (用于容器化构建)
### 开发脚本
* `pnpm run build` - 构建TypeScript代码
* `pnpm run start` - 启动服务器
* `pnpm run dev` - 开发模式启动
* `pnpm run test` - 运行测试
* `pnpm run lint` - 代码检查
* `pnpm run format` - 代码格式化
## 许可证
MIT