Harvest Automation
Automate time tracking, project management, and invoicing workflows in Harvest -- log hours, manage projects, clients, and tasks through natural language commands.
Harvest Automation
Overview of Skills
Harvest Automation lets you automate Harvest time tracking operations directly in Claude Code. Using natural-language commands, you can record work hours, manage projects and clients, create tasks, and retrieve report data.
Use Cases
- Daily time tracking – No need to open a browser. Quickly record and edit Harvest time entries in the terminal. Supports two account types: duration-based and timestamp-based.
- Project management automation – Create new projects, configure billing methods, set budgets, manage clients, and manage task types. Fully covers the project lifecycle.
- Time reports and analysis – Extract time records across multiple dimensions such as date range, project, and client. Generate billing summaries and utilization reports.
Core Features
- Time entry management – Create, query, and update Harvest time entries. Supports filtering by project, task, and date, and can bulk-retrieve unbilled records.
- Project and client management – Create new billable projects with billing configurations (billing by project/task/person). Manage client profiles and reusable task types.
- Reports and data export – Retrieve time records using date windows and multi-dimensional filters. Supports paginated retrieval of complete datasets for billing and time analysis.
FAQs
How do I connect a Harvest account in Claude Code?
Add the Rube MCP server to your Claude Code configuration. The URL is https://rube.app/mcp. After starting, you’ll receive an authentication link—complete the OAuth authorization to start using it.
Which Harvest account types are supported?
Two account types are supported:
- Duration-based accounts use the
hoursparameter to record total work hours. - Timestamp-based accounts use
started_timeandended_timeto record start and end times. The skill automatically detects the account type.
What limitations apply to task assignment when creating time entries?
The entry’s task_id must already be assigned to the specified project_id. Using only HARVEST_LIST_TASKS to query global tasks isn’t sufficient—you must confirm that the task is assigned to that project for the time entry to be created successfully.