Harvest Time Tracking MCP Server
@mayank2424
MCP (Model Context Protocol) server for Harvest Time Tracking.
Overview
What is Harvest Time Tracking MCP Server?
A TypeScript-based MCP (Model Context Protocol) server that enables LLM clients to interact with a Harvest time tracking account. It provides tools to query and manage Harvest data such as clients, projects, users, time entries, and company information.
How to use Harvest Time Tracking MCP Server?
Install via npx -y @mayankg0324/mcp-server-harvest. Configure the environment variables HARVEST_ACCOUNT_ID, HARVEST_ACCESS_TOKEN, and HARVEST_BASE_URL in your MCP client’s config file (e.g., Claude Desktop claude-desktop-config.json or Cursor IDE mcp.json). Then use the available tools (e.g., search-clients, create-time-entry) through your LLM client.
Key features of Harvest Time Tracking MCP Server
- Retrieve company information (name, URL, ID, currency)
- Search and get details for clients, projects, and users
- List project user assignments and task assignments
- Search and fetch time entry details with filters
- Create new time entries with project, task, user, and hours
- Works with Claude Desktop and Cursor IDE out of the box
Use cases of Harvest Time Tracking MCP Server
- Ask an LLM to find all active clients in your Harvest account
- Query which users are assigned to a specific project
- Retrieve a summary of time entries for a given date range
- Create a new time entry for a specific project and task through natural language
- List all project task assignments to understand workload
FAQ from Harvest Time Tracking MCP Server
What are the prerequisites for using Harvest Time Tracking MCP Server?
You need Node.js >= 18 (or Bun for development), a Harvest account with API access, a Personal Access Token from Harvest, and your Harvest Account ID.
What environment variables are required?
The server requires three environment variables: HARVEST_ACCOUNT_ID, HARVEST_ACCESS_TOKEN, and HARVEST_BASE_URL.
How do I fix spawn npx ENOENT or env: node: No such file or directory?
This error occurs when your MCP client cannot find npx or node in its PATH. Use the full path to npx (found via which npx) and include your Node bin directory in the PATH environment variable inside the config.
Which MCP clients are supported?
The README explicitly provides configuration examples for Claude Desktop and Cursor IDE. Other MCP clients may work but are not documented.
Can I run the server locally for development?
Yes. Clone the repository, run npm install and npm run build, then point your MCP client config to the local dist/index.js using the node command.