@betterthangood/harvest-mcp
v1.0.1
Published
MCP server for Harvest API v2 integration
Downloads
32
Maintainers
Readme
@betterthangood/harvest-mcp
MCP server for Harvest API v2 integration -- manage time entries, projects, invoices, expenses, and more from any MCP-compatible client.
Requirements
- Node.js 18 or later
Installation
npm install -g @betterthangood/harvest-mcpConfiguration
This server requires two environment variables:
HARVEST_ACCESS_TOKEN-- Your Harvest personal access tokenHARVEST_ACCOUNT_ID-- Your Harvest account ID
Create a personal access token at https://id.getharvest.com/developers.
Claude.app Setup
Add the following to your claude_desktop_config.json (requires the global install above):
{
"mcpServers": {
"harvest": {
"command": "harvest-mcp",
"env": {
"HARVEST_ACCESS_TOKEN": "your-token",
"HARVEST_ACCOUNT_ID": "your-account-id"
}
}
}
}Available Tools
Clients
| Tool | Description |
|------|-------------|
| harvest_list_clients | List all clients |
| harvest_get_client | Get a single client |
| harvest_create_client | Create a client |
| harvest_update_client | Update a client |
| harvest_delete_client | Delete a client |
| harvest_list_contacts | List client contacts |
| harvest_get_contact | Get a single contact |
| harvest_create_contact | Create a contact |
| harvest_update_contact | Update a contact |
| harvest_delete_contact | Delete a contact |
Projects
| Tool | Description |
|------|-------------|
| harvest_list_projects | List all projects |
| harvest_get_project | Get a single project |
| harvest_create_project | Create a project |
| harvest_update_project | Update a project |
| harvest_delete_project | Delete a project |
| harvest_list_task_assignments | List task assignments for a project |
| harvest_create_task_assignment | Create a task assignment |
| harvest_update_task_assignment | Update a task assignment |
| harvest_delete_task_assignment | Delete a task assignment |
| harvest_list_user_assignments | List user assignments for a project |
| harvest_create_user_assignment | Create a user assignment |
| harvest_update_user_assignment | Update a user assignment |
| harvest_delete_user_assignment | Delete a user assignment |
Tasks
| Tool | Description |
|------|-------------|
| harvest_list_tasks | List all tasks |
| harvest_get_task | Get a single task |
| harvest_create_task | Create a task |
| harvest_update_task | Update a task |
| harvest_delete_task | Delete a task |
Users
| Tool | Description |
|------|-------------|
| harvest_list_users | List all users |
| harvest_get_user | Get a single user |
| harvest_get_me | Get the currently authenticated user |
| harvest_create_user | Create a user |
| harvest_update_user | Update a user |
| harvest_delete_user | Delete a user |
| harvest_list_user_project_assignments | List project assignments for a user |
| harvest_list_user_billable_rates | List billable rates for a user |
| harvest_create_user_billable_rate | Create a billable rate |
| harvest_list_user_cost_rates | List cost rates for a user |
| harvest_create_user_cost_rate | Create a cost rate |
Estimates
| Tool | Description |
|------|-------------|
| harvest_list_estimates | List all estimates |
| harvest_get_estimate | Get a single estimate |
| harvest_create_estimate | Create an estimate |
| harvest_update_estimate | Update an estimate |
| harvest_delete_estimate | Delete an estimate |
| harvest_list_estimate_messages | List messages for an estimate |
| harvest_create_estimate_message | Create an estimate message |
Invoices
| Tool | Description |
|------|-------------|
| harvest_list_invoices | List all invoices |
| harvest_get_invoice | Get a single invoice |
| harvest_create_invoice | Create an invoice |
| harvest_update_invoice | Update an invoice |
| harvest_delete_invoice | Delete an invoice |
| harvest_list_invoice_payments | List payments for an invoice |
| harvest_create_invoice_payment | Create an invoice payment |
| harvest_delete_invoice_payment | Delete an invoice payment |
| harvest_list_invoice_messages | List messages for an invoice |
| harvest_create_invoice_message | Create an invoice message |
Expenses
| Tool | Description |
|------|-------------|
| harvest_list_expenses | List all expenses |
| harvest_get_expense | Get a single expense |
| harvest_create_expense | Create an expense |
| harvest_update_expense | Update an expense |
| harvest_delete_expense | Delete an expense |
| harvest_list_expense_categories | List expense categories |
| harvest_get_expense_category | Get a single expense category |
| harvest_create_expense_category | Create an expense category |
| harvest_update_expense_category | Update an expense category |
| harvest_delete_expense_category | Delete an expense category |
Time Entries
| Tool | Description |
|------|-------------|
| harvest_list_time_entries | List all time entries |
| harvest_get_time_entry | Get a single time entry |
| harvest_create_time_entry | Create a time entry |
| harvest_update_time_entry | Update a time entry |
| harvest_delete_time_entry | Delete a time entry |
| harvest_restart_time_entry | Restart a stopped time entry |
| harvest_stop_time_entry | Stop a running time entry |
Reports
| Tool | Description |
|------|-------------|
| harvest_time_report_clients | Time report grouped by clients |
| harvest_time_report_projects | Time report grouped by projects |
| harvest_time_report_tasks | Time report grouped by tasks |
| harvest_time_report_team | Time report grouped by team |
| harvest_expense_report_clients | Expense report grouped by clients |
| harvest_expense_report_projects | Expense report grouped by projects |
| harvest_expense_report_categories | Expense report grouped by categories |
| harvest_expense_report_team | Expense report grouped by team |
| harvest_project_budget_report | Project budget report |
| harvest_uninvoiced_report | Uninvoiced report |
Company
| Tool | Description |
|------|-------------|
| harvest_get_company | Get company info |
| harvest_list_roles | List all roles |
| harvest_get_role | Get a single role |
| harvest_create_role | Create a role |
| harvest_update_role | Update a role |
| harvest_delete_role | Delete a role |
License
MIT
