Harvest MCP Server

by taiste

Not rated
GitHub

About

Manage time tracking, projects, clients, and tasks using the Harvest API.

Details

Author
taiste
Categories
Productivity, Project Management, API

Setup

Install Harvest MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/taiste/harvest-mcp-server

Follow the installation instructions in the repository README, then restart your MCP client.

Manage time tracking, projects, clients, and tasks using the Harvest API.

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.

The server provides the following functionality:

- 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)

- List projects with filtering options (by client, is_active, updated_since, page, per_page)
- Retrieve detailed project information
- Create new projects
- Update existing projects (also used to archive: passis_active=False)
- Delete projects (destructive — also deletes the project's time entries and expenses, though invoices are retained; archiving is recommended instead)

- List task assignments (account-wide or scoped to a project)
- Retrieve detailed task assignment information
- Create new task assignments (link a task to a project)
- Update existing task assignments
- Delete task assignments (only when no time entries are logged against them)

- List user assignments (account-wide or scoped to a project)
- Retrieve detailed user assignment information
- Create new user assignments (link a user to a project)
- Update existing user assignments
- Delete user assignments (only when no time entries or expenses are logged against them)

- List clients with filtering options
- Retrieve detailed client information

- List available tasks with filtering options

- 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

- Python 3.10 or higher
- Harvest account with API access
- Harvest API key and Account ID
- Create or edit your Claude Desktop configuration file:

- macOS:~/Library/Application Support/Claude/claude_desktop_config.json

- Windows (MSIX installs — the default fromclaude.ai/download):%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json
- Windows (older/non-MSIX installs):%APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "harvest": { "command": "uv", "args": [ "run", "--directory", "change_directory", "harvest-mcp-server.py" ], "env": { "HARVEST_ACCOUNT_ID": "account_id", "HARVEST_API_KEY": "api_key" } } } }

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] toclient@example.com"
- "Create a new project called
[name] for client [client_id], billed by Project, no budget"
- "Archive project [project_id]"
- "Assign task [task_id] to project [project_id] as billable"
- "Make user [user_id] a project manager on project [project_id]"
- "List everyone assigned to project [project_id]"

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.

- 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.

You can run the server in read-only mode by setting theHARVEST_READ_ONLYenvironment variable totrue. This disables all write operations (creating time entries, starting/stopping timers, creating/updating/deleting estimates, changing estimate state, sending estimate messages, and creating/updating/deleting projects, task assignments, and user assignments) 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.

Interact with task, doc, and project data in Dart, an AI-native project management tool

Remote MCP server for MeisterTask. Create and manage projects, tasks, and notes from your AI assistant. Hosted (streamable-HTTP) — connect at https://mcp.meistertask.com/mcp

The official Plane MCP server provides integration with Plane APIs, enabling full AI automation of Plane projects, work items, cycles and more.

Keep teams & agents coordinated automatically

From the creators of Wunderlist — the all-in-one task management app for to-do lists, notes, and projects. AI-powered productivity that replaces 5 apps.

Connect to the Taskade platform via MCP. Access tasks, projects, workflows, and AI agents in real-time through a unified workspace and API.

Official Taskeract MCP Server for integrating your Taskeract project tasks and load the context of your tasks into your MCP enabled app.

Manage your Todoist tasks and projects directly from your LLM.

Interact with Asana tasks, projects, workspaces, and comments using the Asana API.

Comprehensive Trello integration: 46 tools covering boards, cards, lists, labels, checklists, attachments, members, custom fields, and search. Read-only mode, image attachment auto-download. Active fork of kocakli/Trello-Desktop-MCP integrating contributions from across the Trello MCP fork ecosystem

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.