productivity
Harvest MCP Integration for OpenAI Agents SDK
Connect Harvest to OpenAI Agents SDK through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Harvest to OpenAI Agents SDK
Attach KosmoKrator integration tools to OpenAI Agents SDK workflows through a local MCP gateway.
Start the KosmoKrator MCP gateway locally and point the OpenAI Agents SDK MCP tool at that process or wrapper. The gateway is local, scoped to this integration, and starts with
--write=deny so OpenAI Agents can inspect read-capable tools without receiving write access by default.
Harvest MCP Config for OpenAI Agents SDK
Use headless JSON commands for CI-style execution and MCP for agent tool discovery.
{
"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 OpenAI Agents
OpenAI Agents 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. |