Wraps the Hatchet workflow orchestration API so Claude can see and control your distributed task execution. You get read access to workflow definitions, run history, logs, worker status, and queue metrics, plus three write operations: trigger new runs with JSON payloads, cancel in-flight tasks, and replay failed ones. The token is a JWT that encodes your tenant and server URL, so self-hosters can point it at any Hatchet instance via HATCHET_API_BASE. Reach for this when you want an agent to debug stuck workflows, correlate logs across retries, or trigger runs based on patterns it spots in your system state.
An MCP server that lets AI agents observe and operate Hatchet workflows — status, runs, logs, workers, and metrics, plus trigger / cancel / replay.
Why: Hatchet has a great API but no MCP. This wraps it so agents (Claude Code / Desktop, etc.) can see and act on workflow state.
Add this to your Claude Code / Claude Desktop MCP config:
{
"mcpServers": {
"hatchet": {
"command": "npx",
"args": ["-y", "hatchet-mcp"],
"env": { "HATCHET_CLIENT_TOKEN": "<your-hatchet-api-token>" }
}
}
}
Get the token from the Hatchet dashboard → API tokens. The token is a JWT that encodes the server URL and tenant, so it's the only required setting.
| Variable | Required | Description |
|---|---|---|
HATCHET_CLIENT_TOKEN | Yes | Hatchet API token (JWT). Encodes the server URL + tenant, so it's normally all you need. |
HATCHET_API_BASE | No | Override the API base URL. Self-hosters can point this at any Hatchet instance. |
HATCHET_TENANT_ID | No | Override the tenant id decoded from the token. |
Self-hosting? Set HATCHET_API_BASE to your own Hatchet instance and it works anywhere.
| Tool | Description |
|---|---|
whoami | Show the resolved Hatchet tenant + server URL and confirm the token works. |
list_workflows | List workflow definitions for the tenant. |
list_runs | List workflow runs (with an optional lookback window and filters). |
get_run | Get the full detail of one workflow run — status, tasks, errors. |
get_run_logs | Get log lines for a task by its external id. |
list_workers | List workers and their status. |
get_queue_metrics | Get task/queue metrics for the tenant (queue health). |
| Tool | Description |
|---|---|
trigger_workflow | Trigger a new workflow run by name with a JSON input payload. |
cancel_runs | Cancel one or more runs/tasks by external id. |
replay_runs | Replay/retry one or more runs/tasks by external id. |
The read tools (whoami, list_workflows, list_runs, get_run, get_run_logs, list_workers, get_queue_metrics) are non-destructive.
trigger_workflow, cancel_runs, and replay_runs mutate live state — their descriptions are prefixed MUTATES LIVE STATE so agents and users know they affect real runs.
The token grants full tenant access — treat it as a secret. Never commit it to source control.
pnpm install
pnpm test # vitest
pnpm build # tsup -> dist/index.js
TypeScript / ESM, tested with vitest.
v0.1.0 — all tools verified against Hatchet Cloud; works with self-hosted instances via HATCHET_API_BASE. trigger_workflow uses the stable /workflow-runs/trigger endpoint.
HATCHET_CLIENT_TOKEN*secretHatchet API token (a JWT). Encodes the server URL and tenant, so it is normally the only setting required.
HATCHET_API_BASEOverride the API base URL. Self-hosters can point this at any Hatchet instance.
HATCHET_TENANT_IDOverride the tenant id decoded from the token.
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent