MCP server · Work management

Harvest MCP server

Harvest in any MCP client, through Memtro: Harvest does not publish this server. Memtro's Harvest connector reads Harvest through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.

What the model can do

Harvest time tracking: time entries by person, client, project and date with totals, time summaries by client, project, task or person for a period, projects with budgets, clients, people, invoices by state and expenses; when you ask, can log, edit, delete and start or stop time, create draft invoices, email them to named recipients, mark them sent, write them off, re-open or delete them, record payments, and create expenses, clients and projects.

Reads

  • harvest_usersPeople in the Harvest account: name, email, timezone, contractor or employee, weekly capacity in hours, rates (where visible) and access level.
  • harvest_clientsClients: name, currency and address.
  • harvest_projectsProjects with client, billing method, hourly rate or fee, budget and what it is measured in (hours, fees, per person or task), dates and notes.
  • harvest_tasksTask types (Design, Development, Meetings…) that time is logged against, with default rates and whether billable by default.
  • harvest_time_entriesTime entries, newest first, with hours, person, client, project, task, notes, billable and invoiced state, and totals over what was returned.
  • harvest_time_summaryHours and billable amounts for a period, grouped by client, project, task or person (team), from Harvest's time reports…
  • harvest_invoicesInvoices, newest issue date first: number, client, subject, state (draft, open, paid, closed), amount and amount still due, currency…
  • harvest_expensesExpenses, newest first: date, category, cost, person, client, project, notes, billable and invoiced state, receipt, and the total per currency.

Acts, when you ask

These change something in Harvest. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.

  • harvest_create_time_entryLogs a time entry in Harvest on a project and task, for the token's user unless user_id names someone else (that needs manager access).
  • harvest_update_time_entryEdits a Harvest time entry (project, task, date, hours, times or notes); only the fields passed change.
  • harvest_stop_timerStops a running Harvest timer, fixing its hours at what has run so far.
  • harvest_restart_timerRestarts a stopped Harvest time entry, so its timer runs again and adds to its hours.
  • harvest_delete_time_entryPermanently deletes a Harvest time entry; its hours leave every report and any un-issued invoice.
  • harvest_create_invoiceCreates a draft invoice in Harvest for a client, either from line items you give or from the client's projects' unbilled time and expenses in a date…
  • harvest_send_invoiceEmails a Harvest invoice to the recipients you name (people outside the company, usually the client), marking it sent; it cannot be unsent.
  • harvest_mark_invoice_sentMarks a draft Harvest invoice as sent (open) without emailing anyone, for an invoice delivered some other way.
  • harvest_close_invoiceCloses an open Harvest invoice, writing off what is still due; nothing is emailed.
  • harvest_reopen_invoiceRe-opens a closed (written-off) Harvest invoice so its amount is due again; nothing is emailed.
  • harvest_delete_invoicePermanently deletes a Harvest invoice; its time and expenses become unbilled again.
  • harvest_record_invoice_paymentRecords a payment received against a Harvest invoice (it moves no money; it marks the amount paid).
  • harvest_create_expenseLogs an expense in Harvest on a project, for the token's user unless user_id names someone else.
  • harvest_create_clientCreates a client in Harvest, visible to everyone who manages clients; nobody is emailed.
  • harvest_create_projectCreates a project for a Harvest client, with how it is billed and budgeted.
  • harvest_update_projectChanges a Harvest project: name, code, notes, dates, billing, budget, or archives it (is_active false) or brings it back.

Connect it

First connect Harvest on Dashboard → Connections, then add Memtro to your client once. The Harvest tools appear alongside the tools of everything else you have connected; nothing is configured per connector.

Claude Code

The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.

claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...

Cursor

Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.

{
  "mcpServers": {
    "memtro": {
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Claude Desktop

Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…

OpenCode

A remote server in opencode.json.

{
  "mcp": {
    "memtro": {
      "type": "remote",
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Pi

One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.

Any other client

Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.

Who may use it

The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Harvest connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.

Ask it like this

  • › How many hours went to Acme Corp in October, and how much of it was billable?
  • › Who logged the most hours last week?
  • › Which open invoices are overdue, and how much is still due?
  • › How far through its budget is the Website Redesign project?
  • › Log 2.5 hours on the Website Redesign design task for today: homepage review

Questions

Is this an official Harvest MCP server?
No. It is Memtro's MCP server with Memtro's Harvest connector behind it: the connector reads Harvest through its API with the credentials you connect on Dashboard → Connections, and Harvest publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
What does it cost?
Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
Can it change anything in Harvest?
Only when you ask, and only what it has been granted: log a time entry, or start a timer; edit a time entry; stop a running timer; restart a stopped timer; delete a time entry; create a draft invoice from line items or tracked time and expenses; email an invoice to the recipients you name; mark a draft invoice as sent without emailing it; close (write off) an open invoice; re-open a closed invoice; delete an invoice; record a payment against an invoice; create an expense; create a client; create a project; update or archive a project. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
Which clients work?
Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.

Other MCP servers · Work management

Where agents remember your company

Sign in, add a provider key, create an API key and point your tools at Memtro. It takes about five minutes.

7-day free trial · card on file, nothing charged until it ends · cancel any time