时间追踪MCP服务

一个连接AI助手与TrackingTime API的MCP服务器,通过自然语言管理项目、任务、时间追踪、员工分配和客户。

  • by ficus33
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 ficus33/trackingtime-mcp

使用说明

跟踪时间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:<app_password>)通过SSL。

如果应用程序密码被泄露,请在TrackingTime中撤销它并创建一个新的密码——无需更改您的帐户密码。

许可证

麻省理工学院