claira.to WebMCP audit

audited Oct 12, 2026in 15s
99/ 100100% of the applicable check weight evaluated

2 tools registered. Strongest in shared experience, weakest in tool quality.

Shared experience100
Tool selection100
Tool quality98
Trust100
https://claira.to
Captured view of https://claira.to

Tools

1 read, 1 write
Loading map
list_markets: pass

list_markets

The claira.to markets a visitor can choose on this page: each market's name, the currency its prices are shown in, its languages and the address of its site. Claira's prices and what it says about where data is kept follow the market.Answers a question. Declared read only.
pagehttps://www.claira.to/
implementation
viaimperative
entry pointdocument
registered after212ms
executepresent
api surfaceTakes no parameters.
annotations
read onlytrue
untrusted contentnot declared
titlenot declared
0 findingsNo check named this tool.
tool json
{
  "name": "list_markets",
  "description": "The claira.to markets a visitor can choose on this page: each market's name, the currency its prices are shown in, its languages and the address of its site. Claira's prices and what it says about where data is kept follow the market.",
  "inputSchema": {
    "type": "object",
    "properties": {}
  },
  "annotations": {
    "readOnlyHint": true
  }
}
Showing list_markets

Findings

Shared experience

100 / 100 · weight 30
not applicableVisible effect
weight 6
Not invoked on this run: this audit did not call any tool. Scheduled re-audits only read the registry; a live audit from the report page calls the tools that declare readOnlyHint: true.
passPage experience
weight 16
The page a person sees holds up next to the agent surface: a working interface, visible actions, readable content, nothing in the way.
passHuman parity
weight 8
The person co-browsing can see and use this page - the same page the agent's tools act on.

Tool selection

100 / 100 · weight 25
not applicableInvoke success rate
weight 6
Not invoked on this run: this audit did not call any tool. Scheduled re-audits only read the registry; a live audit from the report page calls the tools that declare readOnlyHint: true.
passTool selection
weight 12
An agent chose an existing, callable tool and built a schema-valid call for all 2 canonical intents, each matching the kind of tool its intent needs. Nothing was executed, so this verifies selection, not outcomes.
not applicableCoverage vs. site type
weight 7
This tool set does not place the site in a category with a known expected tool shape, so there is no coverage baseline to score it against.

Tool quality

98 / 100 · weight 25
passRegistration timing
weight 1
Every measured tool registered within 214ms of navigation.
toolchoose_market
passCanonical entry point
weight 3
All 2 tools register on the canonical document.modelContext entry point.
passSchema validity
weight 4
All 2 declared input schemas are structurally valid object schemas.
passSchema quality
weight 4
All 1 of 2 tool schemas that declare parameters describe them (the other 1 declares 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: 1 name does not start with a verb (choose_market).
toolchoose_market
fix
{ name: "choose_market" /* short, unique, verb-based */ }
passStub detection
weight 4
All 2 tools declare an execute handler.
passRegistration errors
weight 2
No tool registration threw during the capture.
passDescription quality
weight 5
All 2 rated tool descriptions say what the tool does, when to use it, and what it returns.

Trust

100 / 100 · weight 20
passAnnotations present
weight 5
All 1 read-shaped tool declares readOnlyHint: true - the one declared claim that lets an agent treat a call as safe to make without asking.
passAnnotation mismatch
weight 5
No tool claims to be read-only while its own name or description says it writes (2 declared hints checked).
not applicableUntrusted content hint
weight 3
No tool's contract suggests it returns text written by somebody other than the site, so there is nothing to flag as untrusted.
not applicableHint vs. observed
weight 4
Not invoked on this run: this audit did not call any tool. Scheduled re-audits only read the registry; a live audit from the report page calls the tools that declare readOnlyHint: true.
not applicableInjection surface
weight 3
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

100% across 2 intents
I want to list markets on this site.ok
choselist_marketsexpected list marketskind matched
arguments
{}
I want to choose market on this site.ok
chosechoose_marketexpected choose marketkind matched
arguments
{
  "market": "en-ca"
}
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.
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
native modelContext
chrome
151.0.7922.34
capture shim
v3
spec snapshot
2026-08-26
mode
fast
pages
1 - entry page only
tools
2
invoked
not invoked; a live audit calls them
run time
15s
finished
Oct 12, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.