agent-sidecar

Show, don't tell.
Your agent, with a canvas.

agent-sidecar gives your coding agent a visual surface in the browser. It shows you options, forms, and previews — you click — the answer flows straight back into the conversation.

/plugin install agent-sidecar@agent-sidecar

Works with Claude Code, Cursor, Codex — any MCP client. Read the docs →

One loop. Your click is the API.

No push infrastructure, no channels, no polling scripts to babysit. The whole round-trip is a tool call.

create_artifact

The agent shows

Any complete HTML document — design options, a form, a diagram — appears live on your canvas.

claude.send(payload)

You click

Every artifact gets a send helper injected. Buttons, forms, anything interactive becomes a payload.

await_interaction

The agent hears it

A blocking tool call parks until you answer — or a background watcher lets it keep working meanwhile.

interactions.jsonl

Nothing is lost

Every interaction lands in a durable, tailable log in your project.

Small server, honest spec.

canvas
Live in the browser. Artifacts stream over SSE; new ones take focus, updates hot-reload in place, and the whole canvas survives a session restart.
webhook
Anything can POST in. CI, scripts, curl — external events queue into the same loop your clicks use, gated by a per-session token.
transport
Plain MCP over stdio. No experimental channel APIs, no org-policy fights. If your agent speaks MCP, it speaks sidecar.
security
Localhost-only, token-gated, sandboxed. The server binds 127.0.0.1; artifacts run in an opaque-origin iframe where claude.send() is the only way out.
footprint
One process, one file. A single Bun-powered bundle from npm: MCP on one side, HTTP on the other. Read the source in ten minutes.

Rides along with

Running in a minute.

Two commands in Claude Code, restart, done. The server ships as a self-contained bundle on npm — Bun on your PATH is the only prerequisite.

On another agent? One MCP entry: see other agents.

/plugin marketplace add smarchetti/agent-sidecar
/plugin install agent-sidecar@agent-sidecar
# restart, then just ask:
show me three layout options on the canvas…