audited Sep 1, 2026in 12s
95/ 100100% of the applicable check weight evaluated

4 tools registered. Strongest in shared experience, weakest in trust.

Shared experience100
Task completion100
Tool quality99
Trust75
https://webmcp-tool.com
Captured view of https://webmcp-tool.com

Tools

4 read, 0 write
Loading map
score_site: warning

score_site

Score a public website for agent readiness: whether an AI agent can reach, understand and operate it. Returns a score out of 100, a grade, the fitness and adoption sub-scores, and the highest-value fixes. Use this first whenever the user asks whether a site is agent-ready or WebMCP-ready.Answers a question. Declared read only.
pagehttps://webmcp-tool.com/
implementation
viaimperative
entry pointdocument
registered after249ms
executepresent
api surface
urlrequired
annotations
read onlytrue
untrusted contentnot declared
titlenot declared
2 findings
warningNaming quality
weight 2
Tool naming makes selection harder than it needs to be: 1 name does not start with a verb (score_site).
fix
{ name: "score_site" /* short, unique, verb-based */ }
warningInjection surface
weight 4
4 of 4 tools carry instruction-shaped text in their own metadata: score_site description instructs agent when to use tool.
score_site: description instructs agent when to use tool; list_checks: description instructs agent when to use tool; explain_check: description instructs agent when to use tool; get_badge_embed: description instructs agent when to use tool
fix
{
  name: "score_site",
  // Metadata DESCRIBES the tool - it never addresses the agent reading it.
  // Rewrite any name, description, title, or schema field description that
  // instructs the agent (which tool to prefer, what to output, rules to
  // ignore) so it states what the tool does and what it returns instead.
  description: "Searches the catalog and returns matching items with prices."
}
tool json
{
  "name": "score_site",
  "description": "Score a public website for agent readiness: whether an AI agent can reach, understand and operate it. Returns a score out of 100, a grade, the fitness and adoption sub-scores, and the highest-value fixes. Use this first whenever the user asks whether a site is agent-ready or WebMCP-ready.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "url": {
        "type": "string",
        "description": "Public http(s) address to check, for example example.com"
      }
    },
    "required": [
      "url"
    ]
  },
  "annotations": {
    "readOnlyHint": true
  }
}
Showing score_site

Findings

Shared experience

100 / 100 · weight 30
passPage experience
weight 20
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 10
The person co-browsing can see and use this page - the same page the agent's tools act on.

Task completion

100 / 100 · weight 25
passTool selection
weight 15
An agent chose an existing, callable tool and built a schema-valid call for all 3 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 10
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

99 / 100 · weight 25
passRegistration timing
weight 1
Every measured tool registered within 252ms of navigation.
toolget_badge_embed
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 3 of 4 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 (score_site).
toolscore_site
fix
{ name: "score_site" /* 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

75 / 100 · weight 20
passAnnotations present
weight 6
All 3 read-shaped tools declare readOnlyHint: true - the one declared claim that lets an agent treat a call as safe to make without asking.
passAnnotation mismatch
weight 6
No tool claims to be read-only while its own name or description says it writes (4 declared hints 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.
warningInjection surface
weight 4
4 of 4 tools carry instruction-shaped text in their own metadata: score_site description instructs agent when to use tool.
toolscore_site
score_site: description instructs agent when to use tool; list_checks: description instructs agent when to use tool; explain_check: description instructs agent when to use tool; get_badge_embed: description instructs agent when to use tool
fix
{
  name: "score_site",
  // Metadata DESCRIBES the tool - it never addresses the agent reading it.
  // Rewrite any name, description, title, or schema field description that
  // instructs the agent (which tool to prefer, what to output, rules to
  // ignore) so it states what the tool does and what it returns instead.
  description: "Searches the catalog and returns matching items with prices."
}

Tool selection

100% across 3 intents
I want to score site on this site.ok
chosescore_siteexpected score sitekind matched
arguments
{
  "url": "example.com"
}
I want to list checks on this site.ok
choselist_checksexpected list checkskind matched
arguments
{}
I want to explain check on this site.ok
choseexplain_checkexpected explain checkkind matched
arguments
{
  "checkId": "example-check"
}
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
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
12s
finished
Sep 1, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.