DOCS · SERVER
ALL DOCS FIG. 15 · DWG VC-015

MCP server

The vibecrafted-mcp stdio server: board, run, and lifecycle tools that give agents the same control-plane truth as the HTTP API.

Canonical source — docs/public/server/mcp.md

MCP server

vibecrafted-mcp exposes the runtime to agents as a Model Context Protocol server. It reads the same control plane as the HTTP API — MCP and HTTP are two eyes on one truth, not two databases. Envelopes may differ in shape, but run identity, counts, and warnings agree because both re-read the same disk.

Connecting

The server speaks stdio. Register it in your agent client’s MCP configuration:

{
  "mcpServers": {
    "vibecrafted": {
      "command": "vibecrafted-mcp"
    }
  }
}

The process reads $VIBECRAFTED_HOME (default ~/.vibecrafted) for the control plane. Most tools also accept a home argument to probe a specific installation without mutating your shell.

Tool catalogue

Read-only tools carry the MCP readOnlyHint annotation; mutating tools are marked below and should stay permissioned in your client.

Ground truth and bootstrap

ToolPurpose
vc_initCold-start synthesis: git ground truth + doctor health + board snapshot.
vc_repo_fullGit state for a project: branch, ahead/behind, dirt, stashes, worktrees.
vc_doctorRuntime health summary from the installer doctor.
vc_loct_capabilitiesLive capability discovery for the perception/intent foundation tools.

Board and runs

ToolPurpose
vc_board_statusControl-plane snapshot: active runs, recent runs, events, warnings.
vc_run_statusLook up one run by id from synced control-plane state.
vc_await_runBounded await for one run using control-plane metadata only.
vc_run_observeBounded cursor pull of run events and transcript deltas (capped at 64 KiB).
vc_launchMutating. Launch a workflow; spawns an agent process.
vc_run_launchMutating. Alias of vc_launch for run-lifecycle naming symmetry.
vc_run_stopMutating. Request graceful stop of an active run, with an audit event.
vc_run_retryMutating. Retry a run from its stored launch metadata.
vc_run_blockedMutating. Mark an active run as blocked, with an audit trail.

Lifecycle (vc-ship supervision)

ToolPurpose
vc_lifecycle_runsList lifecycle runs, newest first; filter by workflow id.
vc_lifecycle_statusOne lifecycle run’s status: stage, baton, controls, cargo.
vc_lifecycle_approveMutating. Approve the transition — launch the baton’s next stage.
vc_lifecycle_interruptMutating. Stop the live stage and mark the run interrupted.
vc_lifecycle_force_auditMutating. Make an audit the next lifecycle move.
vc_lifecycle_accept_douMutating. Consciously accept a Definition of Undone gap, with a trace.
vc_lifecycle_fallbackMutating. Steer the baton back to an earlier, manifest-validated stage.

vc_lifecycle_approve refuses while baton cargo (previous-stage reports) is missing, unless forced — and the override is traced in the run’s operator actions.

Resources

Beyond tools, the server publishes MCP resources for cheap reads:

Resource URIContent
vibecrafted://board/runsActive + recent runs snapshot.
vibecrafted://runs/{run_id}/statusCurrent projection for one run.
vibecrafted://runs/{run_id}/eventsBounded event read for one run.
vibecrafted://runs/{run_id}/transcriptBounded transcript read for one run.
vibecrafted://runs/{run_id}/reportBounded report read for one run.
vibecrafted://control-plane/events/{run_id}Last 50 operator-stream events for a run.
vibecrafted://lifecycle/schemaJSON Schema for the lifecycle state contract.
vibecrafted://capabilities/foundationsLive foundation-tool capability discovery.

MCP or HTTP?

Use stdio MCP from agents and IDEs; use the HTTP API from scripts, bots, and anything that already speaks HTTP. Both read the board from disk. The board parity contract is logical, not byte-identical: the shared keys are active_runs, recent_runs, warnings, events, generated_at, and settlement_counts. If projections ever look inconsistent, the fix is to re-read the control plane — never to build a reconciling store.