KosmoKrator

productivity

Harvest MCP Integration for LangChain

Connect Harvest to LangChain 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 LangChain

Bridge LangChain agents to local KosmoKrator integration tools through MCP or headless CLI calls.

Use the MCP gateway when the agent should discover tools, or wrap kosmo integrations:call for fixed chains. The gateway is local, scoped to this integration, and starts with --write=deny so LangChain can inspect read-capable tools without receiving write access by default.

Harvest MCP Config for LangChain

Keep the gateway scoped to the integration and operation class needed by the chain.

{
  "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 LangChain

LangChain 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