productivity
Harvest MCP Integration for Claude Code
Connect Harvest to Claude Code through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Harvest to Claude Code
Connect local KosmoKrator integrations to Claude Code through one scoped MCP gateway entry.
Add KosmoKrator as a stdio MCP server in the Claude Code project config and select the integrations that should be visible. The gateway is local, scoped to this integration, and starts with
--write=deny so Claude Code can inspect read-capable tools without receiving write access by default.
Harvest MCP Config for Claude Code
Claude Code can launch the local kosmo binary directly from the project MCP config.
{
"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
Expose only Harvest instead of a broad multi-service tool list.
Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.
Start read-only, then opt into ask or allow for trusted workspaces.
Harvest Tools Visible to Claude Code
Claude Code sees stable MCP tool names generated from the Harvest integration catalog.
| MCP tool | Source function | Type | Description |
|---|---|---|---|
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. |