drio
Open app

Harvest Natural Language Time Entry MCP Server

Source

An MCP server for natural language time entry in Harvest

Catalog onlyCatalog onlySTDIO

Overview

Harvest Natural Language Time Entry MCP Server is a server that allows users to log time entries in Harvest using natural language, making time tracking more intuitive and user-friendly.

To use the Harvest MCP Server, clone the repository, install the dependencies, build the server, and configure it with your Harvest account details. You can then log time entries using natural language commands.

  • 🗣️ 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.)
  1. Logging time entries for various projects using simple language.
  2. Handling leave requests without manual input.
  3. Automatically matching tasks and projects based on user input.

Add to your AI client

Use these steps to connect Harvest Natural Language Time Entry MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.

Cursor

Add this to your .cursor/mcp.json file in your project root, then restart Cursor.

.cursor/mcp.json

{
  "mcpServers": {
    "harvest-mcp-server-adrian-dotco": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-harvest-mcp-server-adrian-dotco"
      ]
    }
  }
}

Claude Desktop

Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "harvest-mcp-server-adrian-dotco": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-harvest-mcp-server-adrian-dotco"
      ]
    }
  }
}

Claude Code

Add this to your project's .mcp.json file. Claude Code will detect it automatically.

.mcp.json (project root)

{
  "mcpServers": {
    "harvest-mcp-server-adrian-dotco": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-harvest-mcp-server-adrian-dotco"
      ]
    }
  }
}

VS Code (Copilot)

Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.

.vscode/mcp.json

{
  "servers": {
    "harvest-mcp-server-adrian-dotco": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-harvest-mcp-server-adrian-dotco"
      ]
    }
  }
}

Windsurf

Add this to your Windsurf MCP config file, then restart Windsurf.

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "harvest-mcp-server-adrian-dotco": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-harvest-mcp-server-adrian-dotco"
      ]
    }
  }
}

Cline

Open Cline settings, navigate to MCP Servers, and add this server configuration.

Cline MCP Settings (via UI)

{
  "mcpServers": {
    "harvest-mcp-server-adrian-dotco": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-harvest-mcp-server-adrian-dotco"
      ]
    }
  }
}

FAQ

Can I log time entries for any project?

Yes! You can log time entries for any project available in your Harvest account.

Is there a specific format for natural language entries?

No, the server is designed to understand various natural language inputs, making it flexible for users.

What are the prerequisites for using this server?

You need Node.js, a Harvest account, and a personal access token from Harvest Developer Tools.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":1611,"uuid":"c43ad146-9a96-4cd5-8833-2cb26ee85beb","name":"harvest-mcp-server","title":"Harvest Natural Language Time Entry MCP Server","description":"An MCP server for natural language time entry in Harvest","avatar_url":"https://avatars.githubusercontent.com/u/137968360?v=4","created_at":"2025-02-23T09:47:46.299Z","updated_at":"2025-02-23T09:48:49.494Z","status":"created","author_name":"adrian-dotco","author_avatar_url":"https://avatars.githubusercontent.com/u/137968360?v=4","tags":"[]","category":"research-and-data","is_featured":false,"sort":1,"url":"https://github.com/adrian-dotco/harvest-mcp-server","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":"{\"star\":\"0\",\"license\":\"MIT license\",\"language\":\"JavaScript\",\"is_official\":false,\"latest_commit_time\":\"2025-02-23 18:58:44\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]