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

3 tools registered. Strongest in shared experience, weakest in tool selection.

Shared experience100
Tool selection18
Tool quality75
Trust100
https://fieldrobin.com
Captured view of https://fieldrobin.com

Tools

3 read, 0 write
Loading map
fieldrobin-search-public-content: warning

fieldrobin-search-public-content

Searches approved public FieldRobin product content by keyword. It never searches private workspace or customer records.Answers a question. Declared read only.
pagehttps://fieldrobin.com/
implementation
viaimperative
entry pointnavigator
registered after706ms
executepresent
api surface
queryrequired
annotations
read onlytrue
untrusted contenttrue
titlenot declared
2 findings
warningCanonical entry point
weight 3
Every tool registers through the deprecated navigator.modelContext alias; move them to document.modelContext before the alias is removed.
fix
// document.modelContext is the canonical entry point - the navigator.modelContext alias is deprecated.
document.modelContext.registerTool({ /* ... */ });
warningNaming quality
weight 2
Tool naming makes selection harder than it needs to be: 1 name is over Chrome's 30-character guidance; 3 names do not start with a verb (fieldrobin-search-public-content).
fix
{ name: "fieldrobin-search-public-content" /* short, unique, verb-based */ }
tool json
{
  "name": "fieldrobin-search-public-content",
  "description": "Searches approved public FieldRobin product content by keyword. It never searches private workspace or customer records.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": {
        "type": "string",
        "description": "A concise public product search query."
      }
    },
    "required": [
      "query"
    ],
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": true,
    "untrustedContentHint": true
  }
}
Showing fieldrobin-search-public-content

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

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 the record for a company called Northwind." 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 saas site; it cannot create a record or start a job or update or move an existing record.

Tool quality

75 / 100 · weight 25
passRegistration timing
weight 1
Every measured tool registered within 706ms of navigation.
toolfieldrobin-get-public-product
warningCanonical entry point
weight 3
Every tool registers through the deprecated navigator.modelContext alias; move them to document.modelContext before the alias is removed.
toolfieldrobin-search-public-content
fix
// document.modelContext is the canonical entry point - the navigator.modelContext alias is deprecated.
document.modelContext.registerTool({ /* ... */ });
passSchema validity
weight 4
All 3 declared input schemas are structurally valid object schemas.
passSchema quality
weight 4
All 2 of 3 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 is over Chrome's 30-character guidance; 3 names do not start with a verb (fieldrobin-search-public-content).
toolfieldrobin-search-public-content
fix
{ name: "fieldrobin-search-public-content" /* short, unique, verb-based */ }
passStub detection
weight 4
All 3 tools declare an execute handler.
failRegistration errors
weight 2
3 tool registrations threw during the capture, so the registry an agent reads is incomplete.
duplicate tool name registered: fieldrobin-search-public-content
fix
document.modelContext.registerTool({ /* ... */ }).catch(function (err) {
  console.error("WebMCP registration failed", err);
});
passDescription quality
weight 5
1 of 3 tool descriptions leave an agent guessing: fieldrobin-get-public-product Omits what comes back, and how it differs from search..
toolfieldrobin-get-public-product
fieldrobin-get-public-product: weak

Trust

100 / 100 · weight 20
not applicableAnnotations present
weight 5
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 5
No tool claims to be read-only while its own name or description says it writes (3 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 the record for a company called Northwind.missed
choseno toolexpected record searchkind not applicable
No tool was picked for this intent.
arguments
{}
Show me everything on that record.missed
choseno toolexpected record detailkind not applicable
No tool was picked for this intent.
arguments
{}
Create a new contact called Dana Reeve.missed
choseno toolexpected record createkind 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
14s
finished
Sep 22, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.