Labsco
MCP SERVER

Harvest Time Tracking

by ianaleck

Run a Harvest account from the client: start and stop timers, keep projects, tasks and clients in shape, raise invoices and estimates, and pull the report of billable work nobody has invoiced yet.

HR, Recruiting & WorkforceVerified
Summary
Everything the account holds is addressable, including the writes that end up on someone's bill.

The read side is filterable rather than a dump: list_time_entries narrows by user, client, project, task, billing state and date range, and returns paginated results. Deletion is not uniform, and the difference matters — delete_project, delete_task, delete_client and delete_user archive the record and keep its history, while delete_time_entry, delete_invoice, delete_expense and delete_estimate are permanent. Writing time has its own shape too: create_time_entry needs project_id, task_id and spent_date, plus either hours or both started_time and ended_time.

What it is

A client for the Harvest time-tracking and billing API, 54 tools reaching from the running timer through projects, tasks, clients and users to invoices, estimates, expenses and reports.

What you get
  • Time entries and live timers: list_time_entries, get_time_entry, create_time_entry, update_time_entry and delete_time_entry, with start_timer, stop_timer and restart_timer driving a running entry.
  • Project structure: list_projects, get_project, create_project, update_project and delete_project carrying budget, hourly_rate and is_billable, plus list_project_task_assignments, create_project_task_assignment, update_project_task_assignment and delete_project_task_assignment for which tasks a project can book against.
  • Tasks and clients as their own records: list_tasks, get_task, create_task, update_task, delete_task; list_clients, get_client, create_client, update_client, delete_client.
  • People, permissions and rates: list_users, get_user, get_current_user, create_user, update_user and delete_user, covering is_admin, is_project_manager and is_contractor as well as cost_rate and default_hourly_rate.
  • Billing documents: list_invoices, get_invoice, create_invoice, update_invoice and delete_invoice alongside list_estimates, get_estimate, create_estimate, update_estimate and delete_estimate, with currency, discount, tax and payment_term.
  • Expenses: list_expenses, get_expense, create_expense, update_expense and delete_expense, with list_expense_categories for classification.
  • Reporting: get_time_report and get_expense_report with grouping and billable filters, get_project_budget_report for spend against budget, and get_uninvoiced_report for work that has not been billed.
Requirements

HARVEST_ACCESS_TOKEN and HARVEST_ACCOUNT_ID for the Harvest account the tools act on.

Setup effort

One command plus a key — npm install -g @ianaleck/harvest-mcp-server, then supply credentials