TH

taiste/harvest-mcp-server

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

38 stars 28 forks 质量 71 趋势 16MIT

taiste/harvest-mcp-server 是从 https://github.com/taiste/harvest-mcp-server. 导入的 MCP 服务器候选

概览

taiste/harvest-mcp-server 是从 https://github.com/taiste/harvest-mcp-server. 导入的 MCP 服务器候选

概述(AI 翻译)

该MCP(模型上下文协议)服务器支持与Harvest时间跟踪和项目管理API的集成。它允许Claude及其他兼容MCP的AI助手与您的Harvest账户交互,帮助您管理时间条目、项目、客户及更多内容。

特色

该服务器提供以下功能:

用户

  • 列表用户
  • 获取用户信息

时间条目

  • 带有过滤选项的列表时间条目
  • 创建新的时间条目
  • 启动/停止定时器
  • 查询时间输入细节
  • 获取未提交的工时表(尚未提交审批的时间条目)

项目

  • 列出带有筛选选项的项目(按客户端、is_active、updated_since、页面、per_page)
  • 检索详细项目信息
  • 创建新项目
  • 更新现有项目(也用于归档:通过is_active=False)
  • 删除项目(破坏性——同时删除项目的时间分录和费用,但发票会被保留;建议归档)

任务分配

  • 列出任务分配(账户范围或项目范围)
  • 检索详细的任务分配信息
  • 创建新任务分配(将任务与项目关联)

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

Harvest MCP Server

This MCP (Model Context Protocol) server provides integration with the Harvest time tracking and project management API. It allows Claude and other MCP-compatible AI assistants to interact with your Harvest account, helping you manage time entries, projects, clients, and more.

Features

The server provides the following functionality:

Users

  • List users
  • Get user details

Time Entries

  • List time entries with filtering options
  • Create new time entries
  • Start/stop timers
  • Query time entry details
  • Get unsubmitted timesheets (time entries not yet submitted for approval)

Projects

  • List projects with filtering options (by client, is_active, updated_since, page, per_page)
  • Retrieve detailed project information
  • Create new projects
  • Update existing projects (also used to archive: pass is_active=False)
  • Delete projects (destructive — also deletes the project’s time entries and expenses, though invoices are retained; archiving is recommended instead)

Task Assignments

  • List task assignments (account-wide or scoped to a project)
  • Retrieve detailed task assignment information
  • Create new task assignments (link a task to a project)
  • Update existing task assignments
  • Delete task assignments (only when no time entries are logged against them)

User Assignments

  • List user assignments (account-wide or scoped to a project)
  • Retrieve detailed user assignment information
  • Create new user assignments (link a user to a project)
  • Update existing user assignments
  • Delete user assignments (only when no time entries or expenses are logged against them)

Clients

  • List clients with filtering options
  • Retrieve detailed client information

Tasks

  • List available tasks with filtering options

Estimates

  • List estimates with filtering options (by client, state, date range, updated_since)
  • Retrieve detailed estimate information
  • Look up an estimate by its user-facing number (e.g. “79”)
  • List messages associated with an estimate
  • Create new estimates with line items
  • Update existing estimates (add/update/delete line items via _destroy)
  • Change estimate state (send, accept, decline, re-open) without sending email
  • Send estimate messages (emails the estimate to recipients)
  • Delete estimates

Setup Instructions

Prerequisites

  • Python 3.10 or higher
  • Harvest account with API access
  • Harvest API key and Account ID

Integrating with Claude Desktop

  1. Create or edit your Claude Desktop configuration file:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows (MSIX installs — the default from claude.ai/download): %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "harvest": { "command": "uv", "args": [ "run", "--directory", "change_directory", "harvest-mcp-server.py" ], "env": { "HARVEST_ACCOUNT_ID": "account_id", "HARVEST_API_KEY": "api_key" } } } }