工时表管理服务器

TimePro MCP Server是一个封装TimePro API的模型上下文协议服务器,支持AI助手为认证用户自动创建和管理工时表。

  • by calumjs
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 calumjs/TimePRO.MCP

使用说明

TimePro MCP服务器

一个MCP(模型上下文协议)服务器,它封装了TimePro API,使人工智能助手能够代表经过身份验证的用户自动创建和管理时间表。

观看上面的视频了解更多信息。

特性

  • 列出客户 -搜索要在时间表中使用的客户
  • 列出项目 -为特定客户获取项目
  • 列出类别 -获取可用时间表类别(开发、会议等)
  • 列出地点 -获取可用的工作地点
  • 获取时间表默认值 -获取默认值,包括上次使用的客户端/项目
  • 列出时间表 -查看日期范围的时间表
  • 获取时间表 -获取特定时间表的完整详细信息
  • 创建时间表 -创建新的时间表条目
  • 更新时间表 -修改现有时间表
  • 删除时间表 -删除时间表

快速启动(npx-无需安装)

添加到您的Claude桌面配置(claude_desktop_config.json):

{
  "mcpServers": {
    "timepro": {
      "command": "npx",
      "args": ["-y", "github:calumjs/TimePRO.MCP"],
      "env": {
        "TIMEPRO_API_URL": "https://ssw.sswtimepro.com",
        "TIMEPRO_API_KEY": "your-api-key-here",
        "TIMEPRO_TENANT_ID": "ssw"
      }
    }
  }
}

配置文件位置:

  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

配置

服务器需要三个环境变量:

变量 描述 示例
TIMEPRO_API_URL TimePRO基本URL https://ssw.sswtimepro.com
TIMEPRO_API_KEY 您的个人访问令牌 abc123...
TIMEPRO_TENANT_ID 您的租户ID ssw

如何获取API密钥

  1. 登录TimePRO:转到您的TimePro实例并登录
  2. 导航到API密钥页首选 管理>API密钥
  3. 生成或复制密钥:如果您已经有密钥,它将显示出来。如果需要,单击“生成”以创建新密钥。
  4. 复制密钥:安全存放

如何查找您的租户ID

租户ID在以下位置可见:

  1. 登录TimePro时的URL(例如。, https://ssw.sswtimepro.com/b/ssw/... -租户为“ssw”)
  2. 这 x-timepro-tenant-id 浏览器开发工具中的标头(网络选项卡)
  3. 询问您的TimePRO管理员

替代方案:本地安装

如果您更喜欢在本地安装:

git clone https://github.com/calumjs/TimePRO.MCP.git
cd TimePRO.MCP
npm install
npm run build

然后使用此配置:

{
  "mcpServers": {
    "timepro": {
      "command": "node",
      "args": ["/path/to/TimePRO.MCP/dist/index.js"],
      "env": {
        "TIMEPRO_API_URL": "https://ssw.sswtimepro.com",
        "TIMEPRO_API_KEY": "your-api-key-here",
        "TIMEPRO_TENANT_ID": "ssw"
      }
    }
  }
}

使用示例

配置后,您可以让Claude自然地管理您的时间表:

  • “我可以接触哪些客户?”
  • “显示我本周的时间表”
  • “为SSW内部工作创建一个时间表,从今天上午9点到下午5点”
  • “记录SugarLearning项目2小时的开发工作”
  • “删除我昨天的时间表”

工具参考

list_clients

按名称搜索客户。

参数:

  • search_text (可选):按名称筛选客户端

list_项目

为客户获取项目。

参数:

  • client_id (必填):客户端ID(字符串,例如“SSW”)

列表_类别

获取可用的时间表类别。没有参数。

list_location

获取可用的工作地点。没有参数。

get_timesheet_defaults

获取创建时间表的默认值。

参数:

  • date (必填):YYYY-MM-DD格式的日期

list_时间表

列出日期范围内的时间表。

参数:

  • start_date (必填):开始日期,格式为YYYY-MM-DD
  • end_date (必填):YYYY-MM-DD格式的结束日期

获取时间表

获取特定时间表的详细信息。

参数:

  • timesheet_id (必填):时间表ID(编号)

创建时间表

创建新的时间表条目。

参数:

  • client_id (必填):客户端ID(字符串)
  • project_id (必填):项目ID(字符串)
  • category_id (必填):类别ID(字符串)
  • date (必填):YYYY-MM-DD格式的日期
  • start_time (必填):HH:MM格式的开始时间
  • end_time (必填):HH:MM格式的结束时间
  • break_minutes (可选):休息时间(分钟)(默认值:0)
  • location_id (可选):工作地点ID
  • billable_id (可选):计费类别ID
  • note (可选):工作描述

update_timesheet

更新现有时间表。

参数:

  • timesheet_id (必填):时间表ID(编号)
  • create_timesheet中的所有其他参数(可选)

删除时间表

删除时间表。

参数:

  • timesheet_id (必填):时间表ID(编号)

故障排除

“缺少必需的环境变量”

确保在Claude Desktop配置中设置了所有三个环境变量。

“TimePRO API错误(401)”

您的API密钥可能无效或已过期。从TimePRO管理>API密钥生成一个新密钥。

“TimePro API错误(403)”

您的用户帐户可能没有请求操作的权限。

连接问题

验证 TIMEPRO_API_URL 是正确的,可以从您的网络访问。

许可证

麻省理工学院