原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Stunt Double

作者:stunt-double版本 1.17.0i★ –i在云端运行
注册名称io.stuntdouble/mcp-server

安装

概览

作者提供的说明(英文原文)

Deploy AI user personas to validate user journeys at scale. Find UX friction before real users do.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在云端运行
  • 传输方式: Streamable HTTP
  • 分类: 开发者工具

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://app.stuntdouble.io/api/mcp

在终端中运行这条命令

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

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

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

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "stuntdouble": {
      "type": "http",
      "url": "https://app.stuntdouble.io/api/mcp"
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://app.stuntdouble.io/api/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

工具名称和描述与服务器在 2026年11月6日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。

  • get_me

    Get the account this connection is acting as: id, email, name, timezone and where notifications reach them. Use `timezone` when creating a scheduled workflow rather than defaulting to UTC, and `id` to tell your own runs and feedback from a teammate's in lists that carry only user

  • list_workspaces

    List the workspaces you belong to, with your role in each. Call this first: almost every other tool needs a workspace_id from here.

  • get_workspace

    Get workspace details by ID or slug, including the admin-set controls that decide what runs in it may do. `settings` is a ceiling, never a grant: a network policy there applies on top of each worker's own, and a feature switched off there cannot be switched back on per project.

  • list_workspace_members

    List the members of a workspace with their role, name and join date. Use it to resolve the user ids that runs, feedback and assignments carry.

  • search

    Search everything in a workspace (projects, actors, checklists, interviews, automations, issues, goals, feedback, knowledge, insights, design reviews, resources, conversations) by name or content. Use it instead of listing and filtering, and before creating something that may alr

  • list_projects

    List the live projects in a workspace, most recently opened first. Call this after list_workspaces and match a target URL or product name against these before creating anything new.

  • get_project

    Get one project (the product tracked by checklists, workflows, interviews and feedback), including its URL, audience and product description. Archived projects read as not found.

  • create_project

    Create a project (a product to track with checklists, workflows, interviews and feedback). Call list_projects first and reuse a matching project rather than creating a duplicate.

  • list_project_mcp_servers

    List the third-party MCP servers attached to a project and the tools each allows. Configuration only: those tools are not callable here, but an actor in a run (checklist, interview, workflow) may call the allowed tools of servers whose in_force is true. Servers are registered and

  • list_workspace_guidelines

    List the workspace's whole library of standing rules (design system, tone of voice, brand, compliance, accessibility, shared knowledge), with how many projects hold each one. Read this before writing a rule: attaching one that already exists with `set_project_guideline` beats typ

  • add_workspace_guideline

    Add a standing rule to the workspace library. Call list_workspace_guidelines first so you do not add a near-duplicate. Attach it to the projects it applies to with `project_ids` here or `set_project_guideline` later, or set `apply_to_design_reviews` so every design review in the

  • update_workspace_guideline

    Update a rule in the workspace library, or switch it off. Every project holding it is held to the new wording, so prefer editing the shared rule over adding a near-duplicate. Pass only the fields to change; at least one is required.

  • remove_workspace_guideline

    Remove a rule from the workspace library permanently. This detaches it from every project holding it, so prefer `update_workspace_guideline` with `enabled: false` when the rule may come back.

  • list_project_guidelines

    List the standing rules this project is held to: the workspace library rules it has attached. Read these before writing checks, interview guides or design feedback for the project, and assert them as observable checks rather than restating them. `attachment_id` is this project's

  • add_project_guideline

    Add a standing rule and hold this project to it (a design-system rule, a tone-of-voice rule, a compliance obligation, or shared knowledge). Every checklist run, design review, interview and triage for the project is then held to it. The rule joins the workspace library, so check

  • set_project_guideline

    Attach a library rule to a project, detach it, or switch it off for this project alone. Attaching is how one workspace rule comes to hold for several projects without being retyped. `enabled: false` keeps the attachment but stands the rule down here, leaving every other project u

  • list_actors

    List active actors (persistent AI user personas) in a workspace, oldest first. Prefer reusing an existing actor over creating a new one; pass an id from here to get_actor, interviews and checklists.

  • get_actor

    Get an actor's details: description, system prompt, capabilities, and status. list_actor_knowledge has the knowledge it carries into runs.

  • create_actor

    Create an actor: a persistent AI user persona with its own browser, email inbox (for OTP and magic-link flows), and memory. The description shapes who the persona is, so describe a person (background, goals, tech comfort), not a job title. Call list_actors first and reuse a match

  • update_actor

    Update an actor's name, description, system prompt, capabilities, or status. Only the fields you pass change; at least one is required. Set status to "archived" to soft-delete.

  • list_actor_knowledge

    List what an actor knows, oldest first. Each entry has a kind: expertise and process entries are listed by title in every run and the actor reads one when the task calls for it; reference and account entries are found by search. Check here before add_actor_knowledge to avoid dupl

  • add_actor_knowledge

    Add knowledge to an actor. Choose the kind: expertise for a skill or standard it judges by in every run (brand, tone of voice, design system, compliance, accessibility), process for steps it follows, reference for facts it looks up when relevant (product docs, FAQs, policies), ac

  • remove_actor_knowledge

    Remove a knowledge entry from an actor permanently, so future runs no longer use it. Find the entry's id with list_actor_knowledge.

  • list_conversations

    List chat conversations with actors in a workspace, most recently active first, optionally filtered to one actor. Excludes the workspace assistant's conversations. Pass an id to get_conversation to read the messages.

  • get_conversation

    Get an actor conversation with its full message history, oldest message first. Find conversation ids with list_conversations.

  • list_checklists

    List the checklists in a workspace, with their target URL, actor, check count and a recent run. Check here before creating a new checklist: re-running an existing one keeps its history as a regression signal. Use get_checklist for the checks themselves.

  • get_checklist

    Get a checklist: its target URL, instructions, run settings, every check (with the `id` update_checklist needs to edit one in place) and its 10 most recent runs. Call get_checklist_run with a run id for per-check results and evidence.

  • get_checklist_run

    Get a checklist run: per-check results with evidence, score, verdict and the change since the previous run. Poll after run_checklist every 30 to 60 seconds until `status` is terminal; `outcome` is the verdict on the experience. `comparison.changes` (what got better or worse) is u

  • flag_check_verdict

    Correct a wrong passed or failed verdict on one check: pass the result_id from get_checklist_run and a note on what was actually true. Later runs use it as calibration and re-record any code-run script; the run's own score is unchanged. Set clear to withdraw a correction.

  • run_checklist

    Run a checklist (async): the actor drives a real browser through the product and judges each check, and may use the project's attached MCP servers (list_project_mcp_servers). Returns a run_id; poll get_checklist_run (runs take a few minutes). Counts against the workspace's plan a

  • create_checklist

    Create a browser checklist: an actor exercises the product at a URL and judges each check with evidence. Checks can verify flows ("a new user can complete signup") or assert standards ("headlines use sentence case"), for brand, compliance and design-system audits. Any reachable U

  • update_checklist

    Update a checklist. Only the fields you pass change. Pass `checks` to replace the full set of checks, sending each existing check with the `id` from get_checklist so it keeps its run history. Changing the checks, instructions or url retires the recorded script, so the next run dr

  • delete_checklist

    Delete a checklist and its checks and runs. This permanently discards run history; prefer update_checklist, or simply not running a checklist, unless the user asks for deletion.

  • list_feedback

    List the comments stakeholders and users have left on a project through the feedback widget, newest first. Each one is pinned to a page position (often to a named element) and carries device info; filter by status "new" when triaging. Use summarise_feedback to turn a list of thes

  • get_feedback

    Get one feedback widget comment with its full reply thread, its page location and version, and a signed screenshot URL when one was captured. Find the id with list_feedback.

  • summarise_feedback

    Summarise a project's comments into themes ranked by severity, open questions, and a self-contained implementation brief for a coding agent. Read the brief before proposing changes instead of reasoning over raw comments. The brief leaves out work an open question holds up; `answe

  • update_feedback_status

    Update a feedback widget comment's status: "reviewed" once assessed, "resolved" when confirmed fixed (ideally after a checklist run proves it), "dismissed" sparingly. The dashboard reflects the change immediately.

  • list_workflows

    List workflows (multi-step automations) in a workspace, newest first, with their triggers, whether each is active, its step count and its last run. Call get_workflow on one for its steps and the order a run takes them.

  • get_workflow

    Get a workflow with its steps, the edges connecting them, the order a run would reach them, and recent runs. Read this before editing steps: `execution_order` is what actually runs, and any id in `unreachable_step_ids` is a step no run will ever reach.

  • run_workflow

    Trigger a workflow run now (async), whatever its trigger type: it executes the stored steps (see get_workflow), which can drive browsers, post PR comments and notify members. Returns a run ID; poll get_workflow_run. Refused over the plan limit or budget cap.

  • get_workflow_run

    Get a workflow run with step-level details. Poll this after run_workflow until status is terminal (completed, failed or cancelled).

  • create_workflow

    Create a workflow (multi-step automation) that runs checks without anyone asking. Triggers: manual, schedule (cron), webhook, or vercel_event / github_event / cursor_event / linear_event / slack_event / figma_event so checklists re-run on deploys, pull requests, or design updates

  • update_workflow

    Update a workflow's name, description, or trigger. Only the fields you pass change. Syncs the Trigger.dev schedule when the cron or trigger type changes. The trigger fields edit the workflow's one trigger; a workflow with several triggers has them edited in the dashboard instead.

  • toggle_workflow

    Activate or pause a workflow. Scheduled workflows have their Trigger.dev schedule activated/deactivated to match. Activating a workflow that runs on a schedule, webhook or event needs the mcp:run scope, since it then starts runs on its own; pausing never does. Pausing keeps the s

  • delete_workflow

    Delete a workflow and its steps and runs, and remove its schedule. This discards run history; prefer toggle_workflow to pause unless the user asks for deletion.

  • add_workflow_step

    Add a step to a workflow and connect it into the run. Only stores it: nothing executes until the workflow runs. Appends by default; `sort_order` splices it in at a position. In a run, run_checklist drives a real browser; notification emails or messages members on Slack; github_co

  • update_workflow_step

    Change a step's type or config in place, leaving its connections alone (move it with reorder_workflow_steps). Only stores the change. Config shapes are as in add_workflow_step.

  • remove_workflow_step

    Remove a step and close the gap: whatever led into it is repointed at whatever it led to, so the rest of the automation still runs.

  • reorder_workflow_steps

    Set the order a workflow runs its steps in, as one linear sequence. Pass every step id: a list that leaves a step out is refused, since that step would be disconnected from the run (remove it with remove_workflow_step instead). This rewires the whole automation, so a branch built

  • connect_workflow_steps

    Wire a step's output handle to another step, to build or repair a branch (adding and removing steps keeps the plain chain on their own). A condition's 'false' handle starts unconnected, so a failing condition ends the run. Connecting a connected handle replaces its edge; target_s

  • comment_on_pr

    Post a comment on a GitHub pull request via the workspace GitHub connection. Use it to report checklist or interview results where engineers already look: a short verdict, then per-check outcomes with evidence highlights. Needs the Stunt Double GitHub App installed on the reposit

  • list_pull_requests

    List pull requests for a GitHub repository via the workspace GitHub connection, most recently created first (up to 30). Use it to find the PR number to pass to get_pull_request or comment_on_pr.

  • get_pull_request

    Get details for a GitHub pull request (title, description, author, branches, change stats) via the workspace GitHub connection. Read it before writing a checklist for the change, then report back with comment_on_pr.

  • list_interviews

    List the user interviews in a workspace, newest first, optionally filtered to one project. Returns summary rows; call get_interview for the discussion guide and participants, or get_interview_report for the findings.

  • get_interview

    Get an interview with its discussion guide (sections and their items, in order) and participants with their run status. Also useful for polling progress after launch_interview; call get_interview_report for the synthesised findings.

  • create_interview

    Create a user interview: AI persona participants complete tasks and answer questions against target_url, and results are synthesised into a report. target_url can be any reachable URL, including prototypes (Figma Make publish links, Claude design artifacts, v0) and preview deploy

  • update_interview

    Update an interview’s name, target_url, research brief, status or usability questionnaire. Only the fields you pass change; pass at least one. To start a round use launch_interview rather than setting status to running.

  • add_interview_section

    Add a section to an interview’s discussion guide. Sections group related items (e.g. "First impressions", "Checkout"); add questions and tasks to it next with add_interview_item, using the returned id as section_id.

  • add_interview_item

    Add a question or task to an interview section (create the section first with add_interview_section). Tasks are concrete jobs to attempt in the product ("Find the annual plan price and compare it with monthly"); questions probe comprehension and sentiment. Set expected_evidence o

  • add_interview_participant

    Attach a participant to an interview. Provide either actor_id (existing actor) or persona_spec (ad-hoc persona: name, bio, traits), not both. Vary personas and devices across participants (expertise, motivation, scepticism, mobile vs desktop) for richer findings, and use behaviou

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过域名 stuntdouble.io 验证(注册中心会核实域名所有权)

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • ✓ 通过

    端点有响应

    在 394 毫秒内响应(HTTP 200)

  • – 不适用

    使用 OAuth 登录

    无需登录

  • ✓ 通过

    工具描述中没有隐藏指令

    已读取 60 个工具描述,未发现针对 AI 的隐藏指令

与“开发者工具”中的其他服务器比较i

  • 星标数多于此分类中其他 1393 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 1393 个服务器的 95% 更新
  • 基础检查结果等于或优于此分类中其他 1393 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Stunt Double 安全吗?

它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.17.0)于前天进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:GitHub, Desktop Commander, Cloudflare MCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

GitHub

作者:github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

电脑或云端★ 34,245MIT3天前更新
安装

Desktop Commander

作者:wonderwhy-er

MCP server for terminal commands, file operations, and process management

在你的电脑上运行★ 10,225MIT15天前更新
安装

Cloudflare MCP

作者:cloudflare

Cloudflare MCP servers

在云端运行★ 4,446Apache-2.014个月前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

Stunt Double MCP Server

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.

Contents

  • This repository
  • Quick Start: Claude Code, Claude Code plugin, Skills, Claude, ChatGPT and Codex, Codex CLI, Gemini CLI, VS Code, OpenCode, Windsurf, Other clients, Cursor
  • Stunt Double Studio: Hooks, Local or cloud
  • Authentication: What a connection can reach
  • Available Tools: Account, Workspaces, Search, Projects, Guidelines, Actors, Knowledge, Conversations, Checklists, Workflows, Feedback, GitHub, Interviews, Prompts, Resources, Stunt Double Index
  • Example prompts: Demo targets
  • Privacy Policy
  • Support
  • Transport
  • MCP Registry
  • Links
  • Verifying changes
  • License

This repository

This repo holds plugin and MCP configuration (.claude-plugin/plugin.json and .mcp.json for Claude, .cursor-plugin/plugin.json, marketplace.json and root mcp.json for Cursor, server.json for the MCP registry), plus skills, agents, and Cursor rules. There is no `package.json` and no server code here: the MCP endpoint is hosted at https://app.stuntdouble.io/api/mcp from the main Stunt Double codebase, and the Claude plugin's local server is the published stuntdouble npm package from StuntKit. See CONTRIBUTING.md for how to validate edits and avoid confusing this folder with a Node package.

Quick Start

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

The repository is also a Claude plugin: it bundles the hosted MCP server and the Stunt Double Studio server (.mcp.json) with the skills in skills/, the agents in agents/ and the Studio hooks in hooks/.

claude plugin marketplace add stunt-double/stuntdouble-mcp

claude plugin install stuntdouble@stuntdouble

Type /stuntdouble: to list the plugin's skills. The Studio ones are /stuntdouble:setup, /stuntdouble:run, /stuntdouble:open, /stuntdouble:cloud and /stuntdouble:doctor.

Skills (any agent)

The skills in skills/ install into Claude Code, Cursor, Codex, OpenCode and other agents that read SKILL.md files, using the skills CLI. They drive the MCP server above, so connect that too.

npx skills add stunt-double/stuntdouble-mcp                          # pick from the list

npx skills add stunt-double/stuntdouble-mcp --skill verify-change # just one

SkillWhat it does
check-agent-readinessCheck how well AI agents (ChatGPT, Claude, Gemini, Perplexity and others) can find, understand and act on a website using the Stunt Double Index, explain the score from real agent sessions, compare against peers, and re-score after fixes
check-brandAudit a product or site against brand and tone-of-voice guidelines
check-complianceCheck a product against legal and compliance requirements on Stunt Double (cookie consent, privacy and terms access, required disclosures, claim substantiation, unsubscribe flows) and collect evidence for counsel to review
check-continuityCheck continuity across surfaces on Stunt Double
check-design-systemAudit a live product against its design system on Stunt Double
cloud/stuntdouble:cloud : push a Studio checklist to a workspace, run it there and pull it back. Needs the Claude Code plugin
create-actor-panelCreate and configure a Stunt Double actor (AI persona) with knowledge entries for realistic user simulation
design-reviewRun a design review session by gathering feedback from multiple Stunt Double actors on a proposed design or flow
doctor/stuntdouble:doctor: check Node, Chrome, the viewer port and how local runs are billed. Needs the Claude Code plugin
maintain-automationsChange an existing Stunt Double automation or checklist without losing run history: retime triggers, edit and rewire workflow steps, build condition branches, update checks in place, and pause or retire what is no longer needed
open/stuntdouble:open: open the Studio viewer over every run. Needs the Claude Code plugin
run/stuntdouble:run [resume]: run a Studio checklist in a local Chrome. Needs the Claude Code plugin
run-qa-suiteRun the full Stunt Double QA suite
run-user-interviewPlan, configure, and launch a structured user interview with AI participants on Stunt Double, then read back the synthesised report
run-ux-validationValidate a user journey by running Stunt Double workflows or checklists and reporting the results
setup/stuntdouble:setup for Stunt Double Studio: ready the project for local runs (dev server, actor and checklists, CLAUDE.md notes, permission and hooks). Needs the Claude Code plugin
setup-guardrailsStand up continuous guardrails on Stunt Double
triage-feedbackReview, categorize, and manage Stunt Double feedback submissions across projects
verify-changeVerify a shipped or previewed code change by running a Stunt Double actor through the affected user flows, and optionally report results on the pull request
Claude (web, Desktop, mobile)

Go to Settings → Connectors → Add custom connector and paste:

https://app.stuntdouble.io/api/mcp
ChatGPT and Codex

Connect the hosted server in ChatGPT developer mode (Settings → Apps → Advanced) as a custom connector with:

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

The checklist run and Index report tools render as cards in ChatGPT (and in other MCP Apps hosts, Claude among them).

Codex CLI
codex mcp add stuntdouble --url https://app.stuntdouble.io/api/mcp

codex mcp login stuntdouble

Or add it to ~/.codex/config.toml by hand and then run codex mcp login stuntdouble:

[mcp_servers.stuntdouble]

url = "https://app.stuntdouble.io/api/mcp"

Gemini CLI
gemini mcp add --transport http stuntdouble https://app.stuntdouble.io/api/mcp

Or add it to ~/.gemini/settings.json (or .gemini/settings.json in a project):

{

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

Run /mcp auth stuntdouble inside Gemini CLI to sign in.

VS Code (GitHub Copilot)
code --add-mcp '{"name":"stuntdouble","type":"http","url":"https://app.stuntdouble.io/api/mcp"}'

Or add it to .vscode/mcp.json in a workspace (or run MCP: Open User Configuration for every workspace):

{

"servers": { "stuntdouble": { "type": "http", "url": "https://app.stuntdouble.io/api/mcp" } } }

The tools appear in Copilot Chat's agent mode.

OpenCode

Add it to opencode.json in a project (or ~/.config/opencode/opencode.json), then run opencode mcp auth stuntdouble:

{

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx