自然语言时间记录服务

一个通过自然语言输入记录Harvest时间条目的MCP服务器,支持休假请求等特殊场景处理,使时间跟踪更加直观高效。

  • by adrian-dotco
  • JavaScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 adrian-dotco/harvest-mcp-server

使用说明

Harvest 自然语言时间录入 MCP 服务器

一个MCP服务器,允许您使用自然语言记录Harvest的时间条目,包括对请假请求的特殊处理。该服务器通过理解自然语言输入,并自动处理如请假请求等常见场景,使时间追踪更加直观。

特点/功能

  • 🗣️ 自然语言时间输入解析
  • 🏖️ 特殊请假申请处理(例如,“我今天因病请假”)
  • ⏰ 可配置的工作日时长
  • 🌍 时区支持
  • 🎯 自动项目与任务匹配
  • 📅 智能日期解析(今天、昨天等)

先决条件

  • 已安装Node.js
  • 一个Harvest账户
  • 来自个人访问令牌 Harvest 开发者工具
  • 账户ID(与您的令牌显示在同一页面上)

安装

安装

  1. 安装 Claude 桌面应用程序

  2. 克隆此存储库:

git clone https://github.com/adrian-dotco/harvest-mcp-server.git
cd harvest-mcp-server
  1. 安装依赖项并构建:
npm install
npm run build
  1. 运行安装脚本:
node build/setup.js
  1. 按照提示输入您的:

    • 从Harvest获取个人访问令牌(访问地址:https://id.getharvest.com/developers)
    • 收获账户ID
    • 标准工作日时长(默认:7.5小时)
    • 时区(默认:澳大利亚/珀斯)
  2. 重启Claude桌面应用程序

就是这么简单!现在您可以在Claude中使用自然语言进行时间追踪了。

保持更新

更新到最新版本:

git pull
npm install
npm run build

安装脚本将配置Claude以使用您本地构建的服务器,因此,您拉取的任何更新在重新构建后都会自动可用。

使用方法

服务器提供了几个工具来与Harvest进行交互:

日志时间

使用自然语言记录时间条目。示例:

常规工时记录:

"2 hours on Project X doing development work today"
"45 minutes on Project Y testing yesterday"
"3.5 hours on Project Z meetings last Friday"

请假申请(自动采用标准工作日时长):

"I'm off sick today"
"I'm unwell today"
"Taking annual leave next week"

获取时间报告

使用自然语言查询获取时间报告。示例:

  1. 时间段选项:
"Show time report for last month"
"Get time summary for this week"
"Show hours from January 1st to January 31st"
"Report time for Q1"
"Show me yesterday's hours"
  1. 报告类型:
  • 按项目(默认):
    "Show time report for last month"
    "Get project hours for this week"
    
  • 由客户指定:
    "Show time report by client for this month"
    "Get hours by client for Q1"
    
  • 按任务划分:
    "Show time summary by task for January"
    "Get task breakdown for last week"
    
  • 由团队成员:
    "Show team hours for last week"
    "Get time report by user for this month"
    
  1. 报告详情: 每份报告包括:
  • 总工作时长
  • 可计费小时与不可计费小时
  • 可计费金额(如您已获授权)
  • 根据报告类型显示项目/客户/任务/用户详情

列出项目

列出所有可用的Harvest项目:

List my projects

列出任务

列出特定项目中可用的任务:

Show tasks for Project X

列表条目

查看最近的时间记录:

Show my recent time entries

配置

服务器支持以下环境变量:

  • HARVEST_ACCESS_TOKEN您的Harvest个人访问令牌
  • HARVEST_ACCOUNT_ID您的Harvest账户ID
  • STANDARD_WORK_DAY_HOURS完整工作日的默认时长(默认:7.5小时)
  • TIMEZONE您的时区(默认:澳大利亚/珀斯)

发展

服务器构建使用了:

  • TypeScript
  • MCP SDK(MCP软件开发工具包)
  • 用于自然语言日期解析的chrono-node
  • Harvest API v2

贡献:

  1. 为仓库创建分支(或“克隆仓库”)
  2. 创建一个特性分支
  3. 提交拉取请求

许可证

MIT 许可证 - 详见 许可证 详情如下