harvest
MCP server for Harvest time tracking API - use with Claude Desktop and other AI assistants
claude mcp add --transport stdio southleft-harvest-mcp npx -y mcp-remote https://harvest-mcp.southleft.com/mcp
How to use
The Harvest MCP server connects Claude-powered assistants to Harvest time tracking data through the MCP protocol. It exposes a structured suite of tools that let you list, query, and manipulate Harvest resources such as time entries, clients, projects, invoices, and more, enabling natural-language prompts to drive your Harvest workflow. Once connected, Claude can perform tasks like retrieving time entries for a user, starting or stopping timers, analyzing profitability and utilization, and generating aggregates across clients, projects, and team members. The available tools cover time tracking, company and team data, clients and contacts, projects and tasks, invoicing and expenses, analytics, and utilities that help resolve entities and fetch schema definitions. You can use these capabilities via the MCP endpoint at /mcp and interact with Harvest through natural-language commands or structured tool invocations.
How to install
Prerequisites:
- Node.js and npm installed on your machine or server.
- Access to the internet to fetch the mcp-remote package via npx.
- If self-hosting, familiarity with Cloudflare Workers (optional, per deployment method).
Installation steps (Node.js / CLI-driven via npx):
-
Ensure you have Node.js and npm installed. Verify with: node -v npm -v
-
Install or run the MCP server endpoint directly using NPX (no local installation required): npx -y mcp-remote https://harvest-mcp.southleft.com/mcp
-
If you prefer to host locally, clone the repository (or use the provided installer in the project): git clone https://github.com/southleft/harvest-mcp.git cd harvest-mcp npm install npm run dev # Development server (or the appropriate production command as documented)
-
For self-hosted Cloudflare Workers deployment (Cloudflare recommended):
- Clone and install dependencies: git clone https://github.com/southleft/harvest-mcp.git cd harvest-mcp npm install
- Configure OAuth and secrets as described in the README (HARVEST_CLIENT_ID, HARVEST_CLIENT_SECRET, SESSION_SECRET).
- Deploy using the provided commands (e.g., npm run deploy) as per the project’s self-hosting instructions.
-
Configure a client to connect via MCP:
- In Claude, add an MCP endpoint pointing to the server URL /mcp (e.g., https://harvest-mcp.southleft.com/mcp).
- Authenticate when prompted to authorize Harvest access for the assistant.
Prerequisites may vary slightly depending on your hosting method (Node.js local server vs. Cloudflare Workers). Always refer to the latest project documentation for environment-specific steps.
Additional notes
Notes and tips:
- The MCP server relies on Harvest OAuth credentials (HARVEST_CLIENT_ID and HARVEST_CLIENT_SECRET) and a session secret for secure operation. Ensure these are configured in your environment when self-hosting.
- If you deploy via Cloudflare Workers, you’ll need to set up KV namespaces (SESSIONS, RATES_CONFIG) and supply Secrets for HARVEST_CLIENT_ID, HARVEST_CLIENT_SECRET, and SESSION_SECRET.
- The recommended quick-start uses npx to avoid local installation, but for production you may prefer a persistent local or cloud deployment (Node.js server or Cloudflare Workers).
- The available tools cover a broad range of Harvest capabilities. Use descriptive natural language prompts to leverage search and filtering capabilities (e.g., list time entries for a date range, compute profitability by project, or aggregate time by client). If a prompt cannot be resolved directly, the MCP layer will guide you to the appropriate tool with parameters.
- Ensure the OAuth redirect URL is whitelisted in your Harvest application settings when configuring OAuth in the Harvest Developer console.
- If you encounter CORS or domain origin issues in Claude, consider adjusting ALLOWED_ORIGINS or hosting the MCP server under a domain that matches your Claude deployment origin.
Related MCP Servers
Remote
A type-safe solution to remote MCP communication, enabling effortless integration for centralized management of Model Context.
toolbase
A desktop application that adds powerful tools to Claude and AI platforms
docmole
Dig through any documentation with AI - MCP server for Claude, Cursor, and other AI assistants
phabricator
MCP server for Phabricator
obsidian
MCP server for Obsidian vault management - enables Claude and other AI assistants to read, write, search, and organize your notes
vscode-context
MCP Server to Connect with VS Code IDE