
Harvest
Allows natural language time tracking in Harvest, automatically parsing entries like 'worked 6 hours on project X today' and handling leave requests.
Integrates with Harvest's time tracking and project management features, enabling natural language interactions for managing projects, tracking time entries, and handling leave requests.
What it does
- Log time entries using natural language
- Parse dates naturally (today, yesterday, etc.)
- Match projects and tasks automatically
- Handle leave requests with natural phrases
- Configure work day hours and timezone
- Parse time durations from text
Best for
About Harvest
Harvest is a community-built MCP server published by adrian-dotco that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate with Harvest for easy time recording, project management, and hour tracking using natural language commands. It is categorized under productivity.
How to install
You can install Harvest in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
License
Harvest is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Harvest Natural Language Time Entry MCP Server
An MCP server that lets you log Harvest time entries using natural language, including special handling for leave requests. This server makes time tracking more intuitive by understanding natural language inputs and automatically handling common scenarios like leave requests.
Features
- 🗣️ Natural language time entry parsing
- 🏖️ Special leave request handling (e.g., "I'm off sick today")
- ⏰ Configurable work day hours
- 🌍 Timezone support
- 🎯 Automatic project and task matching
- 📅 Smart date parsing (today, yesterday, etc.)
Prerequisites
- Node.js installed
- A Harvest account
- Personal access token from Harvest Developer Tools
- Account ID (shown on the same page as your token)
Installation
Installation
-
Install the Claude desktop app
-
Clone this repository:
git clone https://github.com/adrian-dotco/harvest-mcp-server.git
cd harvest-mcp-server
- Install dependencies and build:
npm install
npm run build
- Run the setup script:
node build/setup.js
-
Follow the prompts to enter your:
- Harvest Personal Access Token (from https://id.getharvest.com/developers)
- Harvest Account ID
- Standard work day hours (default: 7.5)
- Timezone (default: Australia/Perth)
-
Restart Claude desktop app
That's it! You can now use natural language time tracking in Claude.
Staying Updated
To update to the latest version:
git pull
npm install
npm run build
The setup script will have configured Claude to use your local build of the server, so any updates you pull will be automatically available after rebuilding.
Usage
The server provides several tools for interacting with Harvest:
log_time
Log time entries using natural language. Examples:
Regular time entries:
"2 hours on Project X doing development work today"
"45 minutes on Project Y testing yesterday"
"3.5 hours on Project Z meetings last Friday"
Leave requests (automatically uses standard work day hours):
"I'm off sick today"
"I'm unwell today"
"Taking annual leave next week"
get_time_report
Get time reports using natural language queries. Examples:
- Time Period Options:
"Show time report for last month"
"Get time summary for this week"
"Show hours from January 1st to January 31st"
"Report time for Q1"
"Show me yesterday's hours"
- Report Types:
- By Project (default):
"Show time report for last month" "Get project hours for this week" - By Client:
"Show time report by client for this month" "Get hours by client for Q1" - By Task:
"Show time summary by task for January" "Get task breakdown for last week" - By Team Member:
"Show team hours for last week" "Get time report by user for this month"
- Report Details: Each report includes:
- Total hours worked
- Billable vs non-billable hours
- Billable amounts (if you have permission)
- Project/client/task/user details based on report type
list_projects
List all available Harvest projects:
List my projects
list_tasks
List available tasks for a specific project:
Show tasks for Project X
list_entries
View recent time entries:
Show my recent time entries
Configuration
The server supports these environment variables:
HARVEST_ACCESS_TOKEN: Your Harvest personal access tokenHARVEST_ACCOUNT_ID: Your Harvest account IDSTANDARD_WORK_DAY_HOURS: Default hours for a full work day (default: 7.5)TIMEZONE: Your timezone (default: Australia/Perth)
Development
The server is built using:
- TypeScript
- MCP SDK
- chrono-node for natural language date parsing
- Harvest API v2
To contribute:
- Fork the repository
- Create a feature branch
- Submit a pull request
License
MIT License - see LICENSE for details
Alternatives
Related Skills
Browse all skillsPERSONAL APP ARCHITECT - Strategic development orchestrator for personal productivity applications. Analyzes project context, makes architectural decisions for single-developer projects, delegates to specialized skills, and ensures alignment between user experience goals and technical implementation. Optimized for personal apps targeting 10-100 users.
Analyze conversation patterns, track productivity, and surface self-knowledge insights. Use when user wants to understand their own patterns (when they chat, what topics they discuss, productivity trends, sentiment over time). Provides weekly/monthly reports, topic recommendations, and time-based insights. Privacy-first design with all analysis local.
Install and configure essential Windsurf extensions for productivity. Activate when users mention "install extensions", "setup windsurf plugins", "configure extensions", "extension recommendations", or "productivity extensions". Handles extension installation and configuration. Use when working with windsurf extension pack functionality. Trigger with phrases like "windsurf extension pack", "windsurf pack", "windsurf".
Expert methodology for defining, tracking, and interpreting engineering performance metrics including DORA, team health, productivity, and executive reporting.
Expert email management assistant for Apple Mail. Use this when the user mentions inbox management, email organization, email triage, inbox zero, organizing emails, managing mail folders, email productivity, checking emails, or email workflow optimization. Provides intelligent workflows and best practices for efficient email handling.
Analyze team AI usage patterns and productivity metrics. Activate when users mention "usage analytics", "ai metrics", "productivity tracking", "usage reports", or "roi analysis". Handles analytics and reporting configuration. Use when working with windsurf usage analytics functionality. Trigger with phrases like "windsurf usage analytics", "windsurf analytics", "windsurf".