Harvest MCP connector
Harvest is a web-based time-tracking, expense-management, and invoicing tool designed to help businesses and freelancers track billable hours, manage project budgets, and generate professional invoices from tracked time. The Harvest MCP connector allows AI agents to create and manage clients, track time entries across projects, and control active timers. It also supports managing accounts, handling external references, and organizing time data for billing and reporting workflows.
Authentication type
- OAuth 2.0 Authorization Code - Requires a one-time user login to authorize the agent to access the service on their behalf.
Uses
Use the Harvest MCP connector to perform the following actions:
- Track billable hours and generate accurate invoices from time entries
- Monitor project budgets and allocate resources across multiple clients
- Automate expense logging and reimbursement workflows
- Create and manage client contacts with project assignments
- Record time entries for team members across different projects
- Reconcile tracked hours with invoiced amounts for revenue verification
- Maintain accurate user roles and permissions across your organization
Example prompts
Use the following example prompts to invoke Harvest MCP connector tools from your AI assistant or Boomi Connect workflow:
Show me all time entries logged in Harvest for the past week.Create a new client in Harvest named Acme Corporation.List all active projects in Harvest and their current budgets.Log a 4-hour time entry for project development work today.Get all users in Harvest and their assigned roles.Update the budget for the marketing project in Harvest.Create a contact for the new client in Harvest.Delete the time entry I accidentally created yesterday.Show me all clients in Harvest with invoices pending.Start a timer in Harvest for the current task.
Harvest MCP connector tools
The Harvest MCP connector provides the following tools. Each tool maps to a specific action you can invoke from your AI agent or automation.
| Tool | Description |
|---|---|
| harvest_harvestcreateclient_invoke | Initializes a new Harvest client connection for API operations. |
| getAccounts | Retrieves a list of all accounts associated with the authenticated user. |
| listTimeEntries | Retrieves a list of time entries based on specified filters and criteria. |
| createTimeEntry | Creates a new time entry with the provided task and duration information. |
| getTimeEntry | Retrieves details for a specific time entry. |
| updateTimeEntry | Modifies an existing time entry with updated information. |
| deleteTimeEntry | Removes a time entry from the system. |
| restartTimeEntry | Resumes tracking time on a previously stopped time entry. |
| stopTimeEntry | Halts the timer on an active time entry. |
| deleteTimeEntryExternalReference | Removes an external reference link from a time entry. |
| listClients | Retrieves a list of all clients in the account. |
| createClient | Creates a new client record with the specified details. |
| getClient | Retrieves information for a specific client. |
| updateClient | Modifies an existing client record. |
| deleteClient | Removes a client from the account. |
| listProjects | Retrieves a list of all projects in the account. |
| createProject | Creates a new project with the provided settings. |
| getProject | Retrieves details for a specific project. |
| updateProject | Modifies an existing project record. |
| deleteProject | Removes a project from the account. |
| listUsers | Retrieves a list of all users in the account. |
| createUser | Creates a new user account with specified credentials and permissions. |
| getCurrentUser | Retrieves profile information for the authenticated user. |
| getUser | Retrieves information for a specific user. |
| updateUser | Modifies an existing user record. |
| deleteUser | Removes a user from the account. |
| listContacts | Retrieves a list of all contacts in the account. |
| createContact | Creates a new contact record with the provided information. |
| getContact | Retrieves details for a specific contact. |
| updateContact | Modifies an existing contact record. |
| deleteContact | Delete a contact. |
| listTasks | List tasks. |
| createTask | Create a task. |
| getTask | Get a task. |
| updateTask | Update a task. |
| deleteTask | Delete a task. |
| listInvoices | List invoices. |
| createInvoice | Create an invoice. |
| getInvoice | Get an invoice. |
| updateInvoice | Update an invoice. |
| deleteInvoice | Delete an invoice. |
| listExpenses | List expenses. |
| createExpense | Create an expense. |
| getExpense | Get an expense. |
| updateExpense | Update an expense. |
| deleteExpense | Delete an expense. |
| listEstimates | List estimates. |
| createEstimate | Create an estimate. |
| getEstimate | Get an estimate. |
| updateEstimate | Update an estimate. |
| deleteEstimate | Delete an estimate. |
| getCompany | Get company information. |