audited Sep 20, 2026in 11s
91/ 100100% of the applicable check weight evaluated

7 tools registered. Strongest in tool selection, weakest in trust.

Shared experience88
Tool selection100
Tool quality94
Trust81
https://domainstack.io
Captured view of https://domainstack.io

Tools

6 read, 1 write
Loading map
get_registration: warning

get_registration

Get WHOIS/RDAP registration data for a domain including registrar, creation date, expiration date, nameservers, and registrant information. Use this tool when users ask about domain ownership, registration, expiry, or who owns a domain.Answers a question. Declared read only.
pagehttps://domainstack.io/
implementation
viaimperative
entry pointdocument
registered after568ms
executepresent
api surface
domainrequired
annotations
read onlytrue
untrusted contenttrue
titlenot declared
1 finding
warningInjection surface
weight 3
6 of 7 tools carry instruction-shaped text in their own metadata: get_registration Description instructs agent when to use the tool.
get_registration: Description instructs agent when to use the tool; get_dns_records: Description instructs agent when to use the tool; get_hosting: Description instructs agent when to use the tool; get_certificates: Description instructs agent when to use the tool
fix
{
  name: "get_registration",
  // 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": "get_registration",
  "description": "Get WHOIS/RDAP registration data for a domain including registrar, creation date, expiration date, nameservers, and registrant information. Use this tool when users ask about domain ownership, registration, expiry, or who owns a domain.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "domain": {
        "type": "string",
        "description": "Root domain to look up, e.g. example.com (no protocol or subdomain)."
      }
    },
    "required": [
      "domain"
    ]
  },
  "annotations": {
    "readOnlyHint": true,
    "untrustedContentHint": true
  }
}
Showing get_registration

Findings

Shared experience

88 / 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
1 of 4 page-experience marks came back short: obstruction A cookie banner is present, but it is small and does not cover much content..
obstruction: weak
passHuman parity
weight 8
The person co-browsing can see and use this page - the same page the agent's tools act on, and 1 declarative form doubles as visible counterparts.

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

94 / 100 · weight 25
passRegistration timing
weight 1
Every measured tool registered within 568ms of navigation. 1 further tool carried no measurable registration time.
toolget_seo
passCanonical entry point
weight 3
All 6 tools register on the canonical document.modelContext entry point.
passSchema validity
weight 4
All 6 declared input schemas are structurally valid object schemas.
passSchema quality
weight 4
All 6 of 7 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: names mix kebab and snake conventions; 1 name does not start with a verb (open-domain-report).
toolopen-domain-report
fix
{ name: "open-domain-report" /* short, unique, verb-based */ }
passStub detection
weight 4
All 6 tools declare an execute handler.
passRegistration errors
weight 2
No tool registration threw during the capture.
passDescription quality
weight 5
1 of 7 tool descriptions leave an agent guessing: open-domain-report Does not specify what comes back from opening the report.
toolopen-domain-report
open-domain-report: weak

Trust

81 / 100 · weight 20
passAnnotations present
weight 5
All 6 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 5
No tool claims to be read-only while its own name or description says it writes (6 declared hints checked).
passUntrusted content hint
weight 3
All 2 tools that look like they return third-party text declare untrustedContentHint.
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.
warningInjection surface
weight 3
6 of 7 tools carry instruction-shaped text in their own metadata: get_registration Description instructs agent when to use the tool.
toolget_registration
get_registration: Description instructs agent when to use the tool; get_dns_records: Description instructs agent when to use the tool; get_hosting: Description instructs agent when to use the tool; get_certificates: Description instructs agent when to use the tool
fix
{
  name: "get_registration",
  // 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 2 intents
I want to get registration on this site.ok
choseget_registrationexpected get registrationkind matched
arguments
{
  "domain": "this site"
}
I want to open domain report on this site.ok
choseopen-domain-reportexpected open domain reportkind matched
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.
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 151.0.7922.34)
chrome
151.0.7922.34
capture shim
v3
spec snapshot
2026-08-26
mode
fast
pages
1 - entry page only
tools
7
invoked
not invoked; a live audit calls them
run time
11s
finished
Sep 20, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.