
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@standardbeagle/harvest-mcp
Advanced tools
A Model Context Protocol (MCP) server that provides integration with the Harvest API v2.
This MCP server provides tools for interacting with Harvest time tracking data:
# Clone the repository
git clone <repository-url>
cd harvest-mcp
# Install dependencies
npm install
# Build the project
npm run build
cp .env.example .env
.env and add your Harvest credentials:HARVEST_ACCOUNT_ID=your_account_id
HARVEST_ACCESS_TOKEN=your_access_token
To get your Harvest credentials:
# Run in development mode with hot reload
npm run dev
# Build the project
npm run build
# Run the built server
npm start
The project includes comprehensive tests to verify integration with the Harvest API:
# Run unit tests
npm test
# Run unit tests in watch mode
npm run test:watch
# Run integration tests (requires valid .env setup)
npm run test:integration
The integration tests connect to your actual Harvest account and perform read-only operations to verify the MCP server works correctly. These tests:
Requirements for integration tests:
.env file with HARVEST_ACCOUNT_ID and HARVEST_ACCESS_TOKENAdd the following to your Claude Desktop configuration file:
{
"mcpServers": {
"harvest": {
"command": "node",
"args": ["/path/to/harvest-mcp/dist/index.js"],
"env": {
"HARVEST_ACCOUNT_ID": "your_account_id",
"HARVEST_ACCESS_TOKEN": "your_access_token"
}
}
}
}
| 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 |
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 entryMIT
FAQs
Model Context Protocol server for Harvest API integration
We found that @standardbeagle/harvest-mcp demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.