Deploy AI user personas to validate user journeys at scale. Find UX friction before real users do.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Deploy AI user personas to validate user journeys at scale. Find UX friction before real users do.
Stunt Double deploys AI agents with realistic user personas to validate user journeys at scale. Create actors, run automated workflows and checklists against any web app, and surface friction points before real users encounter them. Integrates with Claude, Linear, GitHub, and Slack.
This repo holds plugin and MCP configuration (.cursor-plugin/plugin.json, root mcp.json, server.json), plus skills, agents, and Cursor rules. There is no package.json and no runnable server here β the MCP endpoint is hosted at https://app.stuntdouble.io/api/mcp from the main Stunt Double codebase. See CONTRIBUTING.md for how to validate edits and avoid confusing this folder with a Node package.
Go to Settings β Connectors β Add and paste:
Add the mcpServers block below to an MCP config file:
.cursor/mcp.json at the root of your project.~/.cursor/mcp.json on macOS/Linux (see Cursor MCP docs for your OS).Use only url for remote servers (Streamable HTTP is negotiated automatically). Extra keys such as "type": "streamable-http" are not part of Cursor's documented mcp.json shape and can break plugin validation.
Cursor marketplace (one-click install) expects a plugin layout: .cursor-plugin/plugin.json plus root mcp.json. Those files are in this repo. The plugin logo path is assets/logo.png (bundled in this repository). The server.json file is the separate MCP registry manifest for mcp-publisher and directory listings; Cursor's installer does not use it.
Authentication is handled automatically via OAuth 2.1 with PKCE. The first time your AI client connects, a browser window will open for you to sign in and authorise access to your Stunt Double account. No API keys or tokens required.
For Cursor, the OAuth redirect URI is fixed to cursor://anysphere.cursor-mcp/oauth/callback (docs).
| Tool | Description |
|---|---|
get_me | The account this connection acts as: id, email, name, timezone, notification channel |
Notification channel and timezone are account settings rather than workspace ones, so
they are the same answer in every workspace. Pass the timezone when creating a
scheduled workflow, or "every weekday at 9" becomes nine in UTC.
| Tool | Description |
|---|---|
list_workspaces | List your workspaces |
get_workspace | Get workspace details by ID or slug, including its admin-set controls (settings) |
list_workspace_members | List members of a workspace |
get_workspace reports the workspace security controls under settings: public
sharing, the feedback widget, self-hosted workers, and the network policy. They are
ceilings set by an admin, so a feature switched off there cannot be switched back on for
a single project.
| Tool | Description |
|---|---|
search | Search a workspace across projects, actors, checklists, interviews, automations, issues, goals, feedback, actor knowledge, insights, design reviews, project resources and conversations. Ranked, with optional filters |
search takes a workspace_id plus an optional query, types filter, project_id
filter and limit (max 50). Terms are matched as prefixes, so a partial word is enough.
Omit query to browse the most recently updated items. Results carry the id you need
for the matching getter, so it is usually cheaper than listing an entity type and
filtering the list yourself. Reach for it before creating anything, to find the actor or
checklist that already covers the job.
| Tool | Description |
|---|---|
list_projects | List projects in a workspace |
get_project | Get a project (the product tracked by checklists, workflows, feedback) |
create_project | Create a project (a product to track with checklists, workflows, feedback) |
list_project_mcp_servers | The MCP servers this project's runs can reach |
A project is archived, never deleted, and an archived project reads as missing from
every tool here. Registering an MCP server and attaching it to a project are
workspace-admin actions in the dashboard; list_project_mcp_servers is how you check
what tools a run will actually have before writing a checklist that depends on one.
Standing rules the team holds the product to: design system, tone of voice, brand, content, accessibility, compliance, security, performance, or shared knowledge. A guideline is owned by the workspace and attached to the projects it applies to, so one rule can hold for every project without being retyped. Whatever is in force is rendered into every checklist run, design review, interview and triage for that project.
| Tool | Description |
|---|---|
list_workspace_guidelines | The workspace library, with how many projects hold each rule |
add_workspace_guideline | Add a rule to the library, optionally attaching it to projects |
update_workspace_guideline | Edit a rule, switch it off, or apply it to every design review in the workspace |
remove_workspace_guideline | Remove a rule from the library, detaching it from every project |
list_project_guidelines | The rules this project is held to |
add_project_guideline | Record a rule and hold this project to it |
set_project_guideline | Attach a library rule to a project, detach it, or switch it off there |
Two switches decide whether a rule is in force for a project: the library's enabled
and the attachment's. list_project_guidelines folds them into one enabled so you
never have to reason about both. A rule with apply_to_design_reviews set also holds for
design reviews raised from Slack or Linear, which carry no project to attach it through.
Codify a standard as a guideline rather than repeating it in each checklist, and search the library before writing a new rule: attaching the one that already exists keeps the team's standard in a single place to edit.
| Tool | Description |
|---|---|
list_actors | List active actors in a workspace |
get_actor | Get actor details including system prompt and capabilities |
create_actor | Create a new actor in a workspace |
update_actor | Update actor name, description, system prompt, capabilities, or status. Set status to "archived" to soft-delete |
| Tool | Description |
|---|---|
list_actor_knowledge | List knowledge entries for an actor |
add_actor_knowledge | Add a knowledge entry to an actor |
remove_actor_knowledge | Remove a knowledge entry |
| Tool | Description |
|---|---|
list_conversations | List conversations, optionally filtered by actor |
get_conversation | Get a conversation with its messages |
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/stunt-double)<a href="https://allmcps.com/mcp/stunt-double"><img src="https://allmcps.com/api/badge/stunt-double?style=directory" alt="Stunt Double on AllMCPs" /></a>