-
项目简介 Harvest MCP服务器是一个非官方的Model Context Protocol (MCP) 服务器,专为与Harvest时间追踪API无缝集成而设计。它将Harvest API的强大功能以标准化的MCP工具形式暴露给大型语言模型(LLM)客户端,例如Anthropic Claude Desktop,从而实现通过自然语言进行智能化的时间管理和业务操作。
-
主要功能点
- 全面的Harvest API v2覆盖: 提供了40多种工具,涵盖了Harvest API v2的所有主要端点,包括时间条目、项目、任务、客户、用户、费用、发票、估算和报告等。
- 类型安全与数据验证: 基于TypeScript开发,并使用Zod进行严格的数据输入和输出验证,确保数据一致性和可靠性。
- 高性能与弹性: 采用异步/等待机制和智能速率限制,保证API调用的高效性,并支持指数退避的自动重试逻辑。
- 丰富日志与可观测性: 提供结构化日志,便于调试、监控和问题诊断。
- MCP兼容性: 完全遵循Model Context Protocol规范,可以与任何兼容的MCP客户端(如Claude Desktop)无缝协作。
-
安装步骤
- 安装 Node.js: 确保您的系统已安装 Node.js 18 或更高版本。
- 获取 Harvest API 凭据:
- 登录您的 Harvest 账户。
- 前往 "Settings" → "Developers" → "Personal Access Tokens"。
- 创建一个新的个人访问令牌。
- 记下您的账户ID(通常在浏览器URL或设置中可见)。
- 安装 Harvest MCP 服务器: 您可以选择全局安装或本地安装。
- 全局安装 (推荐):
npm install -g @ianaleck/harvest-mcp-server - 本地安装:
npm install @ianaleck/harvest-mcp-server
- 全局安装 (推荐):
-
服务器配置 (供MCP客户端使用) MCP服务器需要通过环境变量获取Harvest API的访问凭据。以下是一个示例JSON配置,您可以在MCP客户端(如Claude Desktop)中添加此配置,以便客户端能够启动并连接Harvest MCP服务器。
{ "mcpServers": { "harvest": { "command": "npx", "args": ["-y", "@ianaleck/harvest-mcp-server"], "env": { "HARVEST_ACCESS_TOKEN": "您的Harvest个人访问令牌", "HARVEST_ACCOUNT_ID": "您的Harvest账户ID" } } } }- 'command': 用于启动MCP服务器的命令行指令。
- 'args': 传递给启动命令的参数。在此示例中,'-y' 允许 'npx' 命令自动安装 '@ianaleck/harvest-mcp-server' 包。
- 'env': 环境变量对象,用于向MCP服务器传递敏感信息。'HARVEST_ACCESS_TOKEN' 是您的Harvest个人访问令牌,'HARVEST_ACCOUNT_ID' 是您的Harvest账户ID。请将这些占位符替换为您的实际凭据。
-
基本使用方法 一旦您的MCP客户端配置并成功连接到 Harvest MCP 服务器,您就可以开始通过自然语言与LLM客户端交互,使用Harvest的各项功能。
- 时间追踪:
- "显示我这周的所有时间条目"
- "为'网站项目'的'开发'任务开始计时"
- "上个月我在项目X上工作了多少小时?"
- 项目管理:
- "列出Acme公司所有活跃的项目"
- "为TechStart客户创建一个名为'移动应用'的新项目"
- "显示项目预算与实际花费时间对比"
- 团队管理:
- "我们Harvest账户中有哪些用户?"
- "显示John上周的时间条目"
- 财务追踪:
- "生成第四季度的费用报告"
- "显示所有未支付的发票"
- "我们本月总的可开票工时是多少?"
- 时间追踪:
信息
分类
商业系统