Stunt Double について
Stunt Doubleは、製品やデザインのチーム向けに、AIペルソナでウェブ上のユーザージャーニーを検証するホステッドMCPサービスです。ワークフローやチェックリストで摩擦を見つけ、フィードバック、インタビュー、サイトレビューも行えます。
主な機能
- 01AIペルソナでジャーニーをシミュレーション
- 02ワークフローとチェックリストの実行
- 03デザインとブランドガイドラインのレビュー
- 04構造化されたAIインタビューの実施
- 05ユーザーフローに沿った変更の検証
活用シーン
- 01製品公開前の摩擦点の発見
- 02ブランドガイドラインに沿ったサイト確認
- 03マージ前のリリース変更のテスト
- 04複数ペルソナからのフィードバック収集
MCP 対応
ワークスペース、ペルソナ、ワークフロー、チェックリスト、インタビュー、フィードバックなどの製品レビュー用ツールをMCPクライアントに提供します。HTTPとOAuth 2.1、PKCEで接続します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://app.stuntdouble.io/api/mcpclaude mcp add --transport http stuntdouble https://app.stuntdouble.io/api/mcp{"mcpServers":{"stuntdouble":{"type":"http","url":"https://app.stuntdouble.io/api/mcp"}}}Cursor で開く{"servers":{"stuntdouble":{"type":"http","url":"https://app.stuntdouble.io/api/mcp"}}}VS Code で開く{"mcpServers":{"stuntdouble":{"type":"http","url":"https://app.stuntdouble.io/api/mcp"}}}{"mcpServers":{"stuntdouble":{"serverUrl":"https://app.stuntdouble.io/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Stunt Double MCP サーバー
AI ユーザーペルソナを大規模に展開し、ユーザージャーニーを検証します。実際のユーザーが遭遇する前に、UX の摩擦を見つけましょう。
Stunt Double は、リアルなユーザーペルソナを備えた AI エージェントを展開し、ユーザージャーニーを大規模に検証します。アクターを作成し、あらゆるウェブアプリに対して自動ワークフローやチェックリストを実行して、実際のユーザーが遭遇する前に摩擦点を明らかにします。Claude、Linear、GitHub、Slack と連携します。
目次
- このリポジトリについて
- クイックスタート:Claude Code、Claude Code プラグイン、スキル、Claude、ChatGPT と Codex、Codex CLI、Gemini CLI、VS Code、OpenCode、Windsurf、その他のクライアント、Cursor
- 認証:接続でアクセスできるもの
- 利用可能なツール:アカウント、ワークスペース、検索、プロジェクト、ガイドライン、アクター、ナレッジ、会話、チェックリスト、ワークフロー、フィードバック、GitHub、インタビュー、プロンプト、リソース、Stunt Double インデックス
- プロンプト例:デモ用ターゲット
- プライバシーポリシー
- サポート
- トランスポート
- MCP レジストリ
- リンク
- 変更の検証
- ライセンス
このリポジトリについて
このリポジトリには、プラグインと MCP の設定(Claude 用の .claude-plugin/plugin.json と .mcp.json、Cursor 用の .cursor-plugin/plugin.json、marketplace.json、ルートの mcp.json、MCP レジストリ用の server.json)に加え、スキル、エージェント、Cursor ルールが含まれています。ここには package.json はなく、実行可能なサーバーもありません。MCP エンドポイントは、メインの Stunt Double コードベースから https://app.stuntdouble.io/api/mcp でホストされています。編集内容の検証方法や、このフォルダーを Node パッケージと混同しないための方法については、CONTRIBUTING.md を参照してください。
クイックスタート
Claude Code
claude mcp add --transport http stuntdouble https://app.stuntdouble.io/api/mcp
Claude Code プラグイン
このリポジトリは Claude プラグインでもあります。ホスト型 MCP サーバー(.mcp.json)と、skills/ 内のスキルおよび agents/ 内のエージェントをまとめています。
claude plugin marketplace add stunt-double/stuntdouble-mcp
claude plugin install stuntdouble@stuntdouble
スキル(あらゆるエージェント)
skills/ 内のスキルは、skills CLI を使って、Claude Code、Cursor、Codex、OpenCode、および SKILL.md ファイルを読み込むその他のエージェントにインストールできます。これらのスキルは上記の MCP サーバーを利用するため、そちらにも接続してください。
npx skills add stunt-double/stuntdouble-mcp # pick from the list
npx skills add stunt-double/stuntdouble-mcp --skill verify-change # just one
| スキル | 内容 |
|---|---|
check-agent-readiness | Stunt Double Index を使用して、AI エージェント(ChatGPT、Claude、Gemini、Perplexity など)がウェブサイトをどの程度見つけ、理解し、操作できるかを確認し、実際のエージェントセッションに基づいてスコアを説明し、同業他社と比較して、修正後に再採点します |
check-brand | ブランドおよびトーン・オブ・ボイスのガイドラインに照らして、製品またはサイトを監査します |
check-compliance | Stunt Double 上で、法務およびコンプライアンス要件(Cookie の同意、プライバシーと利用規約へのアクセス、必須の開示事項、主張の裏付け、配信停止フロー)に照らして製品を確認し、弁護士が確認できる証拠を収集します |
check-continuity | Stunt Double 上で、複数のサーフェス間の一貫性を確認します |
check-design-system | Stunt Double 上で、稼働中の製品をデザインシステムに照らして監査します |
create-actor-panel | 現実的なユーザーシミュレーションのためのナレッジ項目を含む Stunt Double アクター(AI ペルソナ)を作成し、設定します |
design-review | 提案されたデザインまたはフローについて、複数の Stunt Double アクターからフィードバックを集め、デザインレビューセッションを実施します |
maintain-automations | 実行履歴を失わずに既存の Stunt Double 自動化またはチェックリストを変更します。トリガーのタイミング変更、ワークフローステップの編集と再接続、条件分岐の構築、チェックのインプレース更新、不要になった項目の一時停止または廃止を行います |
run-qa-suite | Stunt Double の QA スイート全体を実行します |
run-user-interview | Stunt Double 上で、AI 参加者との構造化されたユーザーインタビューを計画、設定、開始し、統合レポートを確認します |
run-ux-validation | Stunt Double のワークフローまたはチェックリストを実行してユーザージャーニーを検証し、結果を報告します |
setup-guardrails | Stunt Double 上で継続的なガードレールを構築します |
triage-feedback | 複数のプロジェクトにわたる Stunt Double のフィードバック投稿を確認、分類、管理します |
verify-change | Stunt Double アクターに影響を受けるユーザーフローを実行させて、リリース済みまたはプレビュー中のコード変更を検証し、必要に応じてプルリクエストに結果を報告します |
Claude(Web、デスクトップ、モバイル)
Settings → Connectors → Add custom connector に移動し、次を貼り付けます。
https://app.stuntdouble.io/api/mcp
ChatGPT と Codex
このリポジトリには、ディレクトリの掲載情報、レビュー用テストケース、リリースノートを含む OpenAI プラグインマニフェスト(Agent Plugins 形式の .openai-plugin/plugin.json)も含まれています。node scripts/build-openai-plugin.mjs を実行すると、OpenAI の制限に照らして検証され、dist/stuntdouble-openai-plugin.zip が生成されます(ポータルが受け付ける Codex の構成で、マニフェストを .codex-plugin/plugin.json とし、ホスト型サーバー用の .mcp.json、スキル、ロゴを含みます)。これを プラグイン提出ポータル に提出します。
ディレクトリに公開されるまでは、ChatGPT の開発者モード(Settings → Apps → Advanced)でカスタムコネクターとして接続します。
https://app.stuntdouble.io/api/mcp
チェックリストの実行ツールと Index レポートツールは、ChatGPT(および Claude を含むその他の MCP Apps ホスト)でカードとして表示されます。
Codex CLI
codex mcp add stuntdouble --url https://app.stuntdouble.io/api/mcp
codex mcp login stuntdouble
または、手動で ~/.codex/config.toml に追加してから、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
または、~/.gemini/settings.json(またはプロジェクト内の .gemini/settings.json)に追加します。
{
"mcpServers": {
"stuntdouble": {
"httpUrl": "https://app.stuntdouble.io/api/mcp"
}
}
}
Gemini CLI 内で /mcp auth stuntdouble を実行してサインインします。
VS Code(GitHub Copilot)
code --add-mcp '{"name":"stuntdouble","type":"http","url":"https://app.stuntdouble.io/api/mcp"}'
または、ワークスペースの .vscode/mcp.json に追加します(または、すべてのワークスペースで MCP: Open User Configuration を実行します)。
{
"servers": {
"stuntdouble": {
"type": "http",
"url": "https://app.stuntdouble.io/api/mcp"
}
}
}
ツールは Copilot Chat のエージェントモードに表示されます。
OpenCode
プロジェクト内の opencode.json(または ~/.config/opencode/opencode.json)に追加してから、opencode mcp auth stuntdouble を実行します。
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"stuntdouble": {
"type": "remote",
"url": "https://app.stuntdouble.io/api/mcp"
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json に追加します(または Windsurf Settings → Cascade → MCP Servers → View raw config を選択します)。
{
"mcpServers": {
"stuntdouble": {
"serverUrl": "https://app.stuntdouble.io/api/mcp"
}
}
}
その他のクライアント
Streamable HTTP と OAuth に対応するクライアントは、https://app.stuntdouble.io/api/mcp に直接接続できます。ローカル(stdio)サーバーのみを実行するクライアントの場合は、OAuth サインインを処理する mcp-remote でブリッジしてください。
{
"mcpServers": {
"stuntdouble": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://app.stuntdouble.io/api/mcp"]
}
}
}
Cursor
このリポジトリは Cursor プラグイン です。.cursor-plugin/plugin.json と .cursor-plugin/marketplace.json、ルートの mcp.json(ホスト型 MCP サーバー)、さらに skills/ 内のスキル、rules/ 内のルール、agents/ 内のエージェントで構成されています。プラグインの logo は assets/logo.png です。認証には PKCE を用いた OAuth 2.1 を使用します。API キーは不要です。
プラグインとしてインストール(推奨): 公開後、Cursor マーケットプレイスから Stunt Double をインストールします。チーム用マーケットプレイスまたはローカルクローンの場合は、このリポジトリをマーケットプレイスとして追加し、stuntdouble プラグインをインストールします。Cursor は既定のフォルダーから MCP サーバー、スキル、ルール、エージェントを検出します。
MCP のみ(スキル、ルール、エージェントなし): 以下のブロックを Cursor の MCP 設定に追加します。
- プロジェクトローカル: プロジェクトのルートにある
.cursor/mcp.json。 - グローバル(すべてのプロジェクト): macOS/Linux では
~/.cursor/mcp.json(お使いの OS については Cursor MCP ドキュメントを参照してください)。
{
"mcpServers": {
"stuntdouble": {
"url": "https://app.stuntdouble.io/api/mcp"
}
}
}
リモートサーバーでは url のみを使用してください(Streamable HTTP は自動的にネゴシエーションされます)。"type": "streamable-http" などの追加キーは、Cursor のドキュメントに記載されている mcp.json の形式に含まれておらず、プラグインの検証で問題が発生する場合があります。
server.json ファイルは、mcp-publisher とディレクトリ掲載用の独立した MCP レジストリマニフェストです。Cursor のインストーラーでは使用されません。
認証
認証は、PKCE を用いた OAuth 2.1 によって自動的に処理されます。AI クライアントが初めて接続すると、ブラウザーウィンドウが開き、サインインして Stunt Double アカウントへのアクセスを許可できます。API キーやトークンは不要です。
Cursor の OAuth リダイレクト URI は cursor://anysphere.cursor-mcp/oauth/callback に固定されています(ドキュメント)。
接続でアクセスできる範囲
サーバーはあなたとして動作しますが、それ以上のことはしません。各ツールは対象となるワークスペースを特定し、処理を始める前にあなたがそのメンバーであることを確認します。そのため、接続からアクセスできるのは list_workspaces があなたに対して返すワークスペースのみであり、アーカイブ済みのワークスペースには何もアクセスできません。あなたがメンバーではないワークスペースに対する応答は、存在しないワークスペースに対する応答と同じ「見つかりません」です。
これは workspace_id だけでなく、ID全般に当てはまります。別のオブジェクトのIDを受け取るツール(自動化ステップ用のチェックリスト、インタビュー参加者用のアクターなど)は、そのオブジェクトが同じワークスペースに属していることを保存または実行の前に確認します。そうでない場合は「このワークスペース内に見つかりません」として拒否します。拒否の際に、そのIDがどのワークスペースに属しているかを明かすことはありません。
スコープによって範囲はさらに狭まりますが、広がることはありません。同意画面には接続が要求した内容が表示され、mcp:read が付与されたトークンには書き込みツールや実行ツールは表示されません。表示されたうえで失敗するのではなく、tools/list に含まれません。
| スコープ | 許可される操作 |
|---|---|
mcp:read | 自分のワークスペースとその内容を読み取る |
mcp:write | 自分のワークスペースでコンテンツを作成・編集する |
mcp:run | チェックリストの実行、自動化の実行、インタビューを開始する(ワークスペースの実行枠を消費します)。また、自分が所有するドメインの Stunt Double Index スコアを再計算し、Index がまだ追跡していないサイトを追加する |
利用可能なツール
アカウント
| ツール | 説明 |
|---|---|
get_me | この接続が動作するアカウント:ID、メールアドレス、名前、タイムゾーン、通知チャネル |
通知チャネルとタイムゾーンはワークスペースではなくアカウントの設定なので、どのワークスペースでも同じ値が返されます。スケジュール済みワークフローを作成するときは timezone を指定してください。そうしないと、「平日の午前9時に」はUTCの9時になります。
ワークスペース
| ツール | 説明 |
|---|---|
list_workspaces | 自分のワークスペースを一覧表示する |
get_workspace | IDまたはスラッグでワークスペースの詳細を取得する。管理者が設定した制御項目(settings)も含みます |
list_workspace_members | ワークスペースのメンバーを一覧表示する |
get_workspace は、ワークスペースのセキュリティ制御項目(公開共有、フィードバックウィジェット、セルフホスト型ワーカー、ネットワークポリシー)を settings の下に表示します。これらは管理者が設定する上限のため、ここで無効になっている機能を個別のプロジェクトで再び有効にすることはできません。
検索
| ツール | 説明 |
|---|---|
search | プロジェクト、アクター、チェックリスト、インタビュー、自動化、課題、目標、フィードバック、アクターのナレッジ、インサイト、デザインレビュー、プロジェクトのリソース、会話を横断してワークスペースを検索します。関連度順に並べられ、任意のフィルターを指定できます |
search には workspace_id と、任意の query、types フィルター、project_id
フィルター、limit(最大 50)を指定します。検索語はプレフィックスとして照合されるため、単語の一部だけでも検索できます。
最新の更新項目を閲覧する場合は、query を省略します。結果には、対応する取得ツールに必要な id が含まれるため、通常はエンティティの種類を一覧表示して自分で絞り込むよりも効率的です。何かを作成する前にまず検索し、その作業に対応するアクターやチェックリストがすでにないか確認してください。
プロジェクト
| ツール | 説明 |
|---|---|
list_projects | ワークスペース内のプロジェクトを一覧表示します |
get_project | プロジェクト(チェックリスト、ワークフロー、フィードバックで追跡する製品)を取得します |
create_project | プロジェクト(チェックリスト、ワークフロー、フィードバックで追跡する製品)を作成します |
list_project_mcp_servers | このプロジェクトの実行からアクセスできる MCP サーバー |
プロジェクトは削除されず、アーカイブされます。アーカイブ済みのプロジェクトは、ここにあるすべてのツールで見つからないものとして扱われます。MCP サーバーの登録とプロジェクトへの関連付けは、ダッシュボードでワークスペース管理者が行います。list_project_mcp_servers を使うと、特定の MCP サーバーに依存するチェックリストを作成する前に、実行環境で実際に利用できるツールを確認できます。
ガイドライン
チームが製品に求める常設のルールです。デザインシステム、トーン・オブ・ボイス、ブランド、コンテンツ、アクセシビリティ、コンプライアンス、セキュリティ、パフォーマンス、共有ナレッジなどが含まれます。ガイドラインはワークスペースが管理し、適用対象のプロジェクトに紐付けられるため、同じルールを繰り返し入力しなくても、すべてのプロジェクトに適用できます。有効なルールは、そのプロジェクトで実行するすべてのチェックリスト、デザインレビュー、インタビュー、トリアージに反映されます。
| ツール | 説明 |
|---|---|
list_workspace_guidelines | ワークスペースのライブラリと、各ルールが適用されているプロジェクト数を一覧表示します |
add_workspace_guideline | ライブラリにルールを追加し、任意でプロジェクトに紐付けます |
update_workspace_guideline | ルールを編集、有効・無効の切り替え、またはワークスペース内のすべてのデザインレビューへの適用を行います |
remove_workspace_guideline | ライブラリからルールを削除し、すべてのプロジェクトとの紐付けを解除します |
list_project_guidelines | このプロジェクトに適用されるルールを一覧表示します |
add_project_guideline | ルールを登録し、このプロジェクトに適用します |
set_project_guideline | ライブラリのルールをプロジェクトに紐付ける、紐付けを解除する、または無効にします |
プロジェクトにルールを適用するかどうかは、ライブラリの enabled と紐付けの2つのスイッチで決まります。list_project_guidelines では両方が1つの enabled にまとめられるため、両方を考慮する必要はありません。apply_to_design_reviews を設定したルールは、Slack または Linear から作成されたデザインレビューにも適用されます。これらのデザインレビューには、ルールを紐付けるプロジェクトがありません。
基準は各チェックリストで繰り返すのではなく、ガイドラインとして明文化してください。また、新しいルールを書く前にライブラリを検索してください。既存のルールを紐付ければ、チームの基準を一か所で編集できます。
アクター
| ツール | 説明 |
|---|---|
list_actors | ワークスペース内のアクティブなアクターを一覧表示します |
get_actor | システムプロンプトや機能を含む、アクターの詳細を取得します |
create_actor | ワークスペースに新しいアクターを作成します |
update_actor | アクターの名前、説明、システムプロンプト、機能、またはステータスを更新します。ソフト削除するには、ステータスを「archived」に設定します |
ナレッジ
| ツール | 説明 |
|---|---|
list_actor_knowledge | アクターのナレッジ項目を一覧表示します |
add_actor_knowledge | アクターにナレッジ項目を追加します |
remove_actor_knowledge | ナレッジ項目を削除します |
会話
| ツール | 説明 |
|---|---|
list_conversations | 会話を一覧表示します。アクターで絞り込むこともできます |
get_conversation | メッセージを含む会話を取得します |
チェックリスト
| ツール | 説明 |
|---|---|
list_checklists | ワークスペース内のチェックリストを一覧表示します |
get_checklist | チェックリストの詳細、チェック項目、最近の実行を取得します |
get_checklist_run | 各チェック項目の結果を含むチェックリストの実行を取得します |
run_checklist | チェックリストの実行を開始します(非同期)。実行 ID を返します |
create_checklist | ブラウザベースの QA チェックリストを作成します(プロジェクトまたは URL でホスト、アクター、手順、チェック項目) |
update_checklist | チェックリストを更新します(checks を渡すと、項目全体が置き換えられます) |
delete_checklist | チェックリストとそのチェック項目、実行を削除します |
ワークフロー
ワークフローはリストではなくグラフです。ステップは、それらをつなぐ接続に従って実行されます。ステップ用ツールが接続を管理するため、ステップの追加、削除、並べ替えだけでワークフローを構築できます。分岐する場合にのみ connect_workflow_steps が必要です。
| ツール | 説明 |
|---|---|
list_workflows | ワークスペース内のワークフローを一覧表示します |
get_workflow | ステップ、エッジ、実行時の順序、最近の実行を含むワークフローを取得します |
run_workflow | ワークフローの実行を開始します(非同期)。実行 ID を返します |
get_workflow_run | ステップ単位の詳細を含むワークフローの実行を取得します |
create_workflow | ワークフロー(複数ステップの自動化)を作成します |
update_workflow | ワークフローの名前、説明、またはトリガーを更新します |
toggle_workflow | ワークフローを有効化または一時停止します |
delete_workflow | ワークフローとそのステップ、実行を削除します |
add_workflow_step | ステップを追加し、実行に組み込みます |
update_workflow_step | ステップの種類または設定をその場で変更します |
remove_workflow_step | ステップを削除し、その空きを埋めます |
reorder_workflow_steps | ステップの実行順序を設定します |
connect_workflow_steps | 条件の True パスと False パス用に、あるステップを別のステップにつなぎます |
フィードバック
| ツール | 説明 |
|---|---|
list_feedback | プロジェクトのフィードバックを新しい順に一覧表示します |
get_feedback | 返信を含むフィードバックの投稿を取得します |
update_feedback_status | フィードバックのステータスを更新します |
GitHub
| ツール | 説明 |
|---|---|
list_pull_requests | GitHub リポジトリのプルリクエストを一覧表示します |
get_pull_request | GitHub のプルリクエストの詳細(タイトル、作成者、ブランチ、統計情報)を取得します |
comment_on_pr | GitHub のプルリクエストにコメントを投稿します |
インタビュー
構造化されたユーザーインタビューです。アクターまたは生成されたペルソナが、対象 URL をもとにディスカッションガイド(セクション+質問/タスク)に沿って進行し、その後 Stunt Double がテーマと推奨事項をまとめます。
| ツール | 説明 |
|---|---|
list_interviews | ワークスペース内のインタビューを一覧表示します。プロジェクトで絞り込むこともできます |
get_interview | ディスカッションガイド(セクション+項目)と参加者を含むインタビューを取得します |
create_interview | プロジェクトに新しいインタビューを作成します(名前、対象 URL、調査概要) |
update_interview | インタビューの名前、対象 URL、調査概要、またはステータスを更新します |
add_interview_section | ディスカッションガイドにセクションを追加します |
add_interview_item | セクションに質問またはタスクを追加します |
add_interview_participant | 既存のアクターまたはアドホックな persona_spec を参加者として追加します |
get_interview_participant | 実行時の完全なトランスクリプトを含む参加者の情報を取得します |
get_interview_report | 現在の統合レポート(概要、テーマ、推奨事項、質問ごとの集計)を取得します |
launch_interview | インタビューラウンドを開始します(非同期)。トリガー実行 ID を返します |
regenerate_interview_report | 既存のトランスクリプトを再度統合します(非同期)。トリガー実行 ID を返します |
プロンプト
ほとんどの MCP クライアント(Claude、Claude Code、Cursor)では、これらをスラッシュコマンドとして使用できます。それぞれが独立したレシピで、呼び出すツールとその順序、結果の報告方法を示します。
| プロンプト | 説明 |
|---|---|
validate_design | AI ペルソナを使って、公開中のデザイン、プロトタイプ、またはプレビュー URL(Figma Make、Claude artifact、v0、ステージング)を検証します |
verify_change | アクターを対象のフローで実行して、リリース済みまたはプレビュー中のコード変更を検証します。必要に応じて PR にコメントします |
run_user_research | 複数のペルソナを使った構造化インタビュー調査を実施し、テーマと推奨事項をまとめます |
triage_feedback | プロジェクトへのユーザーフィードバックをトリアージします。分類し、アクターで問題を再現して、ステータスを更新します |
setup_guardrails | 重要なフローのチェックリストと、スケジュールまたはデプロイ/PR イベントに応じて再実行するワークフローを用意します |
check_brand | ブランドおよびトーン・オブ・ボイスのガイドラインに照らして製品を監査し、根拠とともに逸脱を指摘します |
check_design_system | レンダリングされたページ上で、デザインシステム(タイポグラフィ、色、間隔、コンポーネント)に照らして公開中の製品を監査します |
check_compliance | 法務およびコンプライアンス要件に照らして製品を確認し、顧問弁護士がレビューするための根拠を収集します |
check_continuity | マーケティング、製品、ドキュメント、メール間の各サーフェスで、一貫性(価格設定、用語、約束事項)を確認します |
stuntdouble_guide | Stunt Double の概要です。機能、利用する場面、全ツールカタログを説明します |
リソース
ツールを呼び出さずにクライアントが添付できる読み取り専用のコンテキストです。ガイドと接続情報は常に一覧に含まれます。ワークスペースのリソースには、同じデータを返すツールと同様に mcp:read が必要です。
| URI | MIME type | Description |
|---|---|---|
stuntdouble://guide | text/markdown | Stunt Double の機能、利用する場面、ツールの全カタログ、実行のポーリング方法 |
stuntdouble://connection | application/json | 接続がどのユーザーとして動作するか、保持するスコープ、それによって利用可能になるツール、および利用できないツール |
stuntdouble://workspaces | application/json | 接続がアクセスできるワークスペースと、その中でのユーザーの役割(list_workspaces と同じデータ) |
stuntdouble://workspaces/{workspace_id}/projects | application/json | 1 つのワークスペース内の進行中のプロジェクト。最近開いたものから順に表示されます(list_projects と同じデータ) |
resources/list にはワークスペースごとにプロジェクトのエントリーが 1 つ含まれるため、クライアントはテンプレートを展開せずにプロジェクトを参照できます。
Stunt Double Index
Stunt Double Index は、AI エージェントがウェブサイトをどのように利用するかをランキングする公開インデックスです。追跡対象の各ドメインは、HTTP プローブと、AI プロバイダーおよびベンチマークタスクごとに実施するライブエージェントセッションに基づいて、100 点満点で評価されます。インデックスのデータはワークスペースのデータではないため、読み取りツールを使って追跡対象のあらゆるサイトにアクセスできます。
| ツール | 説明 |
|---|---|
get_index_report | サイトのスコア、評価帯、順位、カテゴリ、プロバイダー別スコア、問題点、失敗したプローブチェック、最後に採点された日時を取得します。未採点のサイトについては、その理由が示されます |
list_index_sessions | スコアの基となったエージェントセッションを取得します(デフォルトでは最新の実行。run_id を指定することもできます)。ステータス、スコア、証拠、概要、問題点が含まれます。provider または category で絞り込めます |
search_index_domains | ドメイン名またはサイト名(query)でサイトを検索するか、必要に応じて sector を指定してリーダーボードを閲覧します |
request_index_rerun | 所有するドメインを再採点します(mcp:run)。プローブはすぐに実行され、数分かけて約 24 件のエージェントセッションが行われます |
request_index_score | まだ Index が追跡していないサイトを追加し、初回のスコアを付けます(mcp:run)。デフォルトでは軽量な HTTP プローブを実行します。include_agent_sessions を指定すると、ライブエージェントセッションも開始されます |
get_index_report、list_index_sessions、request_index_rerun には domain を指定するか、project_id を指定して、そのプロジェクトに紐付けられた Index ドメインを使用できます(プロジェクトの読み取りと同様に、メンバーシップが確認されます)。domain には完全な URL も指定できます。プロトコル、パス、先頭の www. は取り除かれます。
ドメインを再実行できるのは、その所有者のみです。所有者とは、ドメインの所有権を申告したアカウント、または未申告の場合はそのドメインの仕事用メールアドレスを持つアカウントです。同じドメインを再実行できるのは 10 分に 1 回です。再実行後は、返された run_id を指定して list_index_sessions を約 60 秒ごとにポーリングし、セッションが完了したら get_index_report を読み取ってください。
request_index_score は、サインイン済みのアカウントなら誰でも利用できます。スコアの対象は公開ウェブドメインのみで、robots.txt と X-Robots-Tag によるオプトアウトに従います。また、Index がすでに追跡しているサイトを再採点することはありません(その場合は already_tracked が返されます。そのサイトには request_index_rerun を使用してください)。サイトはリーダーボードで公開されます。プローブは 1 分以内に完了します。include_agent_sessions で要求したエージェントセッションは、共有の日次上限を使用するため、同日中の後の時間に実行されるようキューに入る場合があります(この場合、agent_sessions は deferred または retrying になります)。プローブのスコアはすぐに get_index_report で確認できます。セッションが開始された場合は、run_id を指定して list_index_sessions をポーリングしてください。
読み取りツールはアカウント不要です: search_index_domains、get_index_report、list_index_sessions は、サインインなしで https://app.stuntdouble.io/api/mcp/index からも読み取り専用で利用できます。任意の MCP クライアントをその URL に接続し、OAuth のフィールドは空のままにしてください。このエンドポイントで利用できるのはこの 3 つのツールのみです。また、project_id は解決されないため、domain を指定してください。request_index_rerun と request_index_score の使用には、サインイン済みサーバーが必要です。
プロンプトの例
接続後にサーバーの主要機能を試せる4つのプロンプトです。
- フローを検証する:「https://checkout.demo.stuntdouble.io でチェックアウトを完了して確認ページに到達するチェックリストを作成し、実行して、失敗したチェックを教えてください。」
- ユーザーインタビューを実施する:「https://parlour.demo.stuntdouble.dev でのテーブル予約について、3人のペルソナ(初めて来店する人、常連客、スクリーンリーダーの利用者)とのインタビューを設定して開始し、レポートを要約してください。」
- エージェントの対応状況を確認する:「Stunt Double Index によると、AI エージェントは stripe.com をどの程度利用できますか。また、どのカテゴリがスコアを下げていますか?」
- フィードバックを仕分けする:「メインプロジェクトの未対応フィードバックを要約してテーマ別に分類し、すでに修正済みのものを解決済みにしてください。」
デモ対象
自分の製品を指定せずにサーバーを試せます。これらの公開デモアプリには、テスト担当者が見つけられるよう意図的に不具合が仕込まれているため、実際の顧客に影響することはありません。
| アプリ | 内容 |
|---|---|
| checkout.demo.stuntdouble.io | Trailhead Outfitters:1ページのチェックアウト |
| flights.demo.stuntdouble.io | Skyline Fares:片道フライトの検索、検索結果、予約、確認 |
| parlour.demo.stuntdouble.dev | Ondine, on Parlour:デポジットが必要なレストラン予約フロー |
プライバシーポリシー
このサーバーは Stunt Double がホストし、サインインしたユーザーとして動作します。ユーザーが所属するワークスペースのうち、ユーザーが許可した OAuth スコープ(mcp:read、mcp:write、mcp:run)の範囲内でのみ読み書きを行います。各ツール呼び出しに渡された引数以外の、AI クライアントとの会話を読み取ることはなく、クライアントのメモリ、チャット履歴、ファイルにもアクセスしません。
サーバーを通じて作成されたデータ(プロジェクト、テスト担当者、チェックリスト、実行、インタビュー、フィードバック)は、Stunt Double ワークスペースに保存され、データの収集、利用、保存、サブプロセッサー、保持期間、ユーザーの権利について定めたStunt Double プライバシーポリシーに従って取り扱われます。AI クライアントで接続を切断すれば、いつでも接続を解除できます。
サポート
- メール:[email protected]
- ヘルプセンターとドキュメント:stuntdouble.io/support
- MCP リファレンス:stuntdouble.io/support/docs/api/mcp
- セキュリティ報告:SECURITY.md を参照してください
トランスポート
このサーバーでは、ストリーミング可能な HTTPトランスポートを使用します。エンドポイントは次のとおりです。
https://app.stuntdouble.io/api/mcp
MCP Registry
このサーバーは、公式の MCP Registry に io.stuntdouble/mcp-server として登録されているため、レジストリに対応したクライアントやディレクトリから名前で検索できます。
curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.stuntdouble/mcp-server"
main にマージされた各バージョンは、自動的に公開されます(リリースについては CONTRIBUTING.md を参照してください)。
リンク
変更の検証
リポジトリのルートから実行します。
node scripts/validate-json.mjs
npx --yes [email protected] --check README.md CONTRIBUTING.md SECURITY.md CHANGELOG.md mcp.json .mcp.json server.json .cursor-plugin/plugin.json .cursor-plugin/marketplace.json .claude-plugin/plugin.json .claude-plugin/marketplace.json
詳しくは CONTRIBUTING.md を参照してください。GitHub Actions は、プッシュ時とプルリクエスト時に同じチェックを実行します。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
