mcpbeat Sign in

Harvest MCP by usefulapi MCP Server

answering

Harvest MCP by usefulapi is answering right now. Last checked 8 min ago. It exposes 20 tools. Last commit 2 Nov 2026.

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

Uptime history 91 days of history · worst day 1%
91 days agonow
100.0%
Uptime 24h
91 of 91 checks
20
Tools
read from the server
153 ms
Response time
average over 24h
1
Stars
last commit 2 Nov 2026

What changed 56

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 1 October 2026. No other catalogue keeps this.

2 Nov a tool changed version
31 Oct a tool changed version4 times that day
30 Oct a tool changed version2 times that day
29 Oct a tool changed version2 times that day
28 Oct a tool changed version2 times that day
27 Oct a tool changed version
25 Oct a tool changed version4 times that day
24 Oct a tool changed version3 times that day
23 Oct a tool changed version
22 Oct a tool changed version
and 46 more, back to 1 October 2026

What the code does

We read the source, 22 h ago · tools taken from the live server · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Page executes code built at runtime portal/index.html:231
        results.innerHTML = order.map(function (g) {

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

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

run in your terminal
claude mcp add harvest --transport http https://harvest.usefulapi.io/mcp
Settings → Connectors → Add custom connector, then paste this address
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
{
  "servers": {
    "harvest": {
      "type": "http",
      "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 73 ms 8 min ago

Alternatives to Harvest MCP by usefulapi

same job, measured the same way
Tick MCP by usefulapi
by usefulapi

Read Tick clients, projects, tasks, users and time entries; log and edit time entries.

14 tools answering
Paydirt MCP by usefulapi
by usefulapi

Read, create and update clients, projects and jobs, and log time in Paydirt.

16 tools answering
solidtime MCP by usefulapi
by usefulapi

Start and stop timers, log time entries, and read projects, tasks and time entries in solidtime.

12 tools answering
Clockify MCP by usefulapi
by usefulapi

Track time in Clockify: time entries, projects, clients, tags and reports; start, stop and log time.

21 tools answering
Kantata MCP by usefulapi
by usefulapi

Read workspaces, tasks and time entries, create and update tasks, and log time in Kantata.

12 tools answering
Paymo MCP by usefulapi
by usefulapi

Browse Paymo projects, tasks, timesheets and invoices, and create tasks, log time or run timers.

21 tools answering
bexio MCP by usefulapi
by usefulapi

Read bexio contacts, invoices, quotes, bills, projects and journal; log time, draft invoices.

28 tools answering
AdminPulse MCP by usefulapi
by usefulapi

Read relations, invoices, tasks and documents; create tasks and log interactions in AdminPulse.

15 tools answering

Harvest MCP by usefulapi — questions

Answers built from our own checks of this server.

What can Harvest MCP by usefulapi 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 MCP by usefulapi working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 153 ms. The bar chart above shows every period we have measured.
How do I connect Harvest MCP by usefulapi?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Harvest MCP by usefulapi need an API key?
No. Harvest MCP by usefulapi 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 MCP by usefulapi?
It answers our handshake in 153 ms on average, which is faster than 83% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Harvest MCP by usefulapi open source?
The code is open source: it is published under the MIT licence, written in JavaScript, 1 stars on GitHub and 1 open issue. The licence covers the code in the repository, not the hosted service at harvest.usefulapi.io, which runs on its operator's own terms.