收获时间跟踪MCP服务器
](https://www.npmjs.com/package/@mayankg0324/mcp-server-harvest)
一个基于TypeScript的MCP(模型上下文协议)服务器,用于Harvest时间跟踪应用程序,使LLM客户端能够与Harvest帐户进行交互。
安装
npx -y @mayankg0324/mcp-server-harvest先决条件
- >=18(或 Bun运行时 发展)
- 具有API访问权限的Harvest帐户
- Harvest的API个人访问令牌
- Harvest的帐户ID
_有关如何创建个人访问令牌的更多详细信息,请参阅 Harvest API文档._
可用工具
| 工具 | 描述 | 输入 | 输出 |
|---|---|---|---|
get-company | 获取公司信息 | 无 | 公司信息(名称、URL、ID和货币) |
search-clients | 搜索客户端 | •name:string(可选)-客户端名称 | |
| •isActive:boolean(可选)-活动状态 | 带有ID和详细信息的客户端列表 | ||
get-client | 获取客户端信息 | •clientId:string-客户端ID | 客户端详细信息 |
search-projects | 搜索项目 | •name:string(可选)-项目名称 |
•客户端ID:string(可选)-客户端ID •isActive:boolean(可选)-活动状态|带有ID和详细信息的项目列表| | get-project |获取项目信息|•projectId:string-项目ID|详细项目信息| | list-users |列出所有用户|无|具有ID和详细信息的用户列表| | get-user |获取用户信息|•userId:string-用户ID|详细用户信息| | list-project-users |列出项目用户分配|•projectId:string-项目ID|分配给项目的用户列表| | list-project-tasks |列出项目任务分配|•projectId:string-项目ID|分配给项目的任务列表| | search-time-entries |搜索时间条目|•from:string(可选)-开始日期(YYYY-MM-DD) •to:string(可选)-结束日期(YYYY-MM-DD) •userId:string(可选)-用户ID •projectId:string(可选)-项目ID •clientId:string(可选)-客户端ID|包含详细信息的时间条目列表| | get-time-entry |获取时间条目详细信息|•timeEntryId:string-时间条目ID|详细的时间条目信息| | create-time-entry |创建新的时间条目|•projectId:string-项目ID •taskId:string-任务ID •userId:string-用户ID •小时数-花费的小时数 •备注:字符串(可选)-其他备注|创建的时间条目详细信息|
_注: 更多工具即将推出。_
用法
克劳德桌面
打开Claude桌面配置文件 claude-desktop-config.json 并在下面添加以下内容 mcpServers:
{
"mcpServers": {
"Harvest": {
"command": "npx",
"args": [
"-y",
"@mayankg0324/mcp-server-harvest"
],
"env": {
"HARVEST_ACCOUNT_ID": "",
"HARVEST_ACCESS_TOKEN": "",
"HARVEST_BASE_URL": ""
}
}
}
}光标IDE
打开Cursor IDE配置文件 ~/.cursor/mcp.json 或 /.cursor/mcp.json 并在下面添加以下内容 mcpServers:
{
"mcpServers": {
"Harvest": {
"command": "npx",
"args": [
"-y",
"@mayankg0324/mcp-server-harvest"
],
"env": {
"HARVEST_ACCOUNT_ID": "",
"HARVEST_ACCESS_TOKEN": "",
"HARVEST_BASE_URL": ""
}
}
}
}故障排除
spawn npx ENOENT 或 env: node: No such file or directory
当您的MCP客户端(Claude Desktop、Cursor)找不到时,就会发生这种情况 npx 或 node 在其路径中。GUI应用程序通常不会继承shell的PATH,特别是如果你使用像这样的版本管理器 非挥发性物质, fnm,或 伏打.
修复: 使用完整路径 npx 并将您的Node bin目录包含在 PATH env变量:
# Find your npx and node paths
which npx
# e.g. /Users/you/.nvm/versions/node/v22.20.0/bin/npx然后更新您的MCP配置:
{
"mcpServers": {
"Harvest": {
"command": "/Users/you/.nvm/versions/node/v22.20.0/bin/npx",
"args": [
"-y",
"@mayankg0324/mcp-server-harvest"
],
"env": {
"PATH": "/Users/you/.nvm/versions/node/v22.20.0/bin:/usr/bin:/bin",
"HARVEST_ACCOUNT_ID": "",
"HARVEST_ACCESS_TOKEN": "",
"HARVEST_BASE_URL": ""
}
}
}
}本地开发
- 安装依赖项:
npm install- 构建项目:
npm run build这将创建一个 dist 包含编译的JavaScript文件的目录。
- 要使用本地开发版本,请修改MCP服务器配置以指向本地版本:
{
"mcpServers": {
"Harvest": {
"command": "node",
"args": [
"path/to/local/build/dist/index.js"
],
"env": {
"HARVEST_ACCOUNT_ID": "",
"HARVEST_ACCESS_TOKEN": "",
"HARVEST_BASE_URL": ""
}
}
}
}- 重新启动客户端应用程序(Claude、Cursor)以应用更改。
许可证
麻省理工学院
