Navigation
Harvest Time Entry MCP: Natural Language Logging & Seamless Workflows - MCP Implementation

Harvest Time Entry MCP: Natural Language Logging & Seamless Workflows

Simplify Harvest time tracking with natural language MCP server—effortlessly log tasks via voice/text, slash errors, and boost productivity. Smarter entries, seamless workflows.

Research And Data
4.0(16 reviews)
24 saves
11 comments

This tool saved users approximately 5436 hours last month!

About Harvest Time Entry MCP

What is Harvest Time Entry MCP: Natural Language Logging & Seamless Workflows?

This MCP server transforms time tracking by enabling Harvest users to log entries using natural language inputs. It automates complex workflows like leave requests and smart date parsing, reducing manual effort while maintaining accuracy. The solution integrates seamlessly with Harvest’s API, offering a user-centric approach to time management.

How to Use Harvest Time Entry MCP: Natural Language Logging & Seamless Workflows?

  1. Install Claude desktop app and clone the repository.
  2. Configure Harvest credentials via the setup script, specifying access tokens, account IDs, and work preferences.
  3. Use natural language commands directly in Claude to log time, retrieve reports, or manage projects. For example: "3 hours on Project Alpha coding yesterday" or "Show time report for last quarter".

Harvest Time Entry MCP Features

Key Features of Harvest Time Entry MCP

  • Intuitive Parsing: Interprets phrases like “I’m off sick this week” to auto-apply leave days based on your configured work hours.
  • Adaptive Date Handling: Recognizes relative terms (“yesterday”, “next week”) and converts them to precise timestamps.
  • Configurable Workflows: Adjust work hours, time zones, and reporting formats through environment variables.
  • Multi-Task Support: Generate real-time reports, list active projects, and audit time entries without leaving the CLI.

Use Cases of Harvest Time Entry MCP

Optimize workflows in scenarios like:

  • Remote Work Tracking: Log hours across distributed teams using natural language inputs.
  • Leave Management: Streamline PTO requests by translating messages into Harvest entries.
  • Agile Reporting: Generate sprint summaries or client invoices using predefined date ranges.
  • Legacy System Integration: Bridge gaps between Harvest and tools like Slack or Jira via CLI commands.

Harvest Time Entry MCP FAQ

FAQ from Harvest Time Entry MCP

Do I need coding skills to use this tool?
No. The interface requires only basic command-line familiarity; advanced configurations are optional.
Is the solution secure?
Credentials are stored securely via environment variables. Follow best practices for API token management.
What’s the support scope?
This MIT-licensed open-source project offers community support. Commercial integrations require custom development.
Can I customize response formats?
Yes. Modify output templates in the /config directory to align with team preferences.

Content

Harvest Natural Language Time Entry MCP Server

An MCP server that lets you log Harvest time entries using natural language, including special handling for leave requests. This server makes time tracking more intuitive by understanding natural language inputs and automatically handling common scenarios like leave requests.

Features

  • 🗣️ Natural language time entry parsing
  • 🏖️ Special leave request handling (e.g., "I'm off sick today")
  • ⏰ Configurable work day hours
  • 🌍 Timezone support
  • 🎯 Automatic project and task matching
  • 📅 Smart date parsing (today, yesterday, etc.)

Prerequisites

  • Node.js installed
  • A Harvest account
  • Personal access token from Harvest Developer Tools
  • Account ID (shown on the same page as your token)

Installation

Installation

  1. Install the Claude desktop app

  2. Clone this repository:

git clone https://github.com/adrian-dotco/harvest-mcp-server.git
cd harvest-mcp-server
  1. Install dependencies and build:
npm install
npm run build
  1. Run the setup script:
node build/setup.js
  1. Follow the prompts to enter your:
* Harvest Personal Access Token (from https://id.getharvest.com/developers)
* Harvest Account ID
* Standard work day hours (default: 7.5)
* Timezone (default: Australia/Perth)
  1. Restart Claude desktop app

That's it! You can now use natural language time tracking in Claude.

Staying Updated

To update to the latest version:

git pull
npm install
npm run build

The setup script will have configured Claude to use your local build of the server, so any updates you pull will be automatically available after rebuilding.

Usage

The server provides several tools for interacting with Harvest:

log_time

Log time entries using natural language. Examples:

Regular time entries:

"2 hours on Project X doing development work today"
"45 minutes on Project Y testing yesterday"
"3.5 hours on Project Z meetings last Friday"

Leave requests (automatically uses standard work day hours):

"I'm off sick today"
"I'm unwell today"
"Taking annual leave next week"

get_time_report

Get time reports using natural language queries. Examples:

  1. Time Period Options:
"Show time report for last month"
"Get time summary for this week"
"Show hours from January 1st to January 31st"
"Report time for Q1"
"Show me yesterday's hours"
  1. Report Types:
  • By Project (default):

    "Show time report for last month"
    

    "Get project hours for this week"

  • By Client:

    "Show time report by client for this month"
    

    "Get hours by client for Q1"

  • By Task:

    "Show time summary by task for January"
    

    "Get task breakdown for last week"

  • By Team Member:

    "Show team hours for last week"
    

    "Get time report by user for this month"

  1. Report Details: Each report includes:
  • Total hours worked
  • Billable vs non-billable hours
  • Billable amounts (if you have permission)
  • Project/client/task/user details based on report type

list_projects

List all available Harvest projects:

List my projects

list_tasks

List available tasks for a specific project:

Show tasks for Project X

list_entries

View recent time entries:

Show my recent time entries

Configuration

The server supports these environment variables:

  • HARVEST_ACCESS_TOKEN: Your Harvest personal access token
  • HARVEST_ACCOUNT_ID: Your Harvest account ID
  • STANDARD_WORK_DAY_HOURS: Default hours for a full work day (default: 7.5)
  • TIMEZONE: Your timezone (default: Australia/Perth)

Development

The server is built using:

  • TypeScript
  • MCP SDK
  • chrono-node for natural language date parsing
  • Harvest API v2

To contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request

License

MIT License - see LICENSE for details

Related MCP Servers & Clients