Skip to main content

A simple MCP server for Harvest

Project description

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

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

Setup Instructions

Prerequisites

  • Python 3.10 or higher
  • Harvest account with API access
  • Harvest API key and Account ID

Integrating with Claude Desktop

  1. Create or edit your Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 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"
                 }
             }
         }
     }
    
  3. Restart Claude Desktop.

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

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.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orange_harvest_mcp-0.1.0.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orange_harvest_mcp-0.1.0-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file orange_harvest_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: orange_harvest_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for orange_harvest_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 250ec73ccd8e04cdb3e02fa8433174d6b3c89e1da9b67bd26b601e422ef1845b
MD5 cbc87f0ed44542be296b44a5b574e3d0
BLAKE2b-256 494a5ebdb435ca97061b5e026f44bb2b0d4b674974b7e22b6c30c16ba995e727

See more details on using hashes here.

File details

Details for the file orange_harvest_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for orange_harvest_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 95e5eaa1e6c0f59d16156c994818510321571a92e9cfad84a1c944bf3ca6d0f5
MD5 ca7f806a63608ba14f11ba0ca7512e10
BLAKE2b-256 b0df9253da998c0b4f93adee2e9d84f6ad05e000a34a47934f787d0fb8e42400

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page