Harvest MCP Server
Manage time tracking, projects, clients, and tasks using the Harvest API.
Harvest MCP Server
This MCP (Model Context Protocol) server provides integration with the Harvest time tracking and project management API. It allows Claude and other MCP-compatible AI assistants to interact with your Harvest account, helping you manage time entries, projects, clients, and more.
Features
The server provides the following functionality:
Users
- List users
- Get user details
Time Entries
- List time entries with filtering options
- Create new time entries
- Start/stop timers
- Query time entry details
- Get unsubmitted timesheets (time entries not yet submitted for approval)
Projects
- List projects with filtering options
- Retrieve detailed project information
Clients
- List clients with filtering options
- Retrieve detailed client information
Tasks
- List available tasks with filtering options
Estimates
- List estimates with filtering options (by client, state, date range, updated_since)
- Retrieve detailed estimate information
- Look up an estimate by its user-facing number (e.g. "79")
- List messages associated with an estimate
- Create new estimates with line items
- Update existing estimates (add/update/delete line items via
_destroy) - Change estimate state (send, accept, decline, re-open) without sending email
- Send estimate messages (emails the estimate to recipients)
- Delete estimates
Setup Instructions
Prerequisites
- Python 3.10 or higher
- Harvest account with API access
- Harvest API key and Account ID
Integrating with Claude Desktop
- Create or edit your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows (MSIX installs — the default from claude.ai/download):
%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json - Windows (older/non-MSIX installs):
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Add the Harvest MCP server configuration:
{
"mcpServers": {
"harvest": {
"command": "uv",
"args": [
"run",
"--directory",
"change_directory",
"harvest-mcp-server.py"
],
"env": {
"HARVEST_ACCOUNT_ID": "account_id",
"HARVEST_API_KEY": "api_key"
}
}
}
} - Restart Claude Desktop.
- Verify the integration by looking for the hammer icon in Claude's interface.
Example Queries
Once connected, you can ask Claude about your Harvest data with queries like:
- "Show me my time entries from last week"
- "List all my active projects"
- "Start a timer for project [project_id] and task [task_id]"
- "Show me all active clients"
- "List all available tasks"
- "Get my unsubmitted timesheets from this month"
- "Show me unsubmitted time entries for user [user_id]"
- "Show me all accepted estimates from this quarter"
- "Find the estimate numbered [number]"
- "Create a draft estimate for client [client_id] with these line items..."
- "Mark estimate [id] as sent"
- "Email estimate [id] to [email protected]"
Customization
You can modify the server code to add more functionality or customize the existing tools to better suit your workflow. The server uses FastMCP, which makes it easy to add new tools by simply adding new functions with the @mcp.tool() decorator.
Troubleshooting
- API Errors: Make sure your Harvest API key and Account ID are correct and have the necessary permissions.
- Connection Issues: Verify that your Claude Desktop configuration has the correct path to the server script.
- Missing Dependencies: Ensure you've installed all required packages in your Python environment.
Read-Only Mode
You can run the server in read-only mode by setting the HARVEST_READ_ONLY environment variable to true. This disables all write operations (creating time entries, starting/stopping timers, creating/updating/deleting estimates, changing estimate state, and sending estimate messages) while keeping all read operations available.
{ "mcpServers": { "harvest": { "command": "uv", "args": [ "run", "--directory", "change_directory", "harvest-mcp-server.py" ], "env": { "HARVEST_ACCOUNT_ID": "account_id", "HARVEST_API_KEY": "api_key", "HARVEST_READ_ONLY": "true" } } } }
When read-only mode is enabled, any attempt to call a write tool will return an error message explaining that the server is in read-only mode and how to enable write access.
Security Notes
This server requires your Harvest API credentials to function. Make sure to:
- Keep your API key secure
- Do not share your claude_desktop_config.json file
- Consider using a dedicated API key with limited permissions for this integration
Máy chủ liên quan
Kone.vc
nhà tài trợMonetize your AI agent with contextual product recommendations
Spire.XLS MCP Server
Create, read, edit, and convert Excel files without requiring Microsoft Office.
protein-mcp-server
Protein structures (PDB, UniProt)
Hjarni
Hjarni includes a built-in MCP server for ChatGPT, Claude, and other compatible clients. Use this page as the protocol and capability reference. If you just want to connect an assistant, start with ChatGPT setup or Claude setup.
Gorev
A powerful, Go-based task management server with MCP support, AI editor integration, and a VS Code extension. It supports smart task creation, markdown, and project organization.
GenieACS MCP
MCP server that exposes GenieACS TR-069 ACS instances to LLMs for device management, firmware downloads, and parameter reads
ToolRoute
Intelligent routing layer for AI agents — recommends the best MCP server and LLM for any task, scored on 132+ real benchmark executions.
Jira Insights MCP
Manage Jira Service Management (JSM) asset schemas using the Jira Insights API.
t-pane MCP Server
Manage tmux panes and execute commands within tmux sessions.
Backlog MCP Server
Interact with the Backlog API to manage projects, issues, wikis, git repositories, and more.
Wishfinity +W
Universal wishlist for AI shopping. Save any product URL from any store to a persistent wishlist directly from AI conversations.