Skip to main content
Glama

Clanker

Claude Code plugin + stdio MCP server for running external coding agents as Claude-owned background tasks.

Clanker exposes these slash commands:

Command

Backend

/clanker:codex <task>

Codex ACP

/clanker:grok <task>

Grok ACP

/clanker:glm <task>

Opencode with GLM

/clanker:deepseek <task>

Opencode with DeepSeek

/clanker:kimi <task>

Opencode with Kimi

/clanker:free <task>

Opencode free model

/clanker:oc <provider/model> <task>

Advanced Opencode model override

Default mode is background: the Claude Agent task owns the visible bottom task row, while the MCP server owns the ACP backend process. Use --wait to run foreground.

Layout

.
├── .claude-plugin/marketplace.json
├── plugin/
│   ├── .claude-plugin/plugin.json
│   ├── .mcp.json
│   ├── agents/
│   ├── commands/
│   └── dist/clanker-mcp.mjs
├── src/
├── test/
├── scripts/
└── package.json

Related MCP server: openai-agents-mcp

Install

claude plugin marketplace add /path/to/ClankerHouse
claude plugin install clanker@clanker

Then restart Claude Code or run /reload-plugins.

The active Claude config should point here:

"enabledPlugins": {
  "clanker@clanker": true
},
"extraKnownMarketplaces": {
  "clanker": {
    "source": {
      "source": "directory",
      "path": "/path/to/ClankerHouse"
    }
  }
}

Development

npm ci
npm run bundle
npm test
npm run typecheck

npm run bundle writes plugin/dist/clanker-mcp.mjs, the self-contained server bundle Claude loads from its plugin cache.

Runtime Config

Env

Default

Meaning

CLANKER_STALL_THRESHOLD_MS

300000

Silence before a running turn is flagged as suspected stalled.

CLANKER_TURN_TIMEOUT_MS

2700000

Hard per-turn ceiling before the subprocess is killed and the turn becomes error.

CLANKER_HANDSHAKE_TIMEOUT_MS

30000

ACP initialize + session/new timeout.

CLANKER_SESSION_TTL_MS

600000

Idle session TTL before reaping.

CLANKER_WAIT_DEFAULT_MS / CLANKER_WAIT_MAX_MS

30000 / 55000

clanker_wait long-poll default and cap.

CLANKER_PROGRESS_EXPERIMENTAL

unset

=1 enables MCP progress notifications.

CLANKER_MCP_BASE_REPO

server cwd

Base repo for managed worktrees.

CLANKER_RUNS_ROOT / CLANKER_WORKTREES_ROOT

~/.cache/clanker/{runs,worktrees}

Artifact and managed worktree roots.

Available Tools

7 tools
clanker_cancelCancel a Clanker's in-flight turnA
DestructiveIdempotent

Send ACP session/cancel to the Clanker backend. Returns {id, status}. No-op if the session is idle.

Inputs: id (required).

clanker_dispatchDispatch to a Clanker and block until the turn completesA
Destructive

Convenience path = clanker_dispatch_start + loop clanker_wait until the turn is terminal. Returns the terminal WaitResult {status, final_message, touched_files, plan_final}. For long tasks prefer clanker_dispatch_start + clanker_wait so the caller controls polling and avoids MCP request timeouts.

Inputs: lane (required), prompt (required), cwd, model, +3 more.

clanker_dispatch_startStart a Clanker turn (non-blocking)A
Destructive

Spawn/handshake a Clanker and start a prompt turn, returning {id} immediately. Poll progress with clanker_wait(id). Setup errors (unknown backend, worktree creation) fail here; runtime errors surface via clanker_wait.

Inputs: lane (required), prompt (required), cwd, model, +3 more.

clanker_listList active Clanker sessionsA
Read-onlyIdempotent

Overview of live Clankers: [{id, lane, state (working|idle|stalled), idle_ms, turns_count, plan_summary, suspected_stall}]. Reaped/closed sessions are omitted.

Inputs: no named parameters.

clanker_promptContinue an existing Clanker session with a new turnA
Destructive

Start a new prompt turn on an already-open session (persistent-session reuse). Returns {id}; poll with clanker_wait(id). Errors if the session was reaped/closed or a turn is already running.

Inputs: id (required), prompt (required).

clanker_statusCheap status of a Clanker runA
Read-onlyIdempotent

Return {status, plan (checkbox counts + current step), tool_calls, last_event_age_ms, suspected_stall}. Does not wait. suspected_stall flags a running turn silent past the stall threshold.

Inputs: id (required).

clanker_waitLong-poll a Clanker runA
Read-only

Wait up to timeout_ms (default 30000, cap 55000) for new events or completion. Returns {status, digest, plan_summary, last_event_age_ms, suspected_stall}; when status is terminal also {final_message, touched_files, plan_final}. digest is a human-readable summary of events since the previous wait — tool titles, file writes, plan check changes, key message sentences. Quiet mode (default on): only wakes before the deadline on a plan/status change, a tool error, a suspected stall, or a terminal state — trivial chatter (a tool_call starting, a file-location echo, a message-chunk fragment) does not cut the wait short, so callers no longer need to repoll tightly just because the run is reading/grepping. Pass quiet:false for the old any-event wake-up.

Inputs: id (required), quiet, timeout_ms.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: cancel, dispatch (convenience wrapper), dispatch_start (initiate), list, prompt (existing session), status, wait. No overlap despite some convenience aliasing.

    Naming Consistency5/5

    All tool names follow the consistent 'clanker_verb' pattern in snake_case. Verbs are descriptive and predictably relate to actions (cancel, dispatch, list, prompt, status, wait).

    Tool Count5/5

    7 tools cover the full session management lifecycle without being excessive. Each tool addresses a necessary operation, from starting to polling to cancellation.

    Completeness4/5

    Core CRUD-like operations are covered: start a turn, wait, check status, list sessions, cancel. Missing an explicit 'delete or close session' tool, but cancel may suffice. Slight gap for cleanup.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers