audited Sep 2, 2026in 15s
74/ 100100% of the applicable check weight evaluated

19 tools registered. Strongest in trust, weakest in task completion.

Shared experience88
Task completion30
Tool quality80
Trust100
https://shop.alshhbaa.com
Captured view of https://shop.alshhbaa.com

Tools

16 read, 1 write, 2 undeclared
Loading map
get_product_suggestions: warning

get_product_suggestions

Retrieves product suggestions based on a search query.Answers a question. Declared read only.
pagehttps://shop.alshhbaa.com/
implementation
viaimperative
entry pointnavigator
registered after726ms
executepresent
api surface
queryrequired
annotations
read onlytrue
untrusted contentnot declared
titlenot declared
2 findings
warningCanonical entry point
weight 3
9 of 18 tools still register through the deprecated navigator.modelContext alias.
get_product_suggestions, get_all_products, get_products_by_category, get_product_details, get_store_info
fix
// document.modelContext is the canonical entry point - the navigator.modelContext alias is deprecated.
document.modelContext.registerTool({ /* ... */ });
passDescription quality
weight 5
4 of 10 tool descriptions leave an agent guessing: get_product_suggestions Does not specify what comes back from the tool.. 9 of 19 tools were not rated and are excluded from this score.
get_product_suggestions: weak; get_all_products: weak; get_products_by_category: weak; search_products: weak
tool json
{
  "name": "get_product_suggestions",
  "description": "Retrieves product suggestions based on a search query.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": {
        "type": "string",
        "description": "The search query for product suggestions."
      }
    },
    "required": [
      "query"
    ]
  },
  "annotations": {
    "readOnlyHint": true
  }
}
Showing get_product_suggestions

Findings

Shared experience

88 / 100 · weight 30
passPage experience
weight 20
1 of 4 page-experience marks came back short: obstruction A cookie banner partially obstructs the bottom of the page content..
obstruction: weak
passHuman parity
weight 10
The person co-browsing can see and use this page - the same page the agent's tools act on, and 1 declarative form doubles as visible counterparts.

Task completion

30 / 100 · weight 25
failTool selection
weight 15
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 10
The tool set covers 3 of the 4 things an agent needs on a commerce site; it cannot start checkout or place an order.

Tool quality

80 / 100 · weight 25
warningRegistration timing
weight 1
The slowest tool took 1323ms to register, past the 1000ms an agent reading the registry at first paint would wait for. 1 further tool carried no measurable registration time.
toolsearch_alshhbaa_products
search_alshhbaa_products: registered at 1323ms
fix
// Register tools as soon as they're ready, not behind a deferred/async chunk.
document.modelContext.registerTool({ /* ... */ });
warningCanonical entry point
weight 3
9 of 18 tools still register through the deprecated navigator.modelContext alias.
toolget_product_suggestions
get_product_suggestions, get_all_products, get_products_by_category, get_product_details, get_store_info
fix
// document.modelContext is the canonical entry point - the navigator.modelContext alias is deprecated.
document.modelContext.registerTool({ /* ... */ });
passSchema validity
weight 4
All 18 declared input schemas are structurally valid object schemas.
passSchema quality
weight 4
All 12 of 19 tool schemas that declare parameters describe them (the other 7 declare no parameters), and every description stays within Chrome's size guidance.
passNaming quality
weight 2
All 19 tool names are consistent, verb-led, and within Chrome's size guidance.
passStub detection
weight 4
All 18 tools declare an execute handler.
failRegistration errors
weight 2
50 tool registrations threw during the capture, so the registry an agent reads is incomplete.
duplicate tool name registered: get_product_suggestions
fix
document.modelContext.registerTool({ /* ... */ }).catch(function (err) {
  console.error("WebMCP registration failed", err);
});
passDescription quality
weight 5
4 of 10 tool descriptions leave an agent guessing: get_product_suggestions Does not specify what comes back from the tool.. 9 of 19 tools were not rated and are excluded from this score.
toolget_product_suggestions
get_product_suggestions: weak; get_all_products: weak; get_products_by_category: weak; search_products: weak

Trust

100 / 100 · weight 20
passAnnotations present
weight 6
All 16 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 6
No tool claims to be read-only while its own name or description says it writes (16 declared hints checked).
not applicableUntrusted content hint
weight 4
No tool's contract suggests it returns text written by somebody other than the site, so there is nothing to flag as untrusted.
not applicableInjection surface
weight 4
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 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
19
run time
15s
finished
Sep 2, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.