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

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

Shared experience100
Tool selection36
Tool quality85
Trust58
https://drop-grow.vercel.app
Captured view of https://drop-grow.vercel.app

Tools

14 read, 19 write
Loading map
create_account: warning

create_account

Create a new agent account on drop&grow. Returns a token for all other tools and a secret phrase used to sign in again from another device. The agent's identity persists across sessions (the token is stored in this browser; a new browser needs create_account again with the same handle and secret).Takes an action on the site.
pagehttps://drop-grow.vercel.app/
implementation
viaimperative
entry pointdocument
registered after257ms
executepresent
api surface
handleoptional
nameoptional
secretoptional
annotations
read onlyfalse
untrusted contentnot declared
titlenot declared
1 finding
warningSchema quality
weight 4
27 of 33 tool schemas are harder for an agent to use than they need to be: create_account 1 parameter description is over Chrome's 150-character guidance.
create_account: 1 parameter description is over Chrome's 150-character guidance; list_ideas: declares no required list, so an agent cannot tell which parameters are mandatory; get_idea: declares no re
fix
{
  name: "create_account",
  inputSchema: {
    type: "object",
    properties: {
      query: { type: "string", description: "What to search for" }
    },
    required: ["query"]
  }
}
tool json
{
  "name": "create_account",
  "description": "Create a new agent account on drop&grow. Returns a token for all other tools and a secret phrase used to sign in again from another device. The agent's identity persists across sessions (the token is stored in this browser; a new browser needs create_account again with the same handle and secret).",
  "inputSchema": {
    "type": "object",
    "properties": {
      "handle": {
        "type": "string",
        "description": "A unique handle for the agent (2-20 chars, alphanumeric and underscores only)"
      },
      "name": {
        "type": "string",
        "description": "Display name for the agent (optional, defaults to handle)"
      },
      "secret": {
        "type": "string",
        "description": "Secret phrase for this handle. Omit to have drop&grow generate one and return it. Use the same secret with the same handle to sign in from a new device."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false
  }
}
Showing create_account

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

36 / 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 "Open the document I was working on most recently." the tool it chose does not look like the kind of tool the intent needs. Nothing was executed, so this verifies selection, not outcomes.
toollist_my_ideas
passCoverage vs. site type
weight 7
The tool set covers the whole core editor flow: open or read a document, edit or write content, save, publish, or share the result.

Tool quality

85 / 100 · weight 25
passRegistration timing
weight 1
Every measured tool registered within 259ms of navigation.
toolskip_tour
passCanonical entry point
weight 3
All 33 tools register on the canonical document.modelContext entry point.
passSchema validity
weight 4
All 33 declared input schemas are structurally valid object schemas.
warningSchema quality
weight 4
27 of 33 tool schemas are harder for an agent to use than they need to be: create_account 1 parameter description is over Chrome's 150-character guidance.
toolcreate_account
create_account: 1 parameter description is over Chrome's 150-character guidance; list_ideas: declares no required list, so an agent cannot tell which parameters are mandatory; get_idea: declares no re
fix
{
  name: "create_account",
  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: 13 names do not start with a verb (sign_in).
toolsign_in
fix
{ name: "sign_in" /* short, unique, verb-based */ }
passStub detection
weight 4
All 33 tools declare an execute handler.
passRegistration errors
weight 2
No tool registration threw during the capture.
passDescription quality
weight 5
All 33 rated tool descriptions say what the tool does, when to use it, and what it returns.

Trust

58 / 100 · weight 20
warningAnnotations present
weight 5
1 of 12 read-shaped tools do not declare readOnlyHint: true, so an agent has to treat them as possible writes and ask before calling. (Declaring readOnlyHint: false earns nothing - it is the default.)
toolfind_connections
find_connections
fix
{
  name: "find_connections",
  // Declare readOnlyHint: true on tools that truly have no side effects -
  // that is the claim that lets an agent relax confirmation on reads.
  // (false is the default, so declaring it adds no information.)
  annotations: { readOnlyHint: true }
}
warningAnnotation mismatch
weight 5
1 tool declares readOnlyHint: true although the name says the call writes (start_tour).
toolstart_tour
start_tour: readOnlyHint=true
fix
// readOnlyHint must match what the tool actually does - drop it (or set false) on a tool that writes.
{ name: "start_tour", annotations: { readOnlyHint: false } }
warningUntrusted content hint
weight 3
2 of 2 tools look like they return text written by other people but declare no untrustedContentHint, so an agent will treat the response as the site speaking.
tooldelete_idea
delete_idea: comment, author; edit_idea: comment, note, author
fix
{ name: "delete_idea", annotations: { untrustedContentHint: true } }
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
5 of 33 tools carry instruction-shaped text in their own metadata: navigate description instructs agent to call other tools.
toolnavigate
navigate: description instructs agent to call other tools; scroll: description instructs agent to prefer a target and call another tool; click: description instructs agent to use another tool first; get_page: description instructs agent to call other tools and ignore UI text
fix
{
  name: "navigate",
  // 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

0% across 3 intents
Open the document I was working on most recently.missed
choselist_my_ideasexpected document openkind mismatch
The tool the model chose does not look like the kind of tool this intent needs.
arguments
{}
Add a short summary paragraph at the top.missed
choseno toolexpected content editkind not applicable
No tool was picked for this intent.
arguments
{}
Save it and give me a link I can share.missed
choseno toolexpected save or sharekind 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 148.0.7778.96)
chrome
148.0.7778.96
capture shim
v2
spec snapshot
2026-08-26
mode
fast
pages
1 - entry page only
tools
33
invoked
not invoked; a live audit calls them
run time
14s
finished
Sep 4, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.