Back to Directory/Automation & Workflow

io.github.ElliotPadfield/hatchet-mcp

Observe and operate Hatchet workflows from an AI agent — runs, logs, trigger, cancel, replay.

Automation & WorkflowTypeScriptv0.1.1

hatchet-mcp

CI npm version license: MIT

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.

Install

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.

Configuration

VariableRequiredDescription
HATCHET_CLIENT_TOKENYesHatchet API token (JWT). Encodes the server URL + tenant, so it's normally all you need.
HATCHET_API_BASENoOverride the API base URL. Self-hosters can point this at any Hatchet instance.
HATCHET_TENANT_IDNoOverride the tenant id decoded from the token.

Self-hosting? Set HATCHET_API_BASE to your own Hatchet instance and it works anywhere.

Tools

Observability (read-only)

ToolDescription
whoamiShow the resolved Hatchet tenant + server URL and confirm the token works.
list_workflowsList workflow definitions for the tenant.
list_runsList workflow runs (with an optional lookback window and filters).
get_runGet the full detail of one workflow run — status, tasks, errors.
get_run_logsGet log lines for a task by its external id.
list_workersList workers and their status.
get_queue_metricsGet task/queue metrics for the tenant (queue health).

Actions (mutate live state)

ToolDescription
trigger_workflowTrigger a new workflow run by name with a JSON input payload.
cancel_runsCancel one or more runs/tasks by external id.
replay_runsReplay/retry one or more runs/tasks by external id.

Safety

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.

Development

pnpm install
pnpm test    # vitest
pnpm build   # tsup -> dist/index.js

TypeScript / ESM, tested with vitest.

Status

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.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y hatchet-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-elliotpadfield-hatchet-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "hatchet-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

hatchet-mcpnpm

Compatible MCP Clients

io.github.ElliotPadfield/hatchet-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More