KosmoKrator

productivity

Harvest MCP Integration for Claude Agent SDK

Connect Harvest to Claude Agent SDK 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 Claude Agent SDK

Give Claude Agent SDK workflows access to KosmoKrator integrations through a local MCP server.

Add a KosmoKrator stdio MCP server to the Claude Agent SDK options. The gateway is local, scoped to this integration, and starts with --write=deny so Claude Agent SDK can inspect read-capable tools without receiving write access by default.

Harvest MCP Config for Claude Agent SDK

Use a narrow integration list so the agent does not load unrelated tools.

{
  "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 Claude Agent SDK

Claude Agent SDK 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