Harvest MCP server

Connect Harvest to Claude, ChatGPT, Cursor, Claude Code, Codex, Gemini, GitHub Copilot and any other MCP client, for your whole team. Metorial adds security, governance, and tracing, and gives everyone one Magic MCP URL to connect.

What you can do with the Harvest MCP server

Ask your agent in plain language. Each of these maps to a real tool on the server.

  • Use the send invoice tool in Harvest
  • Use the manage user tool in Harvest
  • Use the record invoice payment tool in Harvest
  • Use the list invoices tool in Harvest
  • Use the manage contact tool in Harvest
  • Use the list users tool in Harvest

Supported Tools

send_invoice

Send Invoice

Email an invoice by omitting eventType, or record a lifecycle event (send, close, re-open, draft). The send event only marks an invoice sent; it does not email recipients. Can include a PDF attachment and a link to the client invoice portal. Call list_accounts to discover account IDs when choosing between multiple accounts.

manage_user

Manage User

Create, update, or delete a user in Harvest. Users can be administrators, managers, or regular members. Supports setting roles, rates, and project access. Call list_accounts to discover account IDs when choosing between multiple accounts.

record_invoice_payment

Record Invoice Payment

Record a payment against an invoice in Harvest. Optionally specify the payment date and add notes. Call list_accounts to discover account IDs when choosing between multiple accounts.

list_invoices

List Invoices

Retrieve invoices with optional filtering by client, project, state, and date range. Returns invoice details including amounts, status, and dates. Call list_accounts to discover account IDs when choosing between multiple accounts.

manage_contact

Manage Contact

Create, update, or delete a client contact in Harvest. Contacts belong to clients and include name, email, phone, and title information. Call list_accounts to discover account IDs when choosing between multiple accounts.

list_users

List Users

Retrieve users with optional filtering by active status. Use get_current_user for your own profile without requiring team-management permissions. Returns user details including roles, rates, and access levels. Call list_accounts to discover account IDs when choosing between multiple accounts.

list_expenses

List Expenses

Retrieve expenses with optional filtering by user, client, project, billing status, and date range. Call list_accounts to discover account IDs when choosing between multiple accounts.

manage_client

Manage Client

Create, update, or delete a client in Harvest. Clients are associated with projects and invoices. Call list_accounts to discover account IDs when choosing between multiple accounts.

list_time_entries

List Time Entries

Search and retrieve time entries with flexible filtering by user, client, project, task, date range, billing status, and running status. Returns paginated results. Call list_accounts to discover account IDs when choosing between multiple accounts.

manage_task

Manage Task

Create, update, or delete a task type in Harvest. Tasks are reusable categories that can be assigned to projects. They can have default hourly rates and billable settings. Call list_accounts to discover account IDs when choosing between multiple accounts.

manage_estimate

Manage Estimate

Create, update, or delete an estimate in Harvest. Estimates include line items and can be sent to clients for approval. Call list_accounts to discover account IDs when choosing between multiple accounts.

list_clients

List Clients

Retrieve clients with optional filtering by active status. Returns client details including name, address, and currency. Call list_accounts to discover account IDs when choosing between multiple accounts.

manage_invoice

Manage Invoice

Create, update, or delete an invoice in Harvest. Invoices can include line items for services and products, and can be associated with clients and projects. Supports tax, discount, and payment terms configuration. Call list_accounts to discover account IDs when choosing between multiple accounts.

start_stop_timer

Start or Stop Timer

Start or stop a running timer on an existing time entry. Use "restart" to resume tracking time on an entry, and "stop" to pause it. Call list_accounts to discover account IDs when choosing between multiple accounts.

get_company

Get Company

Retrieve company-level settings from Harvest including timezone, currency, time tracking preferences, and plan details. Call list_accounts to discover account IDs when choosing between multiple accounts.

manage_expense

Manage Expense

Create, update, or delete an expense in Harvest. Expenses are associated with projects and expense categories, and can be marked as billable. Call list_accounts to discover account IDs when choosing between multiple accounts.

generate_report

Generate Report

Generate various Harvest reports: time tracked by project, expenses by project, uninvoiced time and expenses, or project budget consumption. Requires a date range for time, expense, and uninvoiced reports. Call list_accounts to discover account IDs when choosing between multiple accounts.

list_projects

List Projects

Retrieve projects with optional filtering by active status and client. Returns project details including billing configuration, budget, and team information. Call list_accounts to discover account IDs when choosing between multiple accounts.

manage_time_entry

Manage Time Entry

Create, update, or delete a time entry in Harvest. Time entries can be created via duration (hours) or via start/end time. Supports associating entries with projects, tasks, and users. Can also link to external references like Trello cards or Basecamp to-dos. Call list_accounts to discover account IDs when choosing between multiple accounts.

manage_project

Manage Project

Create, update, or delete a project in Harvest. Projects are associated with clients and can be configured with billing methods, budget types, and team assignments. Call list_accounts to discover account IDs when choosing between multiple accounts.

list_tasks

List Tasks

Retrieve task types with optional filtering by active status. Tasks are reusable categories that can be assigned to projects for time tracking. Call list_accounts to discover account IDs when choosing between multiple accounts.

list_estimates

List Estimates

List Harvest estimates to discover estimate IDs, clients, amounts, and states before updating an estimate. Call list_accounts to discover account IDs when choosing between multiple accounts.

get_current_user

Get Current User

Retrieve the currently authenticated user in a Harvest account, including their profile and access roles. Call list_accounts to discover account IDs when choosing between multiple accounts.

list_accounts

List Accounts

List the Harvest accounts authorized by this connection. Use an accountId from this result in account-scoped tools.

Connect Harvest to your AI client

Every client uses the same Magic MCP URL, and so does any other MCP client. Add it once and sign in with SSO.

  1. Enable Harvest in Metorial. In your Metorial portal, enable the Harvest MCP server and sign in with the account that owns the data. Access stays governed by your team policies.
  2. Add a custom connector. Open Customize, then Connectors. Select Add, then Custom, then Web.
  3. Paste your Metorial MCP URL. Name it Metorial, paste your Magic MCP URL (<your-magic-mcp-url>) and continue.
  4. Sign in. Select Add and sign in to load Harvest tools.

Run Harvest through the Metorial gateway

One governed layer for every app your agents reach, not a separate connector per tool.

  • Give Harvest and every other app to your whole team through one MCP gateway, behind your SSO.
  • Scope which teams and agents can use Harvest tools with role-based access control, and trace every call.
  • Prefer to run it yourself? Metorial is open source and self-hostable.

More integrations teams use with Harvest

Notion

Create, read, update, and archive pages and databases in a Notion workspace. Manage blocks (paragraphs, lists, headings, embeds, etc.) within pages. Query databases with filters and sorts across rich property types including text, numbers, dates, selects, relations, and formulas. Search across pages and databases by title. Add and read comments on pages and blocks. Upload files to pages. Manage workspace users and retrieve user profiles.

GitHub

Manage repositories, issues, and pull requests. Create and configure branches, star repositories, review code, and merge changes. Automate CI/CD workflows with GitHub Actions, manage workflow runs, secrets, and artifacts. Track issues with labels, milestones, and assignees. Search across code, repositories, issues, and users. Manage organizations, teams, and memberships. Create and manage projects, gists, packages, deployments, and environments. Access security alerts including code scanning, secret scanning, and Dependabot alerts. Read and write file contents in repositories. Manage webhooks, notifications, and codespaces.

Microsoft Outlook

Send, read, reply to, forward, and manage email messages in user mailboxes. Organize messages into folders, apply categories, flags, and importance levels. Manage file and item attachments. Create, update, delete, and respond to calendar events and meetings. Find available meeting times, manage attendees, handle recurrence, and work with shared or delegated calendars. Create, read, update, and delete contacts, organize them into contact folders, and manage contact photos. Manage tasks and task lists via Microsoft To Do, including due dates, reminders, recurrence, and checklist items. Subscribe to webhook notifications for changes to messages, calendar events, and contacts. Support for Focused Inbox, @-mentions, mail tips, send-on-behalf, and send-as capabilities.

Linear

Create, read, update, and delete issues across teams with support for priorities, labels, assignees, due dates, and workflow states. Manage projects that group related issues, and organize work into time-boxed cycles (sprints). Create and manage documents, comments, and file attachments. Search issues using vector similarity or rich filters. Configure teams, workflow states, and labels. Track customers and link them to issues.

Jira

Create, read, update, and delete issues across projects. Search issues using JQL queries. Manage projects, boards, sprints, and epics for agile workflows. Log work time, add comments and attachments, and transition issues through workflow statuses. Create and manage project versions/releases, issue links, filters, and dashboards. Query users, groups, and permissions.

Airtable

Create, read, update, and delete records in Airtable bases and tables. Manage base schemas including creating tables and fields. Filter records using formulas, sort by fields, and scope queries to specific views. Upsert records to find, create, or update in a single call. Upload attachments to records, read and write record comments, list accessible bases, and receive real-time base change events through webhooks.

Technical notes for Harvest

Track time, manage projects, clients, tasks, users, expenses, invoices, and estimates. Discover authorized accounts and your current profile, browse business records, generate structured reports, email invoices, and record invoice lifecycle events.

Frequently asked questions

Common questions about connecting Harvest to AI agents with Metorial.

  1. How many tools does the Harvest MCP server have?
    The Harvest MCP server exposes 24 tools, including Send Invoice, Manage User, Record Invoice Payment. Each one is governed and traced through Metorial.
  2. Harvest exposes tools your agents call on demand; it does not publish event triggers yet. Everything still runs through one governed MCP URL.
  3. Any MCP client, including VS Code, Windsurf, Zed, OpenCode and Grok. Each one reaches the Harvest MCP server through the same Metorial URL.
  4. Use role-based access control to decide which teams, users, and agents can use Harvest and which of its tools they can call.
  5. Yes. Metorial is open source, so you can run the Harvest MCP server yourself or use the hosted gateway.

Connect Harvest to production AI agents

See how Metorial gives your team governed access to Harvest, with tracing and security controls built in.