Stunt Double Docs
Api

MCP server

The Stunt Double MCP server lets an AI client manage your workspace directly: create actors, run checklists, launch interviews, and read the results. This page covers how to connect and what the server can do.

Endpoint

https://app.stuntdouble.io/api/mcp

The server uses the Streamable HTTP transport. The marketing host also answers MCP discovery probes at /, /mcp, and /jsonrpc and redirects real requests to the endpoint above, so pointing a client at www.stuntdouble.io also resolves to the canonical server.

For agents that have not signed in, a separate read-only public docs server at https://www.stuntdouble.io/api/docs-mcp serves the documentation as MCP resources, without authentication.

Connecting a client

Most MCP clients accept a remote server by URL. In a client that uses a JSON config (such as Claude), add the server like this:

{
  "mcpServers": {
    "stunt-double": {
      "url": "https://app.stuntdouble.io/api/mcp"
    }
  }
}

The first time you connect, the client runs the OAuth flow and asks you to sign in to your Stunt Double workspace. After you approve, the client can list and call tools on your behalf.

In Claude Code, add it from the terminal:

claude mcp add --transport http stuntdouble https://app.stuntdouble.io/api/mcp

Or install the Stunt Double plugin, which bundles the server with the skills and agents below:

claude plugin marketplace add stunt-double/stuntdouble-mcp
claude plugin install stuntdouble@stuntdouble

Cursor

The same stuntdouble-mcp repository is a Cursor plugin: the hosted MCP server plus skills, rules and agents. Auth is OAuth 2.1 with PKCE; no API keys.

Install as a plugin (recommended):

  1. From the Cursor marketplace, install Stunt Double once it is listed.
  2. Or add the repo as a team marketplace: open the Cursor dashboard, go to Plugins → Team Marketplaces → Add Marketplace → Import from Repo, paste https://github.com/stunt-double/stuntdouble-mcp, then install stuntdouble from Customize in the sidebar.

Cursor discovers the MCP server, skills, rules and agents from the default folders. The first tool call opens a browser for you to sign in.

MCP only (no skills, rules or agents): add this to a Cursor MCP config. Use project-local .cursor/mcp.json, or global ~/.cursor/mcp.json on macOS/Linux. Windsurf and other JSON-config clients take the same block.

{
  "mcpServers": {
    "stuntdouble": {
      "url": "https://app.stuntdouble.io/api/mcp"
    }
  }
}

Use only url for remote servers. Extra keys such as "type": "streamable-http" are not part of Cursor's documented mcp.json shape and can break plugin validation.

Skills

Skills teach an agent how to use the server well for a particular job: which tools to call in what order, what makes a good check, and when to stop and report. They install into Claude Code, Cursor, Codex, OpenCode and other agents that read SKILL.md files, using the skills CLI, and work alongside the server rather than replacing it, so connect the server too. The Cursor plugin above already includes them; use the CLI when you want skills without the rest of the plugin.

Install the task skills from the stuntdouble-mcp repository:

npx skills add stunt-double/stuntdouble-mcp

The CLI lists them so you can pick; add --skill <name> to install one.

SkillUse it to
verify-changeCheck a code change on its preview URL and report back on the pull request
setup-guardrailsRe-run checklists for critical flows on a schedule or on every deploy
maintain-automationsRetime, rewire or branch an existing automation, and update checks without losing history
run-qa-suiteRun every workflow and checklist and produce a release-readiness report
run-ux-validationValidate a user journey and report where users get stuck
run-user-interviewPlan and launch a structured interview with AI participants, then read the report
design-reviewGather reactions from several actors on a proposed design or flow
create-actor-panelCreate actors with the knowledge a realistic user would have
triage-feedbackReview, categorize and resolve feedback across projects
check-brandAudit a product against brand and tone-of-voice guidelines
check-design-systemAudit rendered pages against the design system
check-complianceCheck consent, disclosures and other legal requirements, with evidence for counsel
check-continuityCheck that pricing, terminology and promises match across surfaces
check-agent-readinessRead a site's Index score, explain it from agent sessions, and re-score after fixes

For a single general-purpose skill instead, install the one this site publishes for Agent Skills discovery:

npx skills add https://www.stuntdouble.io

Authentication

Access is authorized with OAuth 2.1:

  • Authorization URL: https://app.stuntdouble.io/oauth/authorize
  • Token URL: https://app.stuntdouble.io/oauth/token

Clients register themselves (dynamic client registration) and use PKCE, and discover all of this from the authorization server metadata.

Tokens carry scopes, and a token lists only the tools its scopes cover:

  • mcp:read: the get_*, list_*, search and search_index_domains tools.
  • mcp:write: tools that create, edit or delete, plus comment_on_pr, summarise_feedback and regenerate_interview_report.
  • mcp:run: run_checklist, run_workflow and launch_interview, which use the workspace run allowance, and request_index_rerun.

A client that requests no scope is granted all three. A token acts as the person who approved it, and every tool also checks that they are a member of the workspace it was asked about, so a connected client never reaches more than that person reaches in the dashboard. Revoke a connection from Settings > Connections.

Available tools

The server exposes 67 tools, grouped by resource. Start with search: it covers every resource type below, so it is usually a shorter path to the thing you want than listing one type and filtering it yourself.

  • get_me, search

Workspaces

  • list_workspaces, get_workspace, list_workspace_members

Projects

  • list_projects, get_project, create_project, list_project_mcp_servers

A project is the product a checklist, workflow or piece of feedback is tracked against. list_project_mcp_servers reports the MCP servers a project's runs can reach: a server that is not listed is not available to the run.

Guidelines

  • list_workspace_guidelines, add_workspace_guideline, update_workspace_guideline, remove_workspace_guideline
  • list_project_guidelines, add_project_guideline, set_project_guideline

Guidelines are the standing rules a project is held to: a design system, tone of voice, brand, compliance, accessibility. Rules live in a workspace library and are attached to the projects they apply to, so one rule can be held by several projects and edited in one place.

Actors

  • list_actors, get_actor, create_actor, update_actor

Knowledge

  • list_actor_knowledge, add_actor_knowledge, remove_actor_knowledge

Conversations

  • list_conversations, get_conversation

Checklists

  • list_checklists, get_checklist, get_checklist_run, run_checklist, create_checklist, update_checklist, delete_checklist, flag_check_verdict

delete_checklist discards run history, which is the regression signal for that flow. Prefer re-running an existing checklist over creating a second one covering the same ground.

When a run got a verdict wrong, flag_check_verdict records the correction (should have passed, or should have failed) with a note on what was actually true. Later runs of the checklist read it, and get_checklist_run returns it beside the verdict as verdict_correction.

Workflows

  • list_workflows, get_workflow, run_workflow, get_workflow_run, create_workflow, update_workflow, toggle_workflow, delete_workflow
  • add_workflow_step, update_workflow_step, remove_workflow_step, connect_workflow_steps, reorder_workflow_steps

A workflow is a multi-step automation that re-runs checks on a schedule or on an event. Steps are managed separately from the workflow itself, and run by following the connections between them, which connect_workflow_steps and reorder_workflow_steps set.

Feedback

  • list_feedback, get_feedback, update_feedback_status, summarise_feedback

summarise_feedback turns a project's comments into themes ranked by severity and an implementation brief written to be handed to a coding agent. Read the brief before proposing changes rather than reasoning over the raw comments.

Interviews

  • list_interviews, get_interview, create_interview, update_interview, add_interview_section, add_interview_item, add_interview_participant, get_interview_participant, get_interview_report, launch_interview, regenerate_interview_report

GitHub

  • list_pull_requests, get_pull_request, comment_on_pr

These need the workspace GitHub connection. Pair them with a checklist run against a preview deployment to report what an actor found back onto the pull request.

Index

  • get_index_report, list_index_sessions, search_index_domains, request_index_rerun

Reads from the Stunt Double Index, the public ranking of how AI agents experience websites. get_index_report takes a domain, or a project_id to use the domain linked to that project, and returns the overall score, category and provider scores, frictions and failing checks. list_index_sessions returns the agent sessions behind a score. Index data is public, so these read any tracked site, not only your own.

request_index_rerun re-scores a domain you own: a platform admin, the person who claimed it, or, while it is unclaimed, someone signed in with a work email on that exact domain. It refreshes the probes straight away and starts about 24 agent sessions that finish over a few minutes, and a domain can be re-run once every 10 minutes.

Prompts

The server also ships ten prompts, which most clients surface as slash commands or starters:

  • stuntdouble_guide, validate_design, verify_change, run_user_research, triage_feedback, setup_guardrails
  • check_brand, check_design_system, check_compliance, check_continuity

The four check_* prompts are the standards side of the same machinery: they codify a rule, assert it as observable checks, and re-run it rather than asking a model to eyeball a page each time.

Resources

Resources are read-only context a client can attach without calling a tool:

URITypeWhat
stuntdouble://guidetext/markdownWhat Stunt Double does, when to reach for it, the tool catalog and how to poll a run.
stuntdouble://connectionapplication/jsonWho the connection acts as, the scopes it holds, the tools each unlocks and any it lacks.
stuntdouble://workspacesapplication/jsonThe workspaces the connection can reach, with your role. Needs mcp:read.
stuntdouble://workspaces/{workspace_id}/projectsapplication/jsonThe live projects in one workspace, most recently opened first. Needs mcp:read.

The guide and the connection are always listed. The workspace resources carry the same data as list_workspaces and list_projects, and resources/list includes one projects entry per workspace, so a client can browse them without expanding the template.

Discovery manifest

Registries and clients can discover the server from its published manifest:

https://www.stuntdouble.io/.well-known/mcp.json

It describes the server name, transport, authentication, and the tool list above, following the MCP manifest schema.

The server is also listed in the official MCP Registry as io.stuntdouble/mcp-server, which registry-backed clients and directories read:

https://registry.modelcontextprotocol.io/v0.1/servers?search=io.stuntdouble/mcp-server

On this page