mcpField
H
Harvest Time Tracking MCP Server

Harvest Time Tracking MCP Server

本地服务
getharvest.com生产力131 周前更新

关于 Harvest Time Tracking MCP Server

Harvest Time Tracking MCP Server 让 LLM 客户端访问 Harvest 账户数据并管理工时记录。工具涵盖公司、客户、项目、用户、任务分配,以及工时记录的查询和创建。

主要功能

  1. 01获取公司信息
  2. 02搜索和查看客户与项目
  3. 03列出用户和项目分配
  4. 04搜索和获取工时记录
  5. 05创建工时记录

适用场景

  1. 01查看客户和项目信息
  2. 02检查项目用户及任务分配
  3. 03按日期或账户筛选查找工时记录
  4. 04为项目任务登记工时

MCP 相关

将 Harvest 账户操作作为 MCP 工具公开,包括查询公司、客户、项目、用户和工时记录,以及创建工时记录。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"harvest": {
"command": "npx",
"args": [
"-y",
"@harvest/mcp-server-typescript"
],
"env": {
"HARVEST_ACCOUNT_ID": "<HARVEST_ACCOUNT_ID>",
"HARVEST_ACCESS_TOKEN": "<HARVEST_ACCESS_TOKEN>",
"HARVEST_BASE_URL": "<HARVEST_BASE_URL>"
}
}
}
}
启动命令npx -y @harvest/mcp-server-typescript
需要配置的环境变量
HARVEST_ACCOUNT_ID
HARVEST_ACCESS_TOKEN密钥
HARVEST_BASE_URL

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@harvest/mcp-server-typescript

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Harvest 时间跟踪 MCP 服务

npm version

这是一个基于 TypeScript 的 Harvest 时间跟踪应用 MCP(Model Context Protocol)服务,可让大模型客户端与 Harvest 账户交互。

安装

npx -y @mayankg0324/mcp-server-harvest

前提条件

  • Node.js >= 18(或用于开发的 Bun Runtime)
  • 可访问 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(可选)- 项目名称
• clientId: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
• hours:number - 耗时小时数
• notes:string(可选)- 其他备注
已创建时间条目的详情

注意: 更多工具即将推出。

使用方法

Claude Desktop

打开 Claude 桌面配置文件 claude-desktop-config.json,并在 mcpServers 下添加以下内容:

{
  "mcpServers": {
    "Harvest": {
      "command": "npx",
      "args": [
        "-y",
        "@mayankg0324/mcp-server-harvest"
      ],
      "env": {
        "HARVEST_ACCOUNT_ID": "<Harvest Account ID>",
        "HARVEST_ACCESS_TOKEN": "<Harvest Personal Access Token>",
        "HARVEST_BASE_URL": "<Harvest Base URL>"
      }
    }
  }
}
Cursor IDE

打开 Cursor IDE 配置文件 ~/.cursor/mcp.json 或 <project-root>/.cursor/mcp.json,并在 mcpServers 下添加以下内容:

{
  "mcpServers": {
    "Harvest": {
      "command": "npx",
      "args": [
        "-y",
        "@mayankg0324/mcp-server-harvest"
      ],
      "env": {
        "HARVEST_ACCOUNT_ID": "<Harvest Account ID>",
        "HARVEST_ACCESS_TOKEN": "<Harvest Personal Access Token>",
        "HARVEST_BASE_URL": "<Harvest Base URL>"
      }
    }
  }
}
故障排除
spawn npx ENOENT 或 env: node: No such file or directory

当 MCP 客户端(Claude Desktop、Cursor)在 PATH 中找不到 npx 或 node 时,就会发生这种情况。图形界面应用通常不会继承 shell 的 PATH,尤其是在使用 nvm、fnm 或 volta 等版本管理器时。

解决方法: 使用 npx 的完整路径,并在 PATH 环境变量中加入 Node 的 bin 目录:

# 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 Account ID>",
        "HARVEST_ACCESS_TOKEN": "<Harvest Personal Access Token>",
        "HARVEST_BASE_URL": "<Harvest Base URL>"
      }
    }
  }
}

本地开发

  1. 安装依赖:

    npm install
    
  2. 构建项目:

    npm run build
    

    这将创建一个 dist 目录,其中包含编译后的 JavaScript 文件。

  3. 若要使用本地开发版本,请修改 MCP 服务配置,使其指向本地构建目录:

    {
      "mcpServers": {
        "Harvest": {
          "command": "node",
          "args": [
            "path/to/local/build/dist/index.js"
          ],
          "env": {
            "HARVEST_ACCOUNT_ID": "<Harvest Account ID>",
            "HARVEST_ACCESS_TOKEN": "<Harvest Personal Access Token>",
            "HARVEST_BASE_URL": "<Harvest Base URL>"
          }
        }
      }
    }
    
  4. 重启客户端应用(Claude、Cursor)以应用更改。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。