How to Connect Harvest to Claude
Harvest has its own MCP server, so there are now two ways to connect Harvest to Claude: Harvest's own connection, which is built for logging time and running simple reports from inside a chat, and Tugger, which syncs your Harvest data into a managed warehouse for reporting across the whole team and alongside your accounts. This guide covers both, and when you'd use each.
What you can ask once Harvest is connected to Claude
Either route lets Claude read your Harvest data. With Tugger, your time entries, projects, clients, invoices, expenses and estimates sync on a schedule into a managed data warehouse, and Claude queries that warehouse through Tugger's read-only MCP server, so it never touches Harvest directly.
Typical questions:
- What is each person's billable utilisation this quarter against a 75% target?
- Which projects are over budget on hours, and by how much?
- What did we invoice by client by month over the last twelve months, and what's still outstanding?
- How many hours were logged last month that haven't been invoiced yet, and what are they worth at billable rates?
- What is our effective hourly rate by client, invoiced value divided by hours logged?
- Where does non-billable time go, by task?
Claude writes the query, runs it and explains the result. You can follow up in the same conversation, ask for a chart, or ask Claude to build a utilisation dashboard and bake the figures in.
Harvest's own Claude connection
Harvest publishes a hosted MCP server that you add to Claude as a custom connector. On an individual Claude plan:
- In Claude, open Customize, then Connectors.
- Click the plus icon and choose Add custom connector.
- Name it "Harvest" and enter the server URL https://api.harvestapp.com/mcp.
- Click Add, then Connect, and sign in to Harvest to authorise access.
- In a new conversation, open the connectors menu and switch Harvest on.
Once it's on, Claude can start and stop timers, log time on a project and task, review time entries for a date range, and run a time report grouped by project, client or person, split into billable and non-billable hours. Admins and managers can log time on behalf of a teammate where their Harvest role allows it.
Where Harvest's own connection stops
Harvest's MCP is a good way to work Harvest from a chat window. It's less suited to reporting, for four reasons.
- Write access. It can start timers and create time entries. That's the point of it, and a risk when you only wanted a number. Tugger's MCP server is read-only by design, so a mistyped question can't log anything.
- Your permissions, not the company's. Harvest's MCP respects the permissions of the person who connected it. A member sees their own time; a manager sees their team. A company-wide utilisation view needs an admin's connection, and even then it's one account at a time.
- Reports, not data. It returns the same summaries Harvest's own reports give you: hours by project, client or person for a date range. Questions that need time entries joined to billable rates, cost rates, invoices and payments, such as effective hourly rate or unbilled work at value, are outside what it returns.
- Harvest only. Matching Harvest invoices to Xero or QuickBooks receipts, or comparing logged hours with payroll in Breathe HR, needs both systems in one place.
The two aren't exclusive. Keep Harvest's own connection for logging time from Claude, and use Tugger for the questions that need the whole dataset.
What you need
- A Tugger account. You can start a free 10-day trial if you don't have one.
- Admin rights on your Harvest account, so you can authorise the connection.
- A Claude plan that supports connectors (Pro, Max, Team or Enterprise).
Step 1: connect Harvest to Tugger
Tugger's Harvest connector authenticates with Harvest directly, so there are no API keys to generate.
- Log in to Tugger, click Add Connector and choose Harvest.
- Give the connector a name, such as "Harvest", and choose how far back you want history to sync from.
- Click Authorise Access. You'll be sent to Harvest to sign in and authorise Tugger.
- Approve the request and you'll be returned to Tugger.
Tugger runs a first sync and then refreshes on a schedule, daily by default, which you can change in Tugger. You can see sync status and history in the Tugger dashboard. If you have more than one Harvest account, each needs its own connector.
Step 2: add Tugger's MCP server to Claude
- In Tugger, open AI Insights and copy your MCP server URL.
- In Claude, go to Settings, then Connectors.
- Choose Add custom connector.
- Name it "Tugger" and paste the MCP server URL.
- Click Add, then Connect, and sign in to Tugger when prompted.
In any new chat, open the connectors menu and switch Tugger on. Claude can now see the tables Tugger has synced from Harvest.
Step 3: ask your first question
Start with something simple to confirm the connection is working:
"Show me billable and non-billable hours by person for last month."
Claude will find the time entry, user and task tables, run the query and return the result. From there you can ask follow-ups, request a chart, or ask Claude to explain how it built the query.
What syncs from Harvest
Tugger brings across time, money and the people and project tables you need to join them.
| Area | Data |
|---|---|
| Time entries | Every entry with user, client, project, task, hours, billable flag, billable rate, cost rate and whether it's been invoiced |
| Projects and tasks | Projects with budgets, billing method and dates; task types; project task and user assignments |
| Clients and contacts | Client organisations and their contacts |
| Invoices and payments | Invoices and line items with state and due dates; payments by gateway; invoice messages and reminders |
| Estimates and retainers | Estimates and line items with state; estimate messages; retainer agreements |
| Expenses | Expenses by project, user and category, billable flag, receipts |
| People and rates | Users with capacity and roles; billable and cost rate history with effective dates |
If you need something that isn't listed, ask us. Tugger's connectors are extended based on customer requests.
Which should you use?
| You want to | Use |
|---|---|
| Start a timer or log time from Claude | Harvest's own connection |
| Check your own hours this week | Harvest's own connection |
| Report on utilisation, budgets, effective rates or unbilled work across the team | Tugger |
| Combine Harvest with Xero, QuickBooks or Breathe HR | Tugger |
| Give the finance team read-only access without Harvest admin rights | Tugger |
| Feed the same data to Power BI or Tableau as well as Claude | Tugger |
Tugger is UK-based and ISO 27001:2022 certified. Your warehouse is hosted on Azure, in the UK by default or any Azure region on request, and the same warehouse feeds Power BI and Tableau if you use them. Tugger's MCP server works with Claude, ChatGPT and Gemini.
Related guides
- What is an MCP server?
- Why Claude needs a data warehouse
- How to connect Xero to Claude
- How to connect QuickBooks to Claude
- How to connect Breathe HR to Claude
- How to build a Claude dashboard
Get started
Connecting Harvest to Claude with Tugger takes no code and no faff. Try Tugger free for 10 days or book a demo and we'll walk through it with your own Harvest data.