audited Aug 28, 2026in 7s
48/ 100

4 tools registered. Strongest in WebMCP use, weakest in human experience.

WebMCP use67
Usefulness50
Human experience0
about:blank

No agent run recorded yet.

No steps recorded

Tools

/
dotb_search_catalog: fail

dotb_search_catalog

Search every מפתחים מחוץ לקופסה podcast episode and meetup talk by topic, technology, guest name or free text. Hebrew and English queries both work. Returns titles, dates, guests, tags and listening links.Answers a question. Declared read only.
pagehttps://www.outside-the-box.dev/
implementation
viaimperative
entry pointnavigator
registered after822ms
executepresent
api surface
queryrequired
typeoptional
annotations
read onlytrue
destructivefalse
idempotenttrue
open worldnot declared
untrusted contentnot declared
titlenot declared
3 findings
failCanonical entry point
0 / 4
Every tool registers through the deprecated navigator.modelContext alias; move them to document.modelContext before the alias is removed.
fix
// Use the canonical entry point - navigator.modelContext is deprecated.
document.modelContext.provideContext({ tools: [/* ... */] });
warningNaming quality
1 / 2
Tool naming makes selection harder than it needs to be: 4 names do not start with a verb (dotb_search_catalog).
fix
{ name: "dotb_search_catalog" /* short, unique, verb-based */ }
warningHuman parity
0 / 8
4 of 4 tools run through the JavaScript API with no visible counterpart, so the person co-browsing cannot see what the agent is offered. Declarative forms (or at least a title annotation) close the gap.
dotb_search_catalog, dotb_list_episodes, dotb_list_talks, dotb_get_speaker
fix
<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="dotb_search_catalog" tooldescription="...">
  <!-- the same action, as UI -->
</form>
tool json
{
  "name": "dotb_search_catalog",
  "description": "Search every מפתחים מחוץ לקופסה podcast episode and meetup talk by topic, technology, guest name or free text. Hebrew and English queries both work. Returns titles, dates, guests, tags and listening links.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": {
        "type": "string",
        "description": "Topic, technology, guest name or phrase."
      },
      "type": {
        "type": "string",
        "enum": [
          "episode",
          "talk"
        ],
        "description": "Restrict to one kind of content."
      }
    },
    "required": [
      "query"
    ]
  },
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true
  }
}
Showing dotb_search_catalog

Findings

WebMCP use

67 / 100 · weight 50
passTools registered
4 / 4
4 tools registered across 1 page.
failReal-browser eligible
0 / 8
The page's code registers these tools, but a real visitor's browser does not get them yet: WebMCP needs a native modelContext or a current origin trial token, and this page has neither.
passRegistration timing
4 / 4
Every measured tool registered within 821.7000000476837ms of navigation.
tooldotb_list_episodes
failCanonical entry point
0 / 4
Every tool registers through the deprecated navigator.modelContext alias; move them to document.modelContext before the alias is removed.
tooldotb_search_catalog
fix
// Use the canonical entry point - navigator.modelContext is deprecated.
document.modelContext.provideContext({ tools: [/* ... */] });
passSchema validity
5 / 5
All 4 tools declare a structurally valid object input schema.
warningSchema quality
2 / 4
2 of 4 tool schemas are harder for an agent to use than they need to be: dotb_list_episodes declares no required list, so an agent cannot tell which parameters are mandatory.
tooldotb_list_episodes
dotb_list_episodes: declares no required list, so an agent cannot tell which parameters are mandatory; dotb_list_talks: declares no required list, so an agent cannot tell which parameters are mandator
fix
{
  name: "dotb_list_episodes",
  inputSchema: {
    type: "object",
    properties: {
      query: { type: "string", description: "What to search for" }
    },
    required: ["query"]
  }
}
passStub detection
5 / 5
All 4 tools declare an execute handler.
passAnnotations present
4 / 4
All 4 tools declare a readOnlyHint, so an agent knows which calls change state.
passAnnotation mismatch
3 / 3
No tool claims to be read-only while its name says it writes (4 declared hints checked).
not applicableUntrusted content hint
0 / 2
No tool's contract suggests it returns text written by somebody other than the site, so there is nothing to flag as untrusted.
passRegistration errors
2 / 2
No tool registration threw during the capture.
warningToolchange coherence
1 / 2
4 tools were registered but the page never dispatched a toolchange event, so an agent subscribed to registry updates never learns they exist.
fix
document.modelContext.dispatchEvent(new Event("toolchange"));
not applicableInjection surface
0 / 3
The injection-surface model hop returned no usable result, so tool contracts were not reviewed for injection surface.

Usefulness

50 / 100 · weight 30
warningNaming quality
1 / 2
Tool naming makes selection harder than it needs to be: 4 names do not start with a verb (dotb_search_catalog).
tooldotb_search_catalog
fix
{ name: "dotb_search_catalog" /* short, unique, verb-based */ }
not applicableDescription quality
0 / 6
The description-quality model hop returned no usable result, so descriptions were not rated.
not applicableTool selection
0 / 14
The tool-selection model hop returned no usable result.
not applicableCoverage vs. site type
0 / 8
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.

Human experience

0 / 100 · weight 20
warningHuman parity
0 / 8
4 of 4 tools run through the JavaScript API with no visible counterpart, so the person co-browsing cannot see what the agent is offered. Declarative forms (or at least a title annotation) close the gap.
tooldotb_search_catalog
dotb_search_catalog, dotb_list_episodes, dotb_list_talks, dotb_get_speaker
fix
<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="dotb_search_catalog" tooldescription="...">
  <!-- the same action, as UI -->
</form>
not applicablePage experience
0 / 12
The page-experience model hop returned no usable result, so the page was not graded.

Tool selection

The tool-selection model hop returned no usable result.
how this was captured
chrome
148.0.7778.96
capture shim
v1
spec snapshot
2026-08
mode
fast
pages
1
tools
4
run time
7s
finished
Aug 28, 2026