使用说明
收获MCP服务器
此MCP(模型上下文协议)服务器提供与收获时间跟踪和项目管理API的集成。它允许Claude和其他兼容MCP的AI助手与您的Harvest帐户进行交互,帮助您管理时间条目、项目、客户等。
特性
服务器提供以下功能:
用户
- 列出用户
- 获取用户详细信息
时间条目
- 列出具有筛选选项的时间条目
- 创建新的时间条目
- 启动/停止计时器
- 查询时间输入详细信息
- 获取未提交的时间表(尚未提交审批的时间条目)
项目
- 列出具有筛选选项的项目(按客户端、is_active、updated_since、page、per_page)
- 检索详细的项目信息
- 创建新项目
- 更新现有项目(也用于存档:pass
is_active=False) - 删除项目(破坏性-也删除项目的时间条目和费用,但保留发票;建议存档)
任务分配
- 列出任务分配(全账户或项目范围)
- 检索详细的任务分配信息
- 创建新的任务分配(将任务链接到项目)
- 更新现有任务分配
- 删除任务分配(仅当没有记录时间条目时)
用户分配
- 列出用户分配(帐户范围或项目范围)
- 检索详细的用户分配信息
- 创建新的用户分配(将用户链接到项目)
- 更新现有用户分配
- 删除用户分配(仅当没有记录时间条目或费用时)
客户
- 列出具有筛选选项的客户端
- 检索详细的客户信息
任务
- 列出具有筛选选项的可用任务
估计
- 列出带有过滤选项的估计值(按客户端、状态、日期范围、updated_since)
- 检索详细的估算信息
- 按面向用户的数字查找估计值(例如“79”)
- 列出与估算相关的消息
- 使用行项目创建新的估算
- 更新现有估算(通过添加/更新/删除行项目
_destroy) - 在不发送电子邮件的情况下更改估计状态(发送、接受、拒绝、重新打开)
- 发送估价信息(将估价通过电子邮件发送给收件人)
- 删除估计数
安装说明
先决条件
- Python 3.10或更高版本
- 具有API访问权限的Harvest帐户
- Harvest API密钥和帐户ID
与Claude Desktop集成
-
创建或编辑您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows(MSIX安装--默认从 claude.ai/下载):
%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json - Windows(较旧/非MSIX安装):
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
添加Harvest MCP服务器配置:
{ "mcpServers": { "harvest": { "command": "uv", "args": [ "run", "--directory", "change_directory", "harvest-mcp-server.py" ], "env": { "HARVEST_ACCOUNT_ID": "account_id", "HARVEST_API_KEY": "api_key" } } } } -
重新启动克劳德桌面。
-
通过在Claude的界面中查找锤子图标来验证集成。
查询示例
连接后,您可以通过以下查询向Claude询问您的Harvest数据:
- “显示我上周的时间条目”
- “列出我的所有活动项目”
- “为项目[project_id]和任务[task_id]启动计时器”
- “显示所有活动客户”
- “列出所有可用任务”
- “获取本月未提交的时间表”
- “显示用户[user_id]的未提交时间条目”
- “显示本季度所有已接受的估计值”
- “查找编号为[数字]的估算值”
- “使用这些行项目为客户端[client_id]创建估算草案…”
- “将估计[id]标记为已发送”
- “电子邮件估计[id]client@example.com"
- 为客户端[client_id]创建一个名为[name]的新项目,按项目计费,无预算
- “存档项目[project_id]”
- “将任务[task_id]分配给可计费的项目[project_id]”
- “将用户[user_id]设置为项目[project_id]的项目经理”
- “列出分配给项目[project_id]的每个人”
定制
您可以修改服务器代码以添加更多功能,或自定义现有工具以更好地适应您的工作流程。服务器使用FastMCP,只需使用 @mcp.tool() 装饰师。
故障排除
- API错误:请确保您的Harvest API密钥和帐户ID正确,并具有必要的权限。
- 连接问题:验证您的Claude Desktop配置是否具有指向服务器脚本的正确路径。
- 缺少的依赖:确保您已在Python环境中安装了所有必需的包。
只读模式
您可以通过设置以只读模式运行服务器 HARVEST_READ_ONLY 环境变量 true这将禁用所有写入操作(创建时间条目、启动/停止计时器、创建/更新/删除估计、更改估计状态、发送估计消息以及创建/更新或删除项目、任务分配和用户分配),同时保持所有读取操作可用。
{
"mcpServers": {
"harvest": {
"command": "uv",
"args": [
"run",
"--directory",
"change_directory",
"harvest-mcp-server.py"
],
"env": {
"HARVEST_ACCOUNT_ID": "account_id",
"HARVEST_API_KEY": "api_key",
"HARVEST_READ_ONLY": "true"
}
}
}
}
启用只读模式时,任何调用写工具的尝试都将返回一条错误消息,说明服务器处于只读模式以及如何启用写访问。
安全说明
此服务器需要您的Harvest API凭据才能运行。确保:
- 确保API密钥的安全
- 不要共享claude_desktop_config.json文件
- 请考虑为此集成使用权限有限的专用API密钥
