The Harvest Natural Language Time Entry MCP Server allows you to interact with Harvest using natural language commands to manage time entries efficiently. With this server, you can:
Log time entries using natural language descriptions of work done, duration, projects, and tasks
Get detailed time reports based on various periods (e.g., this week, last month) and categories (by project, client, task, or user)
List all available Harvest projects
List tasks for a specific project
View recent time entries with optional date filters
Handle special requests like logging leave (sick, annual) for a full standard workday
Utilize smart date parsing for references like "today", "yesterday", and "last Friday"
Benefit from automatic project and task matching based on your natural language input
Configure standard work day hours and timezone settings
Runs as a Node.js application, connecting Harvest's time tracking service with Claude's AI interface to enable natural language processing of time entries and leave requests.
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:
Install dependencies and build:
Run the setup script:
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:
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:
Leave requests (automatically uses standard work day hours):
get_time_report
Get time reports using natural language queries. Examples:
Time Period Options:
Report Types:
By Project (default):
By Client:
By Task:
By Team Member:
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_tasks
List available tasks for a specific project:
list_entries
View 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
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Enables natural language time tracking and reporting for Harvest, including automatic leave requests, project/task matching, and date parsing.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityIntegrates with Harvest time tracking API, enabling AI assistants to manage time entries, projects, clients, and tasks through natural language commands.Last updated -1115MIT License
- -securityFlicense-qualityProvides MCP integration for Harvest's time tracking, project management, and invoicing functionality, enabling natural language interaction with Harvest API through tools for managing clients, time entries, projects, tasks, and users.Last updated -
- AsecurityAlicenseAqualityProvides comprehensive integration with the Clockify time tracking API, enabling automated time entry management, project organization, task tracking, and reporting through a standardized interface.Last updated -2902MIT License
- -securityFlicense-qualityA Model Context Protocol server that integrates with the Harvest API v2, enabling time tracking management including listing, creating, updating, and deleting time entries, as well as managing projects, tasks, users and generating reports.Last updated -1