audited Aug 31, 2026in 14s
Agent-readyEvery tool this page registers declares a handler an agent can call. WebMCP is not on by default in a release browser yet, so reaching them today takes a WebMCP-capable browser or the page's own polyfill - browser rollout, not a gap in this page.
80/ 100100% of the applicable check weight evaluated

4 tools registered. Strongest in trust, weakest in task completion.

Shared experience88
Task completion40
Tool quality96
Trust100
https://intent-commerce.gowtham0992.chatgpt.site
Captured view of https://intent-commerce.gowtham0992.chatgpt.site

Tools

1 read, 0 write, 3 undeclared
Loading map
intent_propose_purchase_mandate: fail

intent_propose_purchase_mandate

Searches the live product catalog for a physical-product query and explicit hard budget, creates a versioned purchase mandate with optional destination and reputation thresholds, and opens Intent's shared decision room. Returns normalized product details, eligibility evidence, source provenance, and canonical state readback. Checkout authority remains absent.No behaviour hints declared. Agents should treat it as possibly state-changing.
pagehttps://intent-commerce.gowtham0992.chatgpt.site/intent
implementation
viaimperative
entry pointdocument
registered after400ms
executepresent
api surface
queryrequired
budgetrequired
countryoptional
minimumRatingoptional
minimumReviewsoptional
annotations
read onlynot declared
untrusted contenttrue
titlenot declared
2 findings
warningNaming quality
weight 2
Tool naming makes selection harder than it needs to be: 2 names are over Chrome's 30-character guidance; 4 names do not start with a verb (intent_propose_purchase_mandate).
fix
{ name: "intent_propose_purchase_mandate" /* short, unique, verb-based */ }
failTool selection
weight 15
An agent chose an existing tool and built a schema-valid call that held up on 1 of 3 canonical intents; on "Find a carry-on suitcase under 300 dollars." the tool it chose does not look like the kind of tool the intent needs. Nothing was executed, so this verifies selection, not outcomes.
tool json
{
  "name": "intent_propose_purchase_mandate",
  "description": "Searches the live product catalog for a physical-product query and explicit hard budget, creates a versioned purchase mandate with optional destination and reputation thresholds, and opens Intent's shared decision room. Returns normalized product details, eligibility evidence, source provenance, and canonical state readback. Checkout authority remains absent.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": {
        "type": "string",
        "minLength": 8,
        "maxLength": 240,
        "description": "The physical product to find, including every hard requirement the user stated."
      },
      "budget": {
        "type": "number",
        "minimum": 1,
        "maximum": 10000,
        "description": "The user's hard total price ceiling in the mandate currency."
      },
      "country": {
        "type": "string",
        "pattern": "^[A-Z]{2}$",
        "default": "US",
        "description": "Two-letter destination country code; default to US only when the user did not specify one."
      },
      "minimumRating": {
        "type": "number",
        "minimum": 0,
        "maximum": 5,
        "default": 0,
        "description": "Hard minimum star rating, or 0 when the user did not specify one."
      },
      "minimumReviews": {
        "type": "integer",
        "minimum": 0,
        "maximum": 1000000,
        "default": 0,
        "description": "Hard minimum review count, or 0 when the user did not specify one."
      }
    },
    "required": [
      "query",
      "budget"
    ],
    "additionalProperties": false
  },
  "annotations": {
    "untrustedContentHint": true
  }
}
Showing intent_propose_purchase_mandate

Findings

Shared experience

88 / 100 · weight 30
passPage experience
weight 20
1 of 4 page-experience marks came back short: clarity The page is mostly blank, and the active section is unclear in its purpose..
clarity: weak
passHuman parity
weight 10
The person co-browsing can see and use this page - the same page the agent's tools act on.

Task completion

40 / 100 · weight 25
failTool selection
weight 15
An agent chose an existing tool and built a schema-valid call that held up on 1 of 3 canonical intents; on "Find a carry-on suitcase under 300 dollars." the tool it chose does not look like the kind of tool the intent needs. Nothing was executed, so this verifies selection, not outcomes.
toolintent_propose_purchase_mandate
warningCoverage vs. site type
weight 10
The tool set covers 2 of the 4 things an agent needs on a commerce site; it cannot search or browse the catalog or add to or read the cart.

Tool quality

96 / 100 · weight 25
passRegistration timing
weight 1
Every measured tool registered within 400ms of navigation.
toolintent_compare_candidates
passCanonical entry point
weight 3
All 4 tools register on the canonical document.modelContext entry point.
passSchema validity
weight 4
All 4 declared input schemas are structurally valid object schemas.
passSchema quality
weight 4
All 2 of 4 tool schemas that declare parameters describe them (the other 2 declare no parameters), and every description stays within Chrome's size guidance.
warningNaming quality
weight 2
Tool naming makes selection harder than it needs to be: 2 names are over Chrome's 30-character guidance; 4 names do not start with a verb (intent_propose_purchase_mandate).
toolintent_propose_purchase_mandate
fix
{ name: "intent_propose_purchase_mandate" /* short, unique, verb-based */ }
passStub detection
weight 4
All 4 tools declare an execute handler.
passRegistration errors
weight 2
No tool registration threw during the capture.
passDescription quality
weight 5
All 4 rated tool descriptions say what the tool does, when to use it, and what it returns.

Trust

100 / 100 · weight 20
not applicableAnnotations present
weight 6
No tool name reads like a read, and an absent readOnlyHint already defaults to "this may write" - the one hint worth declaring here is readOnlyHint: true on read tools, and this set has none to declare it on.
passAnnotation mismatch
weight 6
No tool claims to be read-only while its own name or description says it writes (1 declared hint checked).
not applicableUntrusted content hint
weight 4
No tool's contract suggests it returns text written by somebody other than the site, so there is nothing to flag as untrusted.
not applicableInjection surface
weight 4
No tool's metadata carries instruction-shaped text aimed at the agent reading it. This check only ever flags; it never credits a site.

Tool selection

33% across 3 intents
Find a carry-on suitcase under 300 dollars.missed
choseintent_propose_purchase_mandateexpected product searchkind mismatch
The tool the model chose does not look like the kind of tool this intent needs.
arguments
{
  "query": "carry-on suitcase",
  "budget": 300
}
Show me the details and price of the first result.ok
choseintent_read_purchase_mandateexpected product detailkind matched
arguments
{}
Add two of them to my cart.missed
choseno toolexpected cart writekind not applicable
No tool was picked for this intent.
arguments
{}
model: gemini-2.5-flash

Add the tools this site is missing

Our scanner reads your website and suggests the right WebMCP tools for it.
Private to the intent-commerce.gowtham0992.chatgpt.site team: enter your email on that domain to run it. Reads the site's public pages; takes a few seconds.
The open source webmcp plugin teaches your coding agent to audit a site, implement tools on document.modelContext, and verify them in a real browser. npx @ora-ai/webmcp-verify runs the verification on its own. No signup, no hosted service.
how this was captured
observed via
capture shim (Chromium 148.0.7778.96)
chrome
148.0.7778.96
capture shim
v1
spec snapshot
2026-08-26
mode
fast
pages
1 - entry page only
tools
4
run time
14s
finished
Aug 31, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.