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/mcpThe 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/mcpOr 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@stuntdoubleCursor
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):
- From the Cursor marketplace, install Stunt Double once it is listed.
- 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-mcpThe CLI lists them so you can pick; add --skill <name> to install one.
| Skill | Use it to |
|---|---|
verify-change | Check a code change on its preview URL and report back on the pull request |
setup-guardrails | Re-run checklists for critical flows on a schedule or on every deploy |
maintain-automations | Retime, rewire or branch an existing automation, and update checks without losing history |
run-qa-suite | Run every workflow and checklist and produce a release-readiness report |
run-ux-validation | Validate a user journey and report where users get stuck |
run-user-interview | Plan and launch a structured interview with AI participants, then read the report |
design-review | Gather reactions from several actors on a proposed design or flow |
create-actor-panel | Create actors with the knowledge a realistic user would have |
triage-feedback | Review, categorize and resolve feedback across projects |
check-brand | Audit a product against brand and tone-of-voice guidelines |
check-design-system | Audit rendered pages against the design system |
check-compliance | Check consent, disclosures and other legal requirements, with evidence for counsel |
check-continuity | Check that pricing, terminology and promises match across surfaces |
check-agent-readiness | Read 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.ioAuthentication
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: theget_*,list_*,searchandsearch_index_domainstools.mcp:write: tools that create, edit or delete, pluscomment_on_pr,summarise_feedbackandregenerate_interview_report.mcp:run:run_checklist,run_workflowandlaunch_interview, which use the workspace run allowance, andrequest_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.
Account and search
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_guidelinelist_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_workflowadd_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_guardrailscheck_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:
| URI | Type | What |
|---|---|---|
stuntdouble://guide | text/markdown | What Stunt Double does, when to reach for it, the tool catalog and how to poll a run. |
stuntdouble://connection | application/json | Who the connection acts as, the scopes it holds, the tools each unlocks and any it lacks. |
stuntdouble://workspaces | application/json | The workspaces the connection can reach, with your role. Needs mcp:read. |
stuntdouble://workspaces/{workspace_id}/projects | application/json | The 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.jsonIt 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