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

14 tools registered. Strongest in shared experience, weakest in task completion.

Shared experience100
Task completion13
Tool quality97
Trust91
https://outpost-webmcp.alx21.chatgpt.site
Captured view of https://outpost-webmcp.alx21.chatgpt.site

Tools

4 read, 10 write
Loading map
list_findings: warning

list_findings

Returns findings from the active Outpost workspace, optionally filtered by severity, status, component, tag, or minimum priority. Results provide the board context needed for evidence review and remediation planning.Answers a question. Declared read only.
pagehttps://outpost-webmcp.alx21.chatgpt.site/
implementation
viaimperative
entry pointdocument
registered after632ms
executepresent
api surface
severityoptional
statusoptional
componentoptional
tagoptional
minimumPriorityoptional
limitoptional
annotations
read onlytrue
untrusted contenttrue
titlenot declared
1 finding
warningSchema quality
weight 4
2 of 14 tool schemas are harder for an agent to use than they need to be: list_findings declares no required list, so an agent cannot tell which parameters are mandatory.
list_findings: declares no required list, so an agent cannot tell which parameters are mandatory; get_activity_history: declares no required list, so an agent cannot tell which parameters are mandator
fix
{
  name: "list_findings",
  inputSchema: {
    type: "object",
    properties: {
      query: { type: "string", description: "What to search for" }
    },
    required: ["query"]
  }
}
tool json
{
  "name": "list_findings",
  "description": "Returns findings from the active Outpost workspace, optionally filtered by severity, status, component, tag, or minimum priority. Results provide the board context needed for evidence review and remediation planning.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "severity": {
        "type": "string",
        "enum": [
          "critical",
          "high",
          "medium",
          "low"
        ],
        "description": "Optional severity to match: critical, high, medium, or low."
      },
      "status": {
        "type": "string",
        "enum": [
          "open",
          "investigating",
          "accepted",
          "scheduled",
          "resolved"
        ],
        "description": "Optional workflow status to match: open, investigating, accepted, scheduled, or resolved."
      },
      "component": {
        "type": "string",
        "maxLength": 120,
        "description": "Optional case-insensitive component name fragment."
      },
      "tag": {
        "type": "string",
        "maxLength": 60,
        "description": "Optional exact lowercase finding tag."
      },
      "minimumPriority": {
        "type": "number",
        "minimum": 0,
        "maximum": 100,
        "description": "Optional minimum Outpost Priority Score from 0 through 100."
      },
      "limit": {
        "type": "integer",
        "minimum": 1,
        "maximum": 50,
        "description": "Maximum number of findings to return; defaults to 20."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": true,
    "untrustedContentHint": true
  }
}
Showing list_findings

Findings

Shared experience

100 / 100 · weight 30
passPage experience
weight 20
The page a person sees holds up next to the agent surface: a working interface, visible actions, readable content, nothing in the way.
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

13 / 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 "Open the document I was working on most recently." no tool on the page served it. Nothing was executed, so this verifies selection, not outcomes.
failCoverage vs. site type
weight 10
The tool set covers 1 of the 3 things an agent needs on a editor site; it cannot edit or write content or save, publish, or share the result.

Tool quality

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

Trust

91 / 100 · weight 20
warningAnnotations present
weight 6
1 of 4 read-shaped tools do not declare readOnlyHint: true, so an agent has to treat them as possible writes and ask before calling. (Declaring readOnlyHint: false earns nothing - it is the default.)
toolcompare_findings
compare_findings
fix
{
  name: "compare_findings",
  // Declare readOnlyHint: true on tools that truly have no side effects -
  // that is the claim that lets an agent relax confirmation on reads.
  // (false is the default, so declaring it adds no information.)
  annotations: { readOnlyHint: true }
}
passAnnotation mismatch
weight 6
No tool claims to be read-only while its own name or description says it writes (14 declared hints checked).
passUntrusted content hint
weight 4
All 1 tool that looks like it returns third-party text declares untrustedContentHint.
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
Open the document I was working on most recently.missed
choseno toolexpected document openkind not applicable
No tool was picked for this intent.
arguments
{}
Add a short summary paragraph at the top.missed
choseno toolexpected content editkind not applicable
No tool was picked for this intent.
arguments
{}
Save it and give me a link I can share.missed
choseno toolexpected save or sharekind 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
14
run time
14s
finished
Sep 2, 2026
Checked the way in-browser agents discover tools: the top-level document's modelContext registry, read after the page settles.