mcpbeat

Harvest MCP Server

io.usefulapi/harvest
not responding

Harvest is listed as active in the registry but did not answer our last check. It exposes 20 tools. Last commit 1 Aug 2026.

Read time entries, projects, clients, tasks and invoices; log and update tracked time.

Uptime history 41 hours of history · worst hour 0%
41 hours agonow
41.8%
Uptime 24h
38 of 91 checks
20
Tools
read from the server
175 ms
Response time
average over 24h
0
Stars
last commit 1 Aug 2026

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 10 min ago.

run in your terminal
claude mcp add harvest --transport http https://harvest.usefulapi.io/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "harvest": {
      "url": "https://harvest.usefulapi.io/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.harvest]
url = "https://harvest.usefulapi.io/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "harvest": {
      "url": "https://harvest.usefulapi.io/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "harvest": {
      "url": "https://harvest.usefulapi.io/mcp"
    }
  }
}

Available tools 20

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

harvest
harvest_create_time_entry
Create a time entry. Requires project_id, task_id and spent_date. Provide `hours` to log a specific duration; OR provide `started_time` (+ optional `ended_time`) for a timestamped entry; OR omit both to start a running timer (on a timestamp-tracking account). Use harvest_list_project_assignments to find valid project_id + task_id. Harvest REST: POST /time_entries. WRITE — creates data.
harvest_delete_time_entry
Permanently delete a time entry by id. This cannot be undone. Harvest REST: DELETE /time_entries/{id}. WRITE — destroys data.
harvest_get_client
Retrieve a single client by id. Harvest REST: GET /clients/{id}.
harvest_get_company
Retrieve the company/account settings for the authenticated account (name, currency, time/date formats, week start, feature flags). Harvest REST: GET /company.
harvest_get_current_user
Retrieve the currently authenticated user (whom the access token belongs to). Harvest REST: GET /users/me.
harvest_get_invoice
Retrieve a single invoice by id, including its line items. Harvest REST: GET /invoices/{id}.
harvest_get_project
Retrieve a single project by id. Harvest REST: GET /projects/{id}.
harvest_get_time_entry
Retrieve a single time entry by id. Harvest REST: GET /time_entries/{id}.
harvest_list_clients
List clients, optionally filtered by active status or updated-since. Paginated. Harvest REST: GET /clients.
harvest_list_estimates
List estimates, optionally filtered by client, state, date range, or updated-since. Paginated. Harvest REST: GET /estimates.
harvest_list_expenses
List expenses, optionally filtered by user, client, project, date range, billed status, or updated-since. Paginated. Harvest REST: GET /expenses.
harvest_list_invoices
List invoices, optionally filtered by client, project, state, date range, or updated-since. Paginated. Harvest REST: GET /invoices.
harvest_list_project_assignments
List the authenticated user's active project assignments — the projects and their assignable tasks the current user can log time against (use this to find the project_id + task_id for harvest_create_time_entry). Paginated. Harvest REST: GET /users/me/project_assignments.
harvest_list_projects
List projects, optionally filtered by active status or client, or updated-since. Paginated. Harvest REST: GET /projects.
harvest_list_tasks
List tasks (the billable/non-billable work categories that can be assigned to projects), optionally filtered by active status or updated-since. Paginated. Harvest REST: GET /tasks.
harvest_list_time_entries
List time entries, optionally filtered by user, project, client, task, date range, running/billed status, or updated-since. Paginated. Harvest REST: GET /time_entries.
harvest_list_users
List users in the account, optionally filtered by active status or updated-since. Paginated. Harvest REST: GET /users.
harvest_restart_time_entry
Restart a previously stopped time entry, resuming its timer (error if it is already running). Harvest REST: PATCH /time_entries/{id}/restart. WRITE — modifies data.
harvest_stop_time_entry
Stop a currently running time entry (no-op error if it is already stopped). Harvest REST: PATCH /time_entries/{id}/stop. WRITE — modifies data.
harvest_update_time_entry
Update an existing time entry's hours, notes, spent date, or project/task. Only the fields you provide are changed. Harvest REST: PATCH /time_entries/{id}. WRITE — modifies data.

Endpoints

URLTransportStateLatencyChecked
https://harvest.usefulapi.io/mcp streamable-http answering 43 ms 10 min ago

Harvest — questions

Answers built from our own checks of this server.

What can Harvest do?
It exposes 20 tools, read directly from the server on our last check. Among them: harvest_create_time_entry, harvest_delete_time_entry, harvest_get_client, harvest_get_company, harvest_get_current_user, harvest_get_invoice and 14 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Harvest working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 38 of 91 checks got a reply (41.8%), average response time 175 ms. The bar chart above shows every period we have measured.
The registry lists Harvest as active — why does it not respond?
The official MCP registry stores what the author submitted; it does not verify that the server still runs. We check the endpoint ourselves, and this one does not answer. Catalogues that copy the registry without checking will show it as working.
How do I connect Harvest?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Harvest need an API key?
No. Harvest completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 20 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Harvest?
It answers our handshake in 175 ms on average, which is faster than 68% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Harvest open source?
Yes — it is published under the MIT licence, written in JavaScript and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.