Skip to main content
Glama

Harvest MCP Server

Harvest MCP Server

A Model Context Protocol (MCP) server that provides integration with the Harvest API v2.

Features

This MCP server provides tools for interacting with Harvest time tracking data:

Time Entry Management

  • List time entries with filters
  • Create new time entries
  • Update existing time entries
  • Delete time entries

Project & Task Management

  • List and view projects
  • List available tasks

User & Client Management

  • Get current user information
  • List all users
  • List all clients

Reporting

  • Generate time reports for date ranges

Assignments

  • List project assignments
  • List task assignments for projects

Installation

# Clone the repository git clone <repository-url> cd harvest-mcp # Install dependencies npm install # Build the project npm run build

Configuration

  1. Copy the environment template:
cp .env.example .env
  1. Edit .env and add your Harvest credentials:
HARVEST_ACCOUNT_ID=your_account_id HARVEST_ACCESS_TOKEN=your_access_token

To get your Harvest credentials:

  • Log in to your Harvest account
  • Go to Developers
  • Create a new personal access token
  • Note your Account ID

Development

# Run in development mode with hot reload npm run dev # Build the project npm run build # Run the built server npm start

Testing

The project includes comprehensive tests to verify integration with the Harvest API:

# Run unit tests npm test # Run unit tests in watch mode npm run test:watch # Run integration tests (requires valid .env setup) npm run test:integration

Integration Tests

The integration tests connect to your actual Harvest account and perform read-only operations to verify the MCP server works correctly. These tests:

  • Connect to the MCP server via stdio transport
  • Test all 14 available tools
  • Verify proper data structure responses
  • Test error handling for invalid inputs
  • Use actual Harvest API data (read-only operations only)

Requirements for integration tests:

  • Valid .env file with HARVEST_ACCOUNT_ID and HARVEST_ACCESS_TOKEN
  • Active Harvest account with some data (projects, time entries, etc.)
  • Network access to Harvest API

Using with Claude Desktop

Add the following to your Claude Desktop configuration file:

{ "mcpServers": { "harvest": { "command": "node", "args": ["/path/to/harvest-mcp/dist/index.js"], "env": { "HARVEST_ACCOUNT_ID": "your_account_id", "HARVEST_ACCESS_TOKEN": "your_access_token" } } } }

Available Tools

ToolDescription
harvest_list_time_entriesList time entries with optional filters
harvest_create_time_entryCreate a new time entry
harvest_update_time_entryUpdate an existing time entry
harvest_delete_time_entryDelete a time entry
harvest_restart_timerRestart a stopped time entry timer
harvest_stop_timerStop a running time entry timer
harvest_list_projectsList all projects
harvest_get_projectGet details of a specific project
harvest_list_tasksList all tasks
harvest_get_current_userGet information about the authenticated user
harvest_list_usersList all users in the account
harvest_list_clientsList all clients
harvest_time_reportGet time report for a date range
harvest_list_project_assignmentsList project assignments for the current user
harvest_list_task_assignmentsList task assignments for a project

Tool Parameters

Time Entry Tools

harvest_list_time_entries

  • user_id (string): Filter by user ID
  • project_id (string): Filter by project ID
  • from (string): Start date (YYYY-MM-DD)
  • to (string): End date (YYYY-MM-DD)
  • page (number): Page number
  • per_page (number): Results per page (max 100)

harvest_create_time_entry

  • project_id (string, required): Project ID
  • task_id (string, required): Task ID
  • spent_date (string, required): Date of the entry (YYYY-MM-DD)
  • hours (number): Hours worked
  • notes (string): Notes for the time entry

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

A Model Context Protocol server that integrates with the Harvest API v2, enabling time tracking management including listing, creating, updating, and deleting time entries, as well as managing projects, tasks, users and generating reports.

  1. Features
    1. Time Entry Management
    2. Project & Task Management
    3. User & Client Management
    4. Reporting
    5. Assignments
  2. Installation
    1. Configuration
      1. Development
        1. Testing
          1. Integration Tests
        2. Using with Claude Desktop
          1. Available Tools
            1. Tool Parameters
              1. Time Entry Tools
            2. License

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server for time manipulation tasks, enabling AI models to get the current date/time and calculate duration between timestamps.
                Last updated -
                2
                TypeScript
                MIT License
                • Apple
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that integrates with TickTick task management service, allowing AI assistants to list, create, update, and complete tasks with proper timezone handling.
                Last updated -
                9
                4
                JavaScript
                MIT License
                • Apple
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that provides tools to get the current date and time in various formats, supporting different timezones and custom formatting options.
                Last updated -
                9
                JavaScript
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that provides time tracking integration with TimeCamp, allowing AI assistants to create, retrieve, update, and delete time entries through natural language commands.
                Last updated -
                TypeScript

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/standardbeagle/harvest-mcp'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server