Harvest MCP Server

Model Context Protocol server for Harvest API v2

Local serverstdioTypeScript

What is the Harvest MCP server?

Harvest MCP server exists for a simple reason — assistants are far more useful when they can act on Harvest directly instead of describing what you should do. Model Context Protocol server for Harvest API v2.

What you get

  1. Get your Harvest API credentials: - Go to Harvest → Settings → Developers → Personal Access Tokens - Create a new token - Note your Account ID (visible in URL or settings)

Setting it up

The server ships on npm as @ianaleck/harvest-mcp-server, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

What the assistant can call

Once Harvest is connected, these are the calls the assistant has available:

  • get_company — Get company information and settings
  • list_time_entries — List time entries with filtering
  • get_time_entry — Get specific time entry details
  • create_time_entry — Create new time entry
  • update_time_entry — Update existing time entry
  • delete_time_entry — Delete time entry
  • start_timer — Start a timer for a task
  • stop_timer — Stop running timer
  • restart_timer — Restart a previous time entry
  • list_projects — List all projects with filtering
  • get_project — Get specific project details
  • create_project — Create new project

Configuration and credentials

You will need 2 environment variables: HARVEST_ACCESS_TOKEN, HARVEST_ACCOUNT_ID. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  • Node.js 18+ - Harvest account with API access - MCP-compatible client (like Claude Desktop)

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Harvest.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the harvest mcp server does with a few real requests.

Choosing this one

This sits in the planning and project tracking group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Harvest's toolset — get_company, list_time_entries, get_time_entry and 11 more — is a fair guide to whether it matches your workflow. It is maintained by ianaleck; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Harvest's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Available tools

ToolWhat it does
get_companyGet company information and settings
list_time_entriesList time entries with filtering
get_time_entryGet specific time entry details
create_time_entryCreate new time entry
update_time_entryUpdate existing time entry
delete_time_entryDelete time entry
start_timerStart a timer for a task
stop_timerStop running timer
restart_timerRestart a previous time entry
list_projectsList all projects with filtering
get_projectGet specific project details
create_projectCreate new project
update_projectUpdate project details
delete_projectDelete project

How to install the Harvest MCP server

{
  "mcpServers": {
    "harvest-1": {
      "command": "npx",
      "args": ["-y", "@ianaleck/harvest-mcp-server"],
      "env": {
        "HARVEST_ACCESS_TOKEN": "your-value",
        "HARVEST_ACCOUNT_ID": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  • Node.js 18+ - Harvest account with API access - MCP-compatible client (like Claude Desktop)
VariableDescriptionRequired
HARVEST_ACCESS_TOKENCredential the server authenticates with.Yes
HARVEST_ACCOUNT_IDConfiguration value read at startup.Optional

Example prompts to try

  • Use Harvest to get company.
  • Use Harvest to list time entries.
  • Use Harvest to get time entry.

Frequently asked questions

It connects Harvest to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (get_company, list_time_entries, get_time_entry, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Harvest directly.