跟踪时间MCP服务器
一 MCP(模型上下文协议) 将Claude等人工智能助手连接到 追踪时间 API v4。通过自然语言管理项目、任务、时间跟踪、员工分配和客户。
快速开始
1.获取您的TrackingTime凭据
- 应用程序密码: 追踪时间→ 管理→ 用户设置→ 应用程序和集成→ 创建新的应用程序密码
- 帐户ID: 登录时在您的TrackingTime URL或帐户设置中可见
2.添加到您的AI助手
克劳德代码:
claude mcp add trackingtime -e TT_APP_PASSWORD=your-app-password -e TT_ACCOUNT_ID=your-account-id -- npx trackingtime-mcp
克劳德桌面版 (claude_desktop_config.json):
{
"mcpServers": {
"trackingtime": {
"command": "npx",
"args": ["trackingtime-mcp"],
"env": {
"TT_APP_PASSWORD": "your-app-password",
"TT_ACCOUNT_ID": "your-account-id"
}
}
}
}
添加后重新启动助手。
替代方案:从源代码安装
如果您更喜欢在本地克隆和构建:
git clone https://github.com/ficus33/trackingtime-mcp.git
cd trackingtime-mcp
npm install
npm run build
cp .env.example .env # then edit .env with your credentials
然后将您的助手指向本地版本:
claude mcp add trackingtime -- node /path/to/trackingtime-mcp/dist/index.js
工具
项目
| 工具 | 说明 |
|---|
tt_list_projects | 列出项目(筛选条件:活动/已归档/全部/后续) |
tt_list_project_ids | 仅列出项目ID(轻量级,用于批处理操作) |
tt_search_projects | 按关键字搜索项目和任务 |
tt_create_project | 创建新项目 |
tt_update_project | 编辑项目名称、客户或服务 |
tt_update_project_preferences | 设置收藏夹、默认视图、显示已关闭的任务 |
tt_get_project | 获取带有详细标志的单个项目 |
tt_get_project_times | 获取多个项目的累积时间 |
tt_get_project_users | 查看项目中有哪些员工 |
tt_archive_project | 存档项目(可逆) |
tt_reopen_project | 重新打开已存档的项目 |
tt_delete_project | 永久删除项目 |
tt_merge_projects | 将一个项目合并到另一个项目中 |
任务
| 工具 | 说明 |
|---|
tt_list_tasks | 列出任务(筛选条件:活动/存档/全部/跟踪) |
tt_create_task | 创建一个包含指定人员、截止日期和估计值的任务 |
tt_update_task | 编辑任务或重新分配员工 |
tt_get_task | 获取单任务详细信息 |
tt_get_task_times | 获取多个任务的累积时间 |
tt_search_tasks | 在项目中按名称搜索任务 |
tt_sort_tasks | 按排序索引重新排序任务 |
tt_import_tasks | 具有预览模式的批量导入任务 |
tt_close_task | 将任务标记为已完成 |
tt_reopen_task | 重新打开已完成的任务 |
tt_delete_task | 删除任务 |
时间追踪
| 工具 | 说明 |
|---|
tt_start_timer | 在任务上启动计时器 |
tt_stop_timer | 停止正在运行的计时器 |
时间条目
| 工具 | 说明 |
|---|
tt_list_time_entries | 按用户/项目/客户/任务+日期范围列出条目 |
tt_list_time_entries_min | 更轻的最小列表(计费过滤器、超时) |
tt_count_time_entries | 过滤器的条目快速计数 |
tt_add_time_entry | 添加手动时间输入(持续时间以秒为单位) |
tt_get_time_entry | 获取一次输入 |
tt_update_time_entry | 编辑时间条目 |
tt_delete_time_entry | 删除时间条目 |
tt_get_events_summary | 每位用户每天的小时数摘要 |
tt_export_time_entries | 导出为CSV |
tt_mark_billed | 按账单标记条目 |
tt_mark_not_billed | 取消延迟计费条目 |
事件标签
| 工具 | 说明 |
|---|
tt_list_tags | 列出所有标签定义 |
tt_get_tag | 获取单个标签 |
tt_list_tag_values | 列出用于标记名称的值 |
tt_create_tag | 创建标记定义 |
tt_update_tag | 更新标签 |
tt_delete_tag | 删除标记定义 |
tt_save_event_tag | 在时间条目上附加/更新标签 |
tt_delete_event_tag | 从时间条目中删除标签 |
用户和员工
| 工具 | 说明 |
|---|
tt_list_users | 列出所有员工(查找用户ID) |
tt_get_user | 获取单用户详细信息 |
tt_create_user | 创建用户(替换已删除的 tt_invite_users) |
tt_update_user | 更新用户配置文件 |
tt_update_user_permissions | 设置精细编辑/查看权限 |
tt_update_employee | 更新人力资源字段(职位、部门、日期等) |
tt_resend_invite | 向待定用户重新发送激活电子邮件 |
tt_reset_icalendar_token | 旋转用户的iCal导出令牌 |
tt_get_user_tasks | 按项目分组列出用户的任务 |
tt_get_user_tracking | 查看用户当前正在跟踪的内容 |
tt_get_user_trackables | 分配给用户的所有项目和任务 |
tt_get_user_projects | 列出分配给用户的项目 |
tt_assign_user_projects | 为项目分配员工 |
tt_remove_user_projects | 从项目中删除员工 |
tt_archive_user | 停用用户(仅限管理员) |
tt_reactivate_user | 重新激活已存档的用户 |
用户组
| 工具 | 说明 |
|---|
tt_list_user_groups | 列出组(筛选条件:活动/存档/全部) |
tt_get_user_group | 获取单个组 |
tt_create_user_group | 创建一个组(需要主管+成员) |
tt_update_user_group | 更新组(通过存档 status: "ARCHIVED") |
tt_delete_user_group | 永久删除组 |
客户
| 工具 | 说明 |
|---|
tt_list_customers | 列出客户(筛选条件:活动/已存档/所有) |
tt_get_customer | 获取单一客户详细信息 |
tt_create_customer | 创建新客户 |
tt_update_customer | 编辑客户详细信息 |
tt_delete_customer | 永久删除客户 |
tt_archive_customer | 为客户存档(可逆) |
tt_reactivate_customer | 重新激活已存档的客户 |
服务
| 工具 | 说明 |
|---|
tt_list_services | 列出服务(工作类别) |
tt_get_service | 获取服务 |
tt_create_service | 创建新服务 |
tt_update_service | 更新服务 |
tt_archive_service | 存档服务(可逆) |
tt_reactivate_service | 重新激活已存档的服务 |
tt_delete_service | 永久删除服务 |
团队(工作区)
| 工具 | 说明 |
|---|
tt_list_teams | 列出用户所属的所有工作区 |
tt_switch_team | 切换会话的活动工作区 |
tt_update_team_permissions | 更新默认成员权限 |
报告
| 工具 | 说明 |
|---|
tt_get_user_report | 每用户分析报告,包括图表和细分 |
通知
| 工具 | 说明 |
|---|
tt_list_notifications | 列表通知(用户或项目范围) |
tt_mark_notification_read | 将一个通知标记为已读 |
tt_mark_notifications_read | 将许多通知标记为已读 |
网络钩子
| 工具 | 说明 |
|---|
tt_list_webhooks | 列出已配置的Webhook |
tt_get_webhook | 获取webhook |
tt_enable_webhook | 启用webhook |
tt_disable_webhook | 禁用webhook |
tt_reset_webhook_token | 旋转webhook的签名令牌 |
tt_delete_webhook | 删除webhook |
减少刀具数量
默认情况下,所有93个工具都处于活动状态。如果你发现这为你的人工智能助手增加了太多的上下文,你可以克隆你不需要的仓库、注释输出工具 src/tools.ts 随着 /* */,然后运行 npm run build 打造更苗条的身材。
测试
使用 MCP检查员 交互式测试工具:
npx @modelcontextprotocol/inspector npx trackingtime-mcp
API注释
需要注意的几个TrackingTime API怪癖:
duration 和 accumulated_time 在里面 秒estimated_time 和 worked_hours 在里面 小时- 时间条目在API中称为“事件”
- 当计时器已经运行时启动计时器会返回错误502--use
stop_running_task=true 自动停止当前计时器 - 日期使用
YYYY-MM-DD,日期时间使用 yyyy-MM-dd HH:mm:ss
认证
此服务器使用TrackingTime的 应用程序密码 身份验证。您的真实密码永远不会被存储。应用程序密码以HTTP基本身份验证的形式发送(API_TOKEN:)通过SSL。
如果应用程序密码被泄露,请在TrackingTime中撤销它并创建一个新的密码——无需更改您的帐户密码。
许可证
麻省理工学院