qrsuisse.ch WebMCP audit

audited Nov 11, 2026in 10s
95/ 100100% of the applicable check weight evaluated

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

Shared experience87
Tool selection100
Tool quality96
Trust100
https://qrsuisse.ch
Captured view of https://qrsuisse.ch

Tools

3 read, 0 write
Loading map
qr_suisse_search_docs: warning

qr_suisse_search_docs

Keyword search in the QR Suisse documentation (English): overview (llms.txt), instructions for agents, API authentication, pricing and one page per operation of the QR Suisse REST API v1. Returns up to 5 pages, best match first.Answers a question. Declared read only.
pagehttps://www.qrsuisse.ch/
implementation
viaimperative
entry pointdocument
registered after274ms
executepresent
api surface
queryrequired
annotations
read onlytrue
untrusted contentnot declared
titleSearch the QR Suisse documentation
1 finding
warningNaming quality
weight 2
Tool naming makes selection harder than it needs to be: 3 names do not start with a verb (qr_suisse_search_docs).
fix
{ name: "qr_suisse_search_docs" /* short, unique, verb-based */ }
tool json
{
  "name": "qr_suisse_search_docs",
  "description": "Keyword search in the QR Suisse documentation (English): overview (llms.txt), instructions for agents, API authentication, pricing and one page per operation of the QR Suisse REST API v1. Returns up to 5 pages, best match first.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": {
        "type": "string",
        "minLength": 1,
        "maxLength": 200,
        "description": "Keywords in English, for example \"create dynamic QR code\" or \"rate limit\"."
      }
    },
    "required": [
      "query"
    ],
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": true
  }
}
Showing qr_suisse_search_docs

Findings

Shared experience

87 / 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 and not consequentialHint: true.
passPage experience
weight 16
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 8
The person co-browsing can see and use this page - the same page the agent's tools act on.

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 and not consequentialHint: true.
passTool selection
weight 12
An agent chose an existing, callable tool and built a schema-valid call for all 1 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

96 / 100 · weight 25
passRegistration timing
weight 1
Every measured tool registered within 274ms of navigation.
toolqr_suisse_get_page
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 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: 3 names do not start with a verb (qr_suisse_search_docs).
toolqr_suisse_search_docs
fix
{ name: "qr_suisse_search_docs" /* short, unique, verb-based */ }
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 3 rated tool descriptions say what the tool does, when to use it, and what it returns.

Trust

100 / 100 · weight 20
not applicableAnnotations present
weight 4
No tool name reads like a read, and an absent readOnlyHint already defaults to "this may write" - readOnlyHint: true is the hint this check scores, and this set has no read tool to declare it on. (On a write that is significant or hard to undo, consequentialHint: true tells the agent to confirm with the person first.)
passAnnotation mismatch
weight 4
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 applicableConsequential hint
weight 3
No tool name reads like a consequential action (a purchase, a booking, a payment, a transfer, a deletion), so there is no consequentialHint to expect.
not applicableHint vs. observed
weight 3
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 and not consequentialHint: 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 1 intents
I want to qr suisse search docs on this site.ok
choseqr_suisse_search_docsexpected qr suisse search docskind matched
arguments
{
  "query": "QR Suisse documentation"
}
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-11-10
mode
fast
pages
1 - entry page only
tools
3
invoked
not invoked; a live audit calls them
run time
10s
finished
Nov 11, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.