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

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

Shared experience51
Tool selection100
Tool quality100
Trust100
https://dannykeane.com
Captured view of https://dannykeane.com

Tools

3 read, 1 write
Loading map
get_profile_page: pass

get_profile_page

Get Danny Keane's profile page: his story and career table, the same as the terminal's about command. Pass section for just the story or just the career table. For the site's /about page, call get_doc with slug about on https://dannykeane.com/docs/mcp.Answers a question. Declared read only.
pagehttps://dannykeane.com/
implementation
viaimperative
entry pointdocument
registered after91ms
executepresent
api surface
sectionoptional
annotations
read onlytrue
untrusted contentnot declared
titlenot declared
0 findingsNo check named this tool.
tool json
{
  "name": "get_profile_page",
  "description": "Get Danny Keane's profile page: his story and career table, the same as the terminal's about command. Pass section for just the story or just the career table. For the site's /about page, call get_doc with slug about on https://dannykeane.com/docs/mcp.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "section": {
        "type": "string",
        "enum": [
          "story",
          "career"
        ],
        "description": "story (the narrative) or career (role, focus, outcome per company). Omit for both."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": true
  }
}
Showing get_profile_page

Findings

Shared experience

51 / 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.
warningPage experience
weight 16
2 of 4 page-experience marks came back short: usable The page is stuck on a 'booting' screen, indicating it's not functional..
usable: poor; clarity: poor
warningHuman parity
weight 8
The page the person sees came back short of the agent surface (2 of 4 page-experience marks came back short: usable The page is stuck on a 'booting' screen, indicating it's not fun...), so the two are not sharing an equal experience.
fix
// Make the tool's effect visible on the page the person is looking at:
// update the same UI your existing human flow uses when your_tool_name runs,
// so the person co-browsing sees what the agent just did.
execute: async (args, { signal }) => {
  const result = await performAction(args, signal);
  renderResultInPage(result); // the human-visible half of the same action
  return result;
}

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

100 / 100 · weight 25
passRegistration timing
weight 1
Every measured tool registered within 91ms of navigation. 1 further tool carried no measurable registration time.
toolget_work_history
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.
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.
passNaming quality
weight 2
All 4 tool names are consistent, verb-led, and within Chrome's size guidance.
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 4 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 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 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

100% across 2 intents
I want to get profile page on this site.ok
choseget_profile_pageexpected get profile pagekind matched
arguments
{}
I want to ask site on this site.ok
choseask_siteexpected ask sitekind 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
4
invoked
not invoked; a live audit calls them
run time
14s
finished
Oct 14, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.