guild.ai WebMCP audit

audited Oct 14, 2026in 23s
73/ 100100% of the applicable check weight evaluated

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

Shared experience87
Tool selection18
Tool quality91
Trust100
https://guild.ai
Captured view of https://guild.ai

Tools

2 read, 0 write, 1 undeclared
Loading map
open_demo_request_form: warning

open_demo_request_form

Opens Guild.ai's demo request form on this page with the details below already filled in, for the person reading the page to check and submit themselves. Sends nothing: no request reaches Guild until they press Submit, and the form asks them a few more questions first. Pricing is discussed on the call.No behaviour hints declared. Agents should treat it as possibly state-changing.
pagehttps://www.guild.ai/
implementation
viaimperative
entry pointdocument
registered after1117ms
executepresent
api surface
firstnamerequired
lastnamerequired
emailrequired
annotations
read onlynot declared
untrusted contentnot declared
titlenot declared
1 finding
warningNaming quality
weight 2
Tool naming makes selection harder than it needs to be: 1 name does not start with a verb (open_demo_request_form).
fix
{ name: "open_demo_request_form" /* short, unique, verb-based */ }
tool json
{
  "name": "open_demo_request_form",
  "description": "Opens Guild.ai's demo request form on this page with the details below already filled in, for the person reading the page to check and submit themselves. Sends nothing: no request reaches Guild until they press Submit, and the form asks them a few more questions first. Pricing is discussed on the call.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "firstname": {
        "type": "string",
        "description": "The requester's first name."
      },
      "lastname": {
        "type": "string",
        "description": "The requester's last name."
      },
      "email": {
        "type": "string",
        "description": "The requester's work email address. Guild follows up here."
      }
    },
    "required": [
      "firstname",
      "lastname",
      "email"
    ]
  },
  "annotations": {}
}
Showing open_demo_request_form

Findings

Shared experience

87 / 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 at the bottom right, partially obscuring 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.

Tool selection

18 / 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.
failTool selection
weight 12
An agent chose an existing tool and built a schema-valid call that held up on 0 of 3 canonical intents; on "Find a carry-on suitcase under 300 dollars." no tool on the page served it. Nothing was executed, so this verifies selection, not outcomes.
warningCoverage vs. site type
weight 7
The tool set covers 2 of the 4 things an agent needs on a commerce site; it cannot add to or read the cart or start checkout or place an order.

Tool quality

91 / 100 · weight 25
warningRegistration timing
weight 1
The slowest tool took 1121ms to register, past the 1000ms an agent reading the registry at first paint would wait for.
toolget_company_info
get_company_info: registered at 1121ms
fix
// Register tools as soon as they're ready, not behind a deferred/async chunk.
document.modelContext.registerTool({ /* ... */ });
passCanonical entry point
weight 3
All 3 tools register on the canonical document.modelContext entry point.
passSchema validity
weight 4
All 3 declared input schemas are structurally valid object schemas.
warningSchema quality
weight 4
1 of 3 tool schemas are harder for an agent to use than they need to be: get_company_info 1 parameter description is over Chrome's 150-character guidance.
toolget_company_info
get_company_info: 1 parameter description is over Chrome's 150-character guidance
fix
{
  name: "get_company_info",
  inputSchema: {
    type: "object",
    properties: {
      query: { type: "string", description: "What to search for" }
    },
    required: ["query"]
  }
}
warningNaming quality
weight 2
Tool naming makes selection harder than it needs to be: 1 name does not start with a verb (open_demo_request_form).
toolopen_demo_request_form
fix
{ name: "open_demo_request_form" /* short, unique, verb-based */ }
passStub detection
weight 4
All 3 tools declare an execute handler.
passRegistration errors
weight 2
No tool registration threw during the capture.
passDescription quality
weight 5
All 3 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 2 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 (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

0% across 3 intents
Find a carry-on suitcase under 300 dollars.missed
choseno toolexpected product searchkind not applicable
No tool was picked for this intent.
arguments
{}
Show me the details and price of the first result.missed
choseno toolexpected product detailkind not applicable
No tool was picked for this intent.
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.
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
3
invoked
not invoked; a live audit calls them
run time
23s
finished
Oct 14, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.