mcpbeat Sign in

Harvest MCP Server

answering

Harvest is answering right now. Last checked 12 min ago. It exposes 20 tools. Last commit 1 Sep 2026.

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

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

What the code does

We read the source, 20 h ago · tools taken from the live server · rules 3dff92dd89df

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 12 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 242 ms 12 min ago

Alternatives to Harvest

same job, measured the same way
Timebook
by squidcode

Track time on usetimebook.com - start/stop timers, log entries, list projects/clients.

52 installs/wk answering
Tallied
by withtallied

Log hours and invoice clients from your AI chat. Time tracking and invoicing for freelancers.

answering
Statuspal
by usefulapi

Read status-page status, services, incidents and metrics; create, update and publish incidents.

11 tools answering
Timer Tracking
by theluckystrike

Timer and time-tracking add-on: start/stop timers, log entries, CSV export. Data stays local.

local only
REPSLog
by reps-log

Log and read REPS time logs, properties, and categories via MCP. Requires REPSLog Premium.

answering
Invoice Badger
by invoicebadger

Invoicing you drive by talking to your AI: log time, raise invoices and track what's owed via MCP.

answering
Entalpa Requirements MCP
by entalpa

Live Entalpa requirements, stories, stakeholders, interfaces, and project traceability.

answering
Alchemist Cloud Tickets
by chipp

Dispatch and track Alchemist Cloud tickets, watch deploys, read logs, and query your project DB.

answering

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 91 of 91 checks got a reply (100.0%), average response time 154 ms. The bar chart above shows every period we have measured.
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 154 ms on average, which is faster than 75% 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 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.