Overview
Stepshots speaks the Model Context Protocol on both ends of the workflow, so an AI agent can go from "record a demo of the signup flow" to a published, analyzed demo without you touching a terminal:
Local server (stepshots mcp) |
Hosted server (stepshots.com/mcp) |
|
|---|---|---|
| Runs | on your machine, inside the open-source CLI | on Stepshots |
| Covers | recording, verifying, uploading — needs your repo's config and a local browser | your hosted demos, analytics, tours, claim links |
| Auth | your existing stepshots login |
OAuth in the browser, or an API token header |
| Plan | free (the CLI is open source) | all plans |
Use both together: the local server produces and publishes demos, the hosted one reads and manages what's published.
Local server: recording tools
The CLI ships an MCP server over stdio. With Claude Code:
claude mcp add stepshots -- stepshots mcpAny MCP client works — configure the command stepshots mcp with no arguments:
{
"mcpServers": {
"stepshots": { "command": "stepshots", "args": ["mcp"] }
}
}Run it from the project directory containing stepshots.config.json, or pass --config. Tools:
| Tool | What it does |
|---|---|
get_schema |
JSON Schema for stepshots.config.json (or *.tour.json with kind: "tour") — lets the agent write a valid config |
list_tutorials |
The tutorials defined in the config: key, title, step count |
record |
Record tutorials into .stepshot bundles with headless Chrome |
verify |
Replay tutorials against the live app and report drift, with a repair hint per failure |
upload |
Publish bundles to the dashboard, or update an existing demo in place via demo_id |
upload needs a stored login (stepshots login) or STEPSHOTS_TOKEN. Everything else runs without an account.
Hosted server: dashboard tools
The hosted endpoint lives at https://stepshots.com/mcp and authenticates with OAuth — no token pasting:
- claude.ai / Claude desktop: add a custom connector with the URL
https://stepshots.com/mcp. Claude discovers the OAuth endpoints, sends you to a consent page, and you approve in the browser. - Claude Code:
claude mcp add --transport http stepshots-dashboard https://stepshots.com/mcpThe OAuth flow opens in your browser on first use. Alternatively, skip OAuth and pass a token header: --header "Authorization: Bearer <token>" with a key from Settings or stepshots login.
Authorizing an MCP client issues its own access token — your CLI login stays valid.
| Tool | What it does |
|---|---|
list_demos |
Your demos: id, title, publish state, views, folder |
get_demo |
One demo in full, including every step |
get_demo_analytics |
Views, unique visitors, per-step completion and average duration for one demo |
get_workspace_analytics |
The dashboard overview as data: totals and per-demo performance |
set_demo_public |
Publish or unpublish a demo |
list_tours |
Your guided tours |
create_claim_link |
Single-use ownership-transfer link for client handoff (Company plan) |
What agents can do with this
- "Record the onboarding flow and publish it" — the agent writes the config (
get_schema), records (record), and uploads (upload), all locally. - "Did the release break any demos?" —
verifyreplays every tutorial and returns exactly which selector drifted and how to fix it. The same check runs in CI — see CI & Automation. - "Where do viewers drop off in the pricing demo?" —
get_demo_analyticsreturns per-step completion; the agent reads the funnel and suggests which step to cut. - "Unpublish the old demo and publish the new one" —
list_demos+set_demo_public.