nopaque.co.uk WebMCP audit

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

2 tools registered. Strongest in shared experience, weakest in trust.

Shared experience88
Task completion47
Tool quality88
Trust0
https://nopaque.co.uk
Captured view of https://nopaque.co.uk

Tools

0 read, 0 write, 2 undeclared
Loading map
nopaque-find-api-endpoint: warning

nopaque-find-api-endpoint

Search the Nopaque TotalPath REST API documentation for the endpoint that performs a given task. Returns the matching endpoints with their HTTP method, path, what they do, and a link to the full reference including Python, TypeScript and cURL examples. Use this to answer "which endpoint do I call to ...". Read-only: it searches published documentation and does not call the API.No behaviour hints declared. Agents should treat it as possibly state-changing.
pagehttps://www.nopaque.co.uk/
implementation
viaimperative
entry pointdocument
registered after431ms
executepresent
api surface
queryrequired
annotations
read onlynot declared
untrusted contentnot declared
titlenot declared
2 findings
warningNaming quality
weight 2
Tool naming makes selection harder than it needs to be: 2 names do not start with a verb (nopaque-find-api-endpoint).
fix
{ name: "nopaque-find-api-endpoint" /* short, unique, verb-based */ }
warningInjection surface
weight 4
1 of 2 tools carry instruction-shaped text in their own metadata: nopaque-find-api-endpoint Description instructs agent to use this tool for specific questions.
nopaque-find-api-endpoint: Description instructs agent to use this tool for specific questions
fix
{
  name: "nopaque-find-api-endpoint",
  // 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 json
{
  "name": "nopaque-find-api-endpoint",
  "description": "Search the Nopaque TotalPath REST API documentation for the endpoint that performs a given task. Returns the matching endpoints with their HTTP method, path, what they do, and a link to the full reference including Python, TypeScript and cURL examples. Use this to answer \"which endpoint do I call to ...\". Read-only: it searches published documentation and does not call the API.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "query": {
        "type": "string",
        "description": "What you are trying to do, in plain words — for example \"create a mapping job\", \"list test runs\", \"upload audio\", \"schedule a recurring test\"."
      }
    },
    "required": [
      "query"
    ]
  },
  "annotations": {}
}
Showing nopaque-find-api-endpoint

Findings

Shared experience

88 / 100 · weight 30
passPage experience
weight 20
1 of 4 page-experience marks came back short: obstruction A cookie banner is present at the bottom, partially obscuring 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.

Task completion

47 / 100 · weight 25
failTool selection
weight 15
An agent chose an existing tool and built a schema-valid call that held up on 1 of 3 canonical intents; on "Read that page to me." 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 2 of the 3 things an agent needs on a docs site; it cannot navigate the documentation tree.

Tool quality

88 / 100 · weight 25
passRegistration timing
weight 1
Every measured tool registered within 431ms of navigation.
toolnopaque-get-pricing
passCanonical entry point
weight 3
All 2 tools register on the canonical document.modelContext entry point.
passSchema validity
weight 4
All 2 declared input schemas are structurally valid object schemas.
warningSchema quality
weight 4
1 of 2 tool schemas are harder for an agent to use than they need to be: nopaque-get-pricing declares no required list, so an agent cannot tell which parameters are mandatory.
toolnopaque-get-pricing
nopaque-get-pricing: declares no required list, so an agent cannot tell which parameters are mandatory
fix
{
  name: "nopaque-get-pricing",
  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: 2 names do not start with a verb (nopaque-find-api-endpoint).
toolnopaque-find-api-endpoint
fix
{ name: "nopaque-find-api-endpoint" /* short, unique, verb-based */ }
passStub detection
weight 4
All 2 tools declare an execute handler.
passRegistration errors
weight 2
No tool registration threw during the capture.
passDescription quality
weight 5
All 2 rated tool descriptions say what the tool does, when to use it, and what it returns.

Trust

0 / 100 · weight 20
not applicableAnnotations present
weight 6
No tool name reads like a read, and an absent readOnlyHint already defaults to "this may write" - the one hint worth declaring here is readOnlyHint: true on read tools, and this set has none to declare it on.
not applicableAnnotation mismatch
weight 6
No tool declares a readOnlyHint, so there is no safety claim to contradict.
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.
warningInjection surface
weight 4
1 of 2 tools carry instruction-shaped text in their own metadata: nopaque-find-api-endpoint Description instructs agent to use this tool for specific questions.
toolnopaque-find-api-endpoint
nopaque-find-api-endpoint: Description instructs agent to use this tool for specific questions
fix
{
  name: "nopaque-find-api-endpoint",
  // 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

33% across 3 intents
Find the page that explains authentication.ok
chosenopaque-find-api-endpointexpected docs searchkind matched
arguments
{
  "query": "authenticate"
}
Read that page to me.missed
choseno toolexpected page readkind not applicable
No tool was picked for this intent.
arguments
{}
What other pages are in the same section?missed
choseno toolexpected navigationkind 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
2
run time
14s
finished
Sep 1, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.