Skip to main content

Session 9c804685

Provider: Kimi • Model: kimi-k2.6 • Category: delegated-access • Score: 95.4 (Excellent)

Rubric evidence

The agent found the API docs at /support/docs/api and read the page text. It reported OAuth 2.1 and listed three scopes (mcp:read, mcp:write, mcp:run). The transcript is truncated, so I can't check the auth model or scopes against the page text. They look specific and plausible, though.

  1. 2026-10-04T21:55:51.038+00:00 · tool_call · find
    {
      "seq": 0,
      "step": {
        "ts": "2026-10-04T21:55:51.038Z",
        "kind": "tool_call",
        "name": "find",
        "input": {
          "query": "API reference"
        },
        "toolCallId": "functions.find:0::cf-wai-tool-call::JkOjh0KolnNLspKk"
      },
      "source": "otlp",
      "spanId": "eab1a92c2ebad854",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  2. 2026-10-04T21:55:51.089+00:00 · tool_result · find
    {
      "seq": 1,
      "step": {
        "ts": "2026-10-04T21:55:51.089Z",
        "kind": "tool_result",
        "name": "find",
        "text": "No elements match \"API reference\".",
        "toolCallId": "functions.find:0::cf-wai-tool-call::JkOjh0KolnNLspKk"
      },
      "source": "otlp",
      "spanId": "eab1a92c2ebad854",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  3. 2026-10-04T21:55:53.544+00:00 · tool_call · click
    {
      "seq": 0,
      "step": {
        "ts": "2026-10-04T21:55:53.544Z",
        "kind": "tool_call",
        "name": "click",
        "input": {
          "ref": "ref_3"
        },
        "toolCallId": "functions.click:1::cf-wai-tool-call::pgWlobE52XeGPBON"
      },
      "source": "otlp",
      "spanId": "d644239164ca58a3",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  4. 2026-10-04T21:55:53.61+00:00 · tool_result · click
    {
      "seq": 1,
      "step": {
        "ts": "2026-10-04T21:55:53.610Z",
        "kind": "tool_result",
        "name": "click",
        "text": "Error: ref_3 is stale or not found on the current page. Re-read the page to get fresh references.\nError: Error: ref_3 is stale or not found on the current page. Re-read the page to get fresh references.",
        "toolCallId": "functions.click:1::cf-wai-tool-call::pgWlobE52XeGPBON"
      },
      "source": "otlp",
      "spanId": "d644239164ca58a3",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  5. 2026-10-04T21:55:54.788+00:00 · tool_call · read_page
    {
      "seq": 0,
      "step": {
        "ts": "2026-10-04T21:55:54.788Z",
        "kind": "tool_call",
        "name": "read_page",
        "input": {
          "filter": "interactive"
        },
        "toolCallId": "functions.read_page:2::cf-wai-tool-call::30BSVbRexjtXlwH0"
      },
      "source": "otlp",
      "spanId": "9919687c00dfbb17",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  6. 2026-10-04T21:55:54.828+00:00 · tool_result · read_page
    {
      "seq": 1,
      "step": {
        "ts": "2026-10-04T21:55:54.828Z",
        "kind": "tool_result",
        "name": "read_page",
        "text": "link \"Stunt Double home\" href=\"/\" [ref_1]\nbutton \"Product\" [ref_2]\nbutton \"Resources\" [ref_3]\nlink \"Pricing\" href=\"/pricing\" [ref_4]\nbutton \"Search\" [ref_5]\nbutton \"Use light theme\" [ref_6]\nlink \"Cast an actor\" href=\"https://app.stuntdouble.io/login\" [ref_7]\nlink \"Run an actor\" href=\"https://app.stuntdouble.io/login?ref=hero-default\" [ref_8]\nlink \"Watch a demo\" href=\"https://app.stuntdouble.io/demo?url=https%3A%2F%2Fparlour.demo.stuntdouble.dev&ref=hero-default\" [ref_9]\nlink \"privacy policy\" href=\"/privacy#website-analytics\" [ref_10]\nbutton \"Decline\" [ref_11]\nbutton \"Allow\" [ref_12]",
        "toolCallId": "functions.read_page:2::cf-wai-tool-call::30BSVbRexjtXlwH0"
      },
      "source": "otlp",
      "spanId": "9919687c00dfbb17",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  7. 2026-10-04T21:55:56.208+00:00 · tool_call · click
    {
      "seq": 0,
      "step": {
        "ts": "2026-10-04T21:55:56.208Z",
        "kind": "tool_call",
        "name": "click",
        "input": {
          "ref": "ref_3"
        },
        "toolCallId": "functions.click:3::cf-wai-tool-call::yffpXwkmXK8z47n4"
      },
      "source": "otlp",
      "spanId": "b273b73301c4e576",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  8. 2026-10-04T21:55:57.241+00:00 · tool_result · click
    {
      "seq": 1,
      "step": {
        "ts": "2026-10-04T21:55:57.241Z",
        "kind": "tool_result",
        "name": "click",
        "text": "left click on ref_3 at (651, 28)\nNow on https://www.stuntdouble.io/ (Stunt Double: product testing and user research by AI users)",
        "toolCallId": "functions.click:3::cf-wai-tool-call::yffpXwkmXK8z47n4"
      },
      "source": "otlp",
      "spanId": "b273b73301c4e576",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  9. 2026-10-04T21:55:58.736+00:00 · tool_call · read_page
    {
      "seq": 0,
      "step": {
        "ts": "2026-10-04T21:55:58.736Z",
        "kind": "tool_call",
        "name": "read_page",
        "input": {
          "filter": "visible"
        },
        "toolCallId": "functions.read_page:4::cf-wai-tool-call::tAKKpWRcesVnFsxl"
      },
      "source": "otlp",
      "spanId": "149106efb9deed31",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  10. 2026-10-04T21:55:58.774+00:00 · tool_result · read_page
    {
      "seq": 1,
      "step": {
        "ts": "2026-10-04T21:55:58.774Z",
        "kind": "tool_result",
        "name": "read_page",
        "text": "banner [ref_13]\n  navigation \"Main\" [ref_14]\n    link \"Stunt Double home\" href=\"/\" [ref_1]\n    navigation \"Sections\" [ref_15]\n      list [ref_16]\n        listitem [ref_17]\n          button \"Product\" [ref_2]\n        listitem [ref_18]\n          button \"Resources\" [ref_3]\n        listitem [ref_19]\n          link \"Pricing\" href=\"/pricing\" [ref_4]\n      text \"LEARN\" [ref_20]\n      list [ref_21]\n        listitem [ref_22]\n          link \"Documentation Quickstart, core concepts, tutorials and the API reference.\" href=\"/support/docs\" [ref_23]\n            text \"Documentation\" [ref_24]\n            text \"Quickstart, core concepts, tutorials and the API reference.\" [ref_25]\n        listitem [ref_26]\n          link \"Guides Longer reads on user research, agent experience and shipping faster.\" href=\"/guides\" [ref_27]\n            text \"Guides\" [ref_28]\n            text \"Longer reads on user research, agent experience and shipping faster.\" [ref_29]\n        listitem [ref_30]\n          link \"Blog Backstage: notes from building and using Stunt Double.\" href=\"/blog\" [ref_31]\n            text \"Blog\" [ref_32]\n            text \"Backstage: notes from building and using Stunt Double.\" [ref_33]\n        listitem [ref_34]\n          link \"Design How we design Stunt Double, and designing for people and their agents.\" href=\"/design\" [ref_35]\n            text \"Design\" [ref_36]\n            text \"How we design Stunt Double, and designing for people and their agents.\" [ref_37]\n        listitem [ref_38]\n          link \"Stunt Double Index A public ranking of how AI agents get on with real websites.\" href=\"https://index.stuntdouble.io\" [ref_39]\n            text \"Stunt Double Index\" [ref_40]\n            text \"A public ranking of how AI agents get on with real websites.\" [ref_41]\n      text \"HELP\" [ref_42]\n      list [ref_43]\n        listitem [ref_44]\n          link \"Support Answers to common questions, and a way to reach a human.\" href=\"/support\" [ref_45]\n            text \"Support\" [ref_46]\n            text \"Answers to common questions, and a way to reach a human.\" [ref_47]\n        listitem [ref_48]\n          link \"Security How we handle your credentials and data, and our compliance posture.\" href=\"/security\" [ref_49]\n            text \"Security\" [ref_50]\n            text \"How we handle your credentials and data, and our compliance posture.\" [ref_51]\n    button \"Search\" [ref_5]\n    button \"Use light theme\" [ref_6]\n    link \"Cast an actor\" href=\"https://app.stuntdouble.io/login\" [ref_7]\nmain [ref_52]\n  heading \"Launch like you’ve done it before.\" [ref_53]\n    text \"Launch like\" [ref_54]\n    text \"you’ve done it before.\" [ref_55]\n  text \"Stunt Double’s actors drive a real browser through your product, prototype or Figma design, and show\" [ref_56]\n  link \"Run an actor\" href=\"https://app.stuntdouble.io/login?ref=hero-default\" [ref_8]\n  link \"Watch a demo\" href=\"https://app.stuntdouble.io/demo?url=https%3A%2F%2Fparlour.demo.stuntdouble.dev&ref=hero-default\" [ref_9]\n  text \"Free to start, or watch a live demo.\" [ref_57]\n  img \"The first-time diner books a table at Ondine, a demo restaurant: the screens they passed through, the two frictions they hit marked where they happened, and those frictions joining the rest of the panel's observations in the round's three themes\" [ref_58]\ntext \"We use cookies as described in our privacy policy.\" [ref_59]\nbutton \"Decline\" [ref_11]\nbutton \"Allow\" [ref_12]",
        "toolCallId": "functions.read_page:4::cf-wai-tool-call::tAKKpWRcesVnFsxl"
      },
      "source": "otlp",
      "spanId": "149106efb9deed31",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  11. 2026-10-04T21:56:00.852+00:00 · tool_call · click
    {
      "seq": 0,
      "step": {
        "ts": "2026-10-04T21:56:00.852Z",
        "kind": "tool_call",
        "name": "click",
        "input": {
          "ref": "ref_23"
        },
        "toolCallId": "functions.click:5::cf-wai-tool-call::Tl0GukzyFp6k0mqC"
      },
      "source": "otlp",
      "spanId": "69e06c49b20ffd80",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  12. 2026-10-04T21:56:01.662+00:00 · tool_result · click
    {
      "seq": 1,
      "step": {
        "ts": "2026-10-04T21:56:01.662Z",
        "kind": "tool_result",
        "name": "click",
        "text": "left click on ref_23 at (503, 137)\nNow on https://www.stuntdouble.io/support/docs (Documentation | Stunt Double)",
        "toolCallId": "functions.click:5::cf-wai-tool-call::Tl0GukzyFp6k0mqC"
      },
      "source": "otlp",
      "spanId": "69e06c49b20ffd80",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  13. 2026-10-04T21:56:03.385+00:00 · tool_call · read_page
    {
      "seq": 0,
      "step": {
        "ts": "2026-10-04T21:56:03.385Z",
        "kind": "tool_call",
        "name": "read_page",
        "input": {
          "filter": "visible"
        },
        "toolCallId": "functions.read_page:6::cf-wai-tool-call::e1BuRlaOz0Zx56qR"
      },
      "source": "otlp",
      "spanId": "a9069e1e7418252c",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  14. 2026-10-04T21:56:03.422+00:00 · tool_result · read_page
    {
      "seq": 1,
      "step": {
        "ts": "2026-10-04T21:56:03.422Z",
        "kind": "tool_result",
        "name": "read_page",
        "text": "banner [ref_13]\n  navigation \"Main\" [ref_14]\n    link \"Stunt Double home\" href=\"/\" [ref_1]\n    navigation \"Sections\" [ref_15]\n      list [ref_16]\n        listitem [ref_17]\n          button \"Product\" [ref_2]\n        listitem [ref_18]\n          button \"Resources\" [ref_3]\n        listitem [ref_19]\n          link \"Pricing\" href=\"/pricing\" [ref_4]\n    button \"Search\" [ref_5]\n    button \"Use light theme\" [ref_6]\n    link \"Cast an actor\" href=\"https://app.stuntdouble.io/login\" [ref_7]\nmain [ref_52]\n  navigation \"Documentation\" [ref_60]\n    link \"Support\" href=\"/support\" [ref_61]\n    list [ref_62]\n      listitem [ref_63]\n        text \"GETTING STARTED\" [ref_64]\n        list [ref_65]\n          listitem [ref_66]\n            link \"Introduction\" href=\"/support/docs\" [ref_67]\n          listitem [ref_68]\n            link \"Quickstart\" href=\"/support/docs/getting-started\" [ref_69]\n      listitem [ref_70]\n        text \"CONCEPTS\" [ref_71]\n        list [ref_72]\n          listitem [ref_73]\n            link \"Core concepts\" href=\"/support/docs/concepts\" [ref_74]\n      listitem [ref_75]\n        text \"TUTORIALS\" [ref_76]\n        list [ref_77]\n          listitem [ref_78]\n            link \"Overview\" href=\"/support/docs/tutorials\" [ref_79]\n          listitem [ref_80]\n            link \"Build an actor that behaves like your audience\" href=\"/support/docs/tutorials/first-actor\" [ref_81]\n          listitem [ref_82]\n            link \"Write checklists that catch real regressions\" href=\"/support/docs/tutorials/effective-checklists\" [ref_83]\n          listitem [ref_84]\n            link \"Run a user interview\" href=\"/support/docs/tutorials/running-an-interview\" [ref_85]\n          listitem [ref_86]\n            link \"Automate multi-step workflows\" href=\"/support/docs/tutorials/building-workflows\" [ref_87]\n          listitem [ref_88]\n            link \"Turn runs into insights\" href=\"/support/docs/tutorials/reviewing-runs\" [ref_89]\n          listitem [ref_90]\n            link \"Collect stakeholder feedback on a prototype\" href=\"/support/docs/tutorials/feedback-widget\" [ref_91]\n  main [ref_92]\n    heading \"Stunt Double documentation\" [ref_93]\n    text \"Stunt Double is an AI-powered assistant platform. You create actors, AI assistants that can drive a \" [ref_94]\n    text \"This documentation covers the concepts behind the platform and how to operate it, both from the dash\" [ref_95]\n    heading \"Where to start\" [ref_96]\n    text \"If you are new to Stunt Double, read these in order:\" [ref_97]\n    list [ref_98]\n      listitem [ref_99]\n        link \"Quickstart Go from an empty workspace to your first actor and a checklist run.\" href=\"/support/docs/getting-started\" [ref_100]\n          text \"Quickstart\" [ref_101]\n          text \"Go from an empty workspace to your first actor and a checklist run.\" [ref_102]\n      listitem [ref_103]\n        link \"Core concepts Actors, checklists, interviews, workflows, and insights, and how they relate.\" href=\"/support/docs/concepts\" [ref_104]\n          text \"Core concepts\" [ref_105]\n          text \"Actors, checklists, interviews, workflows, and insights, and how they relate.\" [ref_106]\n      listitem [ref_107]\n        link \"API overview Automate Stunt Double from your own tools, or from Claude, over MCP.\" href=\"/support/docs/api\" [ref_108]\n          text \"API overview\" [ref_109]\n          text \"Automate Stunt Double from your own tools, or from Claude, over MCP.\" [ref_110]\ntext \"We use cookies as described in our privacy policy.\" [ref_59]\nbutton \"Decline\" [ref_11]\nbutton \"Allow\" [ref_12]",
        "toolCallId": "functions.read_page:6::cf-wai-tool-call::e1BuRlaOz0Zx56qR"
      },
      "source": "otlp",
      "spanId": "a9069e1e7418252c",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  15. 2026-10-04T21:56:04.664+00:00 · tool_call · click
    {
      "seq": 0,
      "step": {
        "ts": "2026-10-04T21:56:04.664Z",
        "kind": "tool_call",
        "name": "click",
        "input": {
          "ref": "ref_108"
        },
        "toolCallId": "functions.click:7::cf-wai-tool-call::q8PzTAFu784ztsFG"
      },
      "source": "otlp",
      "spanId": "5504fdf72c815838",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  16. 2026-10-04T21:56:05.415+00:00 · tool_result · click
    {
      "seq": 1,
      "step": {
        "ts": "2026-10-04T21:56:05.415Z",
        "kind": "tool_result",
        "name": "click",
        "text": "left click on ref_108 at (1075, 658)\nNow on https://www.stuntdouble.io/support/docs (Documentation | Stunt Double)",
        "toolCallId": "functions.click:7::cf-wai-tool-call::q8PzTAFu784ztsFG"
      },
      "source": "otlp",
      "spanId": "5504fdf72c815838",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  17. 2026-10-04T21:56:06.886+00:00 · tool_call · find
    {
      "seq": 0,
      "step": {
        "ts": "2026-10-04T21:56:06.886Z",
        "kind": "tool_call",
        "name": "find",
        "input": {
          "query": "API reference"
        },
        "toolCallId": "functions.find:8::cf-wai-tool-call::YQ8G8AxEGQpwkp88"
      },
      "source": "otlp",
      "spanId": "cd5df12cc393b073",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  18. 2026-10-04T21:56:06.921+00:00 · tool_result · find
    {
      "seq": 1,
      "step": {
        "ts": "2026-10-04T21:56:06.921Z",
        "kind": "tool_result",
        "name": "find",
        "text": "link \"API overview Automate Stunt Double from your own tools, or from Claude, over MCP.\" href=\"/support/docs/api\" [ref_108]\nlink \"API overview\" href=\"/support/docs/api\" [ref_111]",
        "toolCallId": "functions.find:8::cf-wai-tool-call::YQ8G8AxEGQpwkp88"
      },
      "source": "otlp",
      "spanId": "cd5df12cc393b073",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  19. 2026-10-04T21:56:08.483+00:00 · tool_call · navigate
    {
      "seq": 0,
      "step": {
        "ts": "2026-10-04T21:56:08.483Z",
        "kind": "tool_call",
        "name": "navigate",
        "input": {
          "url": "https://www.stuntdouble.io/support/docs/api"
        },
        "toolCallId": "functions.navigate:9::cf-wai-tool-call::WO0frMWVuvU10QC0"
      },
      "source": "otlp",
      "spanId": "f7f3d18c1030e1af",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  20. 2026-10-04T21:56:09.658+00:00 · tool_result · navigate
    {
      "seq": 1,
      "step": {
        "ts": "2026-10-04T21:56:09.658Z",
        "kind": "tool_result",
        "name": "navigate",
        "text": "Navigated to https://www.stuntdouble.io/support/docs/api\nNow on https://www.stuntdouble.io/support/docs/api (API documentation | Stunt Double)",
        "toolCallId": "functions.navigate:9::cf-wai-tool-call::WO0frMWVuvU10QC0"
      },
      "source": "otlp",
      "spanId": "f7f3d18c1030e1af",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  21. 2026-10-04T21:56:11.412+00:00 · tool_call · get_page_text
    {
      "seq": 0,
      "step": {
        "ts": "2026-10-04T21:56:11.412Z",
        "kind": "tool_call",
        "name": "get_page_text",
        "input": {},
        "toolCallId": "functions.get_page_text:10::cf-wai-tool-call::70cuPqVcH9lUMjNf"
      },
      "source": "otlp",
      "spanId": "9074dab0809beb9b",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  22. 2026-10-04T21:56:11.45+00:00 · tool_result · get_page_text
    {
      "seq": 1,
      "step": {
        "ts": "2026-10-04T21:56:11.450Z",
        "kind": "tool_result",
        "name": "get_page_text",
        "text": "Support GETTING STARTED Introduction Quickstart CONCEPTS Core concepts TUTORIALS Overview Build an actor that behaves like your audience Write checklists that catch real regressions Run a user interview Automate multi-step workflows Turn runs into insights Collect stakeholder feedback on a prototype Review designs from Slack Test a product behind your firewall Automate Stunt Double from Claude OPEN SOURCE Stuntkit Give an AI agent a safe browser GUIDES Integration guides API API overview MCP server Stunt Double API Stunt Double exposes its platform programmatically through a Model Context Protocol (MCP) server. MCP is an open standard for connecting AI clients to tools and data, which means you can drive your workspace from Claude, from your own agents, or from any MCP-compatible client, without writing a bespoke integration. The MCP server The server is hosted by the product app at: https://app.stuntdouble.io/api/mcp It speaks the Streamable HTTP transport. Point any MCP client at that URL to list and call the available tools. For a full walkthrough, including client configuration, see the MCP server page. What you can manage The server groups its tools by the resource they act on: Resource What you can do Workspaces List workspaces and members, read workspace details Actors List, read, create, and update actors Knowledge List, add, and remove an actor's knowledge Conversations List and read conversations Checklists List, read, run checklists, and read checklist runs Workflows List, read, run workflows, and read workflow runs Feedback List and read feedback, and update its status Interviews Create, read, update, launch interviews, and read interview reports Authentication Access is authorised with OAuth 2.1. MCP clients that support OAuth will discover the authorisation and token endpoints automatically and prompt you to sign in to your Stunt Double workspace the first time you connect. Tokens are scoped, so a client can ask for only the access it needs: Scope What it allows mcp:read Read workspaces and their contents: projects, actors, checklists, interviews, workflows and results mcp:write Create and edit projects, actors, knowledge, guidelines, checklists, interviews and workflows mcp:run Start checklist runs, workflow runs and interviews, which use the workspace run allowance A client that requests no scope is granted all three. A token only lists the tools its scopes cover, and every tool also checks that you are a member of the workspace it was asked about. The authorisation server publishes its RFC 8414 metadata, including scopes_supported. Versioning and deprecation The MCP server is versioned by the protocol itself: a client negotiates a version at initialize and sends it on every later request in the MCP-Protocol-Version header. The public HTTP endpoints follow semantic versioning (info.version in the OpenAPI spec). A breaking change ships under a new path or header value alongside the old one, never in place. When something is deprecated, it is marked deprecated: true in the OpenAPI spec, its responses carry a Deprecation header (RFC 9745) and a Sunset header (RFC 8594) with the removal date, and the change is announced in the changelog at least 90 days before removal. Nothing is deprecated today. Rate limits Uncached endpoints on www.stuntdouble.io (health, the public docs MCP server, and error responses under /api) allow 120 requests per minute per client, and say so on every response with the IETF RateLimit headers: RateLimit-Policy: \"public-api\";q=120;w=60 RateLimit: \"public-api\";r=119;t=60 r is the requests left and t the seconds until the window resets. Over the limit, the response is a 429 with a Retry-After header and a JSON body whose error.code is rate_limited. Wait that many seconds before retrying. Public docs MCP server Agents that have not signed in can still connect over MCP. A read-only server at https://www.stuntdouble.io/api/docs-mcp needs no authentication and exposes Stunt Double's documentation as resources: llms.txt, the homepage as Markdown, the OpenAPI spec and the MCP manifest. It has no tools; to act on a workspace, connect to the product server above. A POST to https://www.stuntdouble.io/.well-known/mcp reaches the same docs server. Discovery The platform publishes a manifest at https://www.stuntdouble.io/.well-known/mcp.json describing the server, its transport, authentication, and tools. MCP registries and clients use this to discover the integration. The same manifest is served at https://www.stuntdouble.io/.well-known/mcp. Each MCP server also has a server card on the host that serves it: the docs server's at https://www.stuntdouble.io/.well-known/mcp/server-card.json, the product server's at https://app.stuntdouble.io/.well-known/mcp/server-card.json. The AI Catalogue at https://www.stuntdouble.io/.well-known/ai-catalog.json lists both. The OAuth metadata documents are served on this site as well as on app.stuntdouble.io, and name app.stuntdouble.io as the issuer either way. The public HTTP endpoints on this site (discovery files, health, the desktop release feed, and the MCP entry point) are described by the Stunt Double OpenAPI spec at https://www.stuntdouble.io/openapi.json. Agents can also read the site as Markdown: /llms.txt says when to use Stunt Double and how to connect, and the homepage returns Markdown to requests that send Accept: text/markdown.",
        "toolCallId": "functions.get_page_text:10::cf-wai-tool-call::70cuPqVcH9lUMjNf"
      },
      "source": "otlp",
      "spanId": "9074dab0809beb9b",
      "traceId": "703e02f6618c19de9b9d0a66de81d6c5"
    }
  23. 2026-10-04T21:58:56.974481+00:00 · screenshot
    {
      "stepIndex": 7
    }
    session step screenshot
  24. 2026-10-04T21:58:59.001572+00:00 · screenshot
    {
      "stepIndex": 11
    }
    session step screenshot
  25. 2026-10-04T21:59:01.136046+00:00 · screenshot
    {
      "stepIndex": 15
    }
    session step screenshot
  26. 2026-10-04T21:59:03.03929+00:00 · screenshot
    {
      "stepIndex": 19
    }
    session step screenshot