Enables loading environment variables from a .env file for configuration, particularly for storing Harvest credentials like account ID and access token.
Supports version control for the codebase, with instructions for cloning the repository as part of the installation process.
Used for package management, dependency installation, and running scripts for building, testing, and developing the Harvest MCP server.
Harvest MCP Server
A Model Context Protocol (MCP) server that provides integration with the Harvest API v2.
Features
This MCP server provides tools for interacting with Harvest time tracking data:
Time Entry Management
- List time entries with filters
- Create new time entries
- Update existing time entries
- Delete time entries
Project & Task Management
- List and view projects
- List available tasks
User & Client Management
- Get current user information
- List all users
- List all clients
Reporting
- Generate time reports for date ranges
Assignments
- List project assignments
- List task assignments for projects
Installation
Configuration
- Copy the environment template:
- Edit
.env
and add your Harvest credentials:
To get your Harvest credentials:
- Log in to your Harvest account
- Go to Developers
- Create a new personal access token
- Note your Account ID
Development
Testing
The project includes comprehensive tests to verify integration with the Harvest API:
Integration Tests
The integration tests connect to your actual Harvest account and perform read-only operations to verify the MCP server works correctly. These tests:
- Connect to the MCP server via stdio transport
- Test all 14 available tools
- Verify proper data structure responses
- Test error handling for invalid inputs
- Use actual Harvest API data (read-only operations only)
Requirements for integration tests:
- Valid
.env
file withHARVEST_ACCOUNT_ID
andHARVEST_ACCESS_TOKEN
- Active Harvest account with some data (projects, time entries, etc.)
- Network access to Harvest API
Using with Claude Desktop
Add the following to your Claude Desktop configuration file:
Available Tools
Tool | Description |
---|---|
harvest_list_time_entries | List time entries with optional filters |
harvest_create_time_entry | Create a new time entry |
harvest_update_time_entry | Update an existing time entry |
harvest_delete_time_entry | Delete a time entry |
harvest_restart_timer | Restart a stopped time entry timer |
harvest_stop_timer | Stop a running time entry timer |
harvest_list_projects | List all projects |
harvest_get_project | Get details of a specific project |
harvest_list_tasks | List all tasks |
harvest_get_current_user | Get information about the authenticated user |
harvest_list_users | List all users in the account |
harvest_list_clients | List all clients |
harvest_time_report | Get time report for a date range |
harvest_list_project_assignments | List project assignments for the current user |
harvest_list_task_assignments | List task assignments for a project |
Tool Parameters
Time Entry Tools
harvest_list_time_entries
user_id
(string): Filter by user IDproject_id
(string): Filter by project IDfrom
(string): Start date (YYYY-MM-DD)to
(string): End date (YYYY-MM-DD)page
(number): Page numberper_page
(number): Results per page (max 100)
harvest_create_time_entry
project_id
(string, required): Project IDtask_id
(string, required): Task IDspent_date
(string, required): Date of the entry (YYYY-MM-DD)hours
(number): Hours workednotes
(string): Notes for the time entry
License
MIT
This server cannot be installed
A 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.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server for time manipulation tasks, enabling AI models to get the current date/time and calculate duration between timestamps.Last updated -2TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that integrates with TickTick task management service, allowing AI assistants to list, create, update, and complete tasks with proper timezone handling.Last updated -94JavaScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that provides tools to get the current date and time in various formats, supporting different timezones and custom formatting options.Last updated -9JavaScript
TimeCamp MCP Serverofficial
-securityFlicense-qualityA Model Context Protocol server that provides time tracking integration with TimeCamp, allowing AI assistants to create, retrieve, update, and delete time entries through natural language commands.Last updated -TypeScript