使用说明
项目简介
Harvest Natural Language Time Entry Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在通过自然语言处理简化 Harvest 时间跟踪。用户可以使用日常口语化的指令,例如“昨天在项目X上工作了3小时”或“下周请年假”,服务器会自动解析这些指令并在 Harvest 中记录相应的时间条目或生成时间报告。
主要功能点
- 自然语言时间条目记录: 支持使用自然语言描述工作内容和时长,服务器自动解析并记录到 Harvest。
- 智能日期解析: 能够理解“今天”、“昨天”、“上周”、“下个月”等时间描述。
- 自动项目和任务匹配: 根据自然语言指令,自动匹配 Harvest 中的项目和任务。
- 休假请求处理: 专门处理休假请求,例如“我今天病了”,自动按标准工作时长记录休假时间。
- 时间报告生成: 支持使用自然语言查询生成各种时间报告,例如按项目、客户、任务或团队成员查看时间汇总。
安装步骤
- 安装 Claude 桌面应用: 访问 Claude 桌面应用 下载并安装 Claude 桌面应用 (MCP 客户端)。
- 克隆仓库: 在本地克隆 Harvest MCP Server 仓库:
git clone https://github.com/adrian-dotco/harvest-mcp-server.git cd harvest-mcp-server - 安装依赖并构建: 运行以下命令安装项目依赖并构建:
npm install npm run build - 运行配置脚本: 执行配置脚本,根据提示输入 Harvest API 凭据和工作日配置:
按照提示输入:node build/setup.js- Harvest Personal Access Token (个人访问令牌,来自 Harvest Developer Tools)
- Harvest Account ID (账户 ID,同上页面)
- Standard work day hours (标准工作时长,默认 7.5 小时)
- Timezone (时区,默认 Australia/Perth)
- 重启 Claude 桌面应用: 完成配置后,重启 Claude 桌面应用使配置生效。
服务器配置
MCP 客户端 (如 Claude 桌面应用) 需要配置以下 JSON 信息以连接到 Harvest MCP Server。此配置通常由 'setup.js' 脚本自动完成,写入 Claude 的配置文件中。以下是配置示例,如果手动配置,请参考此格式:
{ "mcpServers": { "harvest-server": { "command": "node", // 启动服务器的命令,这里使用 Node.js 运行时 "args": [ // 启动命令的参数 "build/index.js" // 服务器入口文件路径 ], "env": { // 环境变量配置 "HARVEST_ACCESS_TOKEN": "<Your Harvest Personal Access Token>", // 你的 Harvest 个人访问令牌,请替换为实际令牌 "HARVEST_ACCOUNT_ID": "<Your Harvest Account ID>", // 你的 Harvest 账户 ID,请替换为实际账户 ID "STANDARD_WORK_DAY_HOURS": "7.5", // 标准工作时长,默认 7.5 小时,可根据需要修改 "TIMEZONE": "Australia/Perth" // 时区,默认 Australia/Perth,可根据你的时区修改 }, "disabled": false, // 是否禁用该服务器,false 表示启用 "autoApprove": [] // 自动批准的工具列表,空数组表示不自动批准任何工具 } } }
注意: '<Your Harvest Personal Access Token>' 和 '<Your Harvest Account ID>' 需要替换为你自己的 Harvest API 凭据。
基本使用方法
配置完成后,在 MCP 客户端 (如 Claude 桌面应用) 中,可以使用自然语言指令与 Harvest MCP Server 交互。以下是一些示例指令:
- 记录时间:
- '2 hours on Project X doing development work today' (今天在项目 X 上工作了 2 小时,进行开发工作)
- '45 minutes on Project Y testing yesterday' (昨天在项目 Y 上测试了 45 分钟)
- 'I'm off sick today' (我今天病了 - 自动记录休假)
- 获取时间报告:
- 'Show time report for last month' (显示上个月的时间报告)
- 'Get time summary for this week' (获取本周的时间汇总)
- 'Show time report by client for this month' (显示本月按客户划分的时间报告)
- 列出项目和任务:
- 'List my projects' (列出我的项目)
- 'Show tasks for Project X' (显示项目 X 的任务)
- 查看最近的时间条目:
- 'Show my recent time entries' (显示我最近的时间条目)
更多使用示例和详细指令,请参考仓库 README 文档。
信息
分类
生产力应用