KosmoKrator

productivity

Harvest MCP Integration for Generic MCP Clients

Connect Harvest to Generic MCP Clients through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.

12 functions 9 read 3 write Manual OAuth token auth

Connect Harvest to Generic MCP Clients

Connect any stdio-compatible MCP client to local KosmoKrator integration tools.

Register kosmo mcp:serve as the command for a local stdio MCP server. The gateway is local, scoped to this integration, and starts with --write=deny so MCP clients can inspect read-capable tools without receiving write access by default.

Harvest MCP Config for Generic MCP Clients

Start with read-only write policy and expand only for trusted projects.

{
  "mcpServers": {
    "kosmokrator-harvest": {
      "type": "stdio",
      "command": "kosmo",
      "args": [
        "mcp:serve",
        "--integration=harvest",
        "--write=deny"
      ]
    }
  }
}

Run the Gateway Manually

kosmokrator mcp:serve --integration=harvest --write=deny

Why Use KosmoKrator Here

Scoped tools

Expose only Harvest instead of a broad multi-service tool list.

Local credentials

Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.

Write policy

Start read-only, then opt into ask or allow for trusted workspaces.

Harvest Tools Visible to MCP clients

MCP clients sees stable MCP tool names generated from the Harvest integration catalog.

MCP toolSource functionTypeDescription
integration__harvest__harvest_list_time_entries harvest.harvest_list_time_entries Read List Harvest time entries with optional filters for user, client, project, and date range.
integration__harvest__harvest_create_time_entry harvest.harvest_create_time_entry Write Create a new Harvest time entry for a project and task.
integration__harvest__harvest_get_time_entry harvest.harvest_get_time_entry Read Get a single Harvest time entry by its ID.
integration__harvest__harvest_update_time_entry harvest.harvest_update_time_entry Write Update an existing Harvest time entry (hours, notes, or spent_date).
integration__harvest__harvest_delete_time_entry harvest.harvest_delete_time_entry Write Delete a Harvest time entry by its ID.
integration__harvest__harvest_list_projects harvest.harvest_list_projects Read List Harvest projects with optional filters for client and active status.
integration__harvest__harvest_get_project harvest.harvest_get_project Read Get a single Harvest project by its ID.
integration__harvest__harvest_list_clients harvest.harvest_list_clients Read List Harvest clients with optional active status filter.
integration__harvest__harvest_list_tasks harvest.harvest_list_tasks Read List Harvest tasks with optional active status filter.
integration__harvest__harvest_list_users harvest.harvest_list_users Read List Harvest users with optional active status filter.
integration__harvest__harvest_get_user harvest.harvest_get_user Read Get a single Harvest user by their ID.
integration__harvest__harvest_get_current_user harvest.harvest_get_current_user Read Get the currently authenticated Harvest user profile.

Related Harvest Pages