Use with MCP

CaptureBeam, inside your agent IDE.

@capturebeam/mcp is a Model Context Protocol server that lets Claude Code, Cursor, Codex, Claude Desktop, and Windsurf author and render demo videos through your CaptureBeam account. It's a thin wrapper over the same REST API — so anything the API can do, your agent can do over MCP.

1. Get an API key

Create one in the dashboard. It looks like cb_live_…. The MCP server reads it from the CB_TOKEN environment variable.

2. Add the server

The server launches via npx — no global install. Most clients accept this shape:

{
  "mcpServers": {
    "capturebeam": {
      "command": "npx",
      "args": ["-y", "@capturebeam/mcp"],
      "env": { "CB_TOKEN": "cb_live_your_key_here" }
    }
  }
}

Claude Code

claude mcp add capturebeam \
  --env CB_TOKEN=cb_live_your_key_here \
  -- npx -y @capturebeam/mcp

Cursor

Add the generic block to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project).

Claude Desktop

Add the generic block to claude_desktop_config.json, then restart the app.

Self-hosting or testing against staging? Set CB_API_BASE (default https://capturebeam.com).

3. Ask your agent for a demo

Once connected, the tools below are available. The server also exposes two resources — the live JSON schema and the authoring skill — so the client loads the contract automatically.

ToolWhat it does
probe_pageScan a URL; returns interactive elements for durable targets.
render_demoSubmit yaml or projectId. Returns a job id — does not block.
get_renderPoll a job (pending → running → succeeded | failed).
get_projectRead a project's current name / yaml / description.
update_projectPatch yaml / name / description in place.
list_project_rendersRender history for a project, latest first.
list_project_sharesShare links created against a project's renders.
create_shareStable /s/<code> watch link for a succeeded render.

Resources: capturebeam://schema, capturebeam://skill. Prompt: author_demo.

Rendering is async

render_demo returns a job id immediately — it does not wait for the video. Poll get_render (roughly every 2s) until status is succeeded (then videoUrl is set) or failed (then error plus per-step diagnostics are set, so the agent can patch one step and re-render rather than redraft).

Prefer raw HTTP?

MCP is the lowest-friction path for agent IDEs, but everything is also available as a plain REST API + downloadable skill bundle. See Build with AI agents for the curl-level loop, system prompt, and worked examples.