Agent-native · WebMCP

Your AI agent can ask MCP Sentinel directly.

MCP Sentinel scans the MCP ecosystem with 184 detection rules. Now the registry speaks WebMCP: a WebMCP-capable AI agent visiting this site can run Sentinel's scans itself - so it can vet an MCP server or a WebMCP tool surface before it ever touches your agent.

Building a WebMCP product yourself? Scan your own tool surface →

Waiting for a WebMCP surface. Open this page in a WebMCP‑capable AI browser (such as ChatGPT desktop's built‑in browser, or any browser that exposes document.modelContext) to activate the agent tools. Everything below still works for humans.

The two scans your agent can run

Both are readOnlyHint: false and run the live 184-rule engine, on different targets. The first vets a WebMCP tool surface - a page's declared getTools(), the WebMCP-native scan. The second vets an installable npm/PyPI MCP server your agent might add - its source, dependencies and install hooks, not a WebMCP surface. Each card shows an example run; run a real one in the console below.

WebMCP surfacesentinel_scan_webmcp_surface

Scan a page's declared WebMCP tools - plus any resources, prompts, capabilities and roots - before your agent trusts them. Pass a getTools() dump, or omit it to scan the current page. Not listed in the public registry, by design.

args: surface_json?

What it checks for

prompt injectionparam-description injectionschema flawsannotation deceptionresource-metadata injection

Reaches up to 59 of the 184 rules - the ones a declared surface can answer (description / schema / annotation / protocol / capability). Source, dependency & runtime rules are out of scope, not "clean".

npm / PyPI serversentinel_scan_package

The deepest scan: fetch the published npm/PyPI artifact, verify registry integrity, then run source taint analysis, dependency CVE audit and sandboxed stdio enumeration - the full engine.

args: ref

What it checks for

command injectionhardcoded secretsknown CVEspost-install hooksmanifest confusion

The deepest scan: up to 116 of 184 rules from source & dependencies, and up to 180 when the runtime can sandbox-execute the artifact (else that tier is reported as not-observed, never faked). Ceilings, not guarantees: the report shows what ran.

Findings are illustrative - real rule ids the deterministic engine emits for each scan kind, not a specific server's result. A surface scan is honest about coverage: a declared WebMCP surface can only exercise description/schema/annotation/protocol rules; source, dependency and runtime rules are out of scope, not "clean" - which is exactly what the npm/PyPI package scan covers.

What these scans catch

In plain terms - the classes of problem an agent (or a person) can vet for before trusting an MCP server or a WebMCP tool surface. Sentinel flags and ranks these by severity; you decide. A clean surface scan means nothing in scope tripped - not that a tool is safe to run.

Beyond the scan - watch a runtime gate

A static scan reads what a tool declares. Some attacks only appear when the tool actually runs. This isolated, in-browser demo wraps a WebMCP tool surface and judges tools by what they do - it blocks a hidden data-exfiltration attempt and refuses a tool that rewrites itself mid-session. It's the runtime half of the story the two scans above can't see.

The runtime gate - live, isolated demoRuns 45 ported Sentinel rules - 3 runtime checks witnessed only when the tool runs, the rest read from a tool's declared metadata. Three example catches:
  • Declared read-only, but phones home → egress blocked at runtime
  • Rewrites itself mid-session → overwrite refused at runtime
  • Pushy "always use me first" wording → flagged from its declared text
Open the gate demo →

Isolated training-ground demo: the tools live on a private in-memory shim, are not agent-callable, and nothing leaves your tab. Deterministic; no model calls. This is not a scanner - same-origin isolation means a page can't scan another site from the browser.

Run a tool yourself

No WebMCP browser handy? Run any tool right here - it opens on the WebMCP surface scan with an example already filled in, so you can hit Run and read a real, colour-coded result. This invokes the same function an AI agent calls over WebMCP, against the live MCP Sentinel API.

not read‑only · submits a scan

Run a live MCP Sentinel security scan of a WebMCP tool surface - a page's declared tools (and any resources/prompts/capabilities/roots it exposes). Pass the page's document.modelContext.getTools() output as JSON in surface_json; omit it to scan the CURRENT page's own WebMCP surface. Runs the real 184-rule engine against what the surface DECLARES and returns the coverage-aware verdict (safe / caution / risk / insufficient coverage) + findings. NOT read-only: it submits a scan (server-side work); a surface scan is non-publishing by design (no fetch, no socket), so it is NOT added to the public registry. Coverage is honest - a declared surface can only exercise description/schema/annotation/protocol rules; source, dependency and runtime rules are out of scope, NOT "clean". Rate-limited per client per hour; can take up to ~60s.

This calls the exact execute() an AI agent invokes over WebMCP - real MCP Sentinel API, real result. No AI model runs here; it is the deterministic tool call itself.

Try it - ask your agent

"Scan this page's own WebMCP tool surface for security issues."
"Scan npm:some-mcp-server for security issues before I install it."
"Scan pypi:some-mcp-server before I add it to my agent."

These tools call the same public MCP Sentinel REST API this site runs on - real engine, real results, nothing invented. The two shown running above - sentinel_scan_package and sentinel_scan_webmcp_surface - are the archetypes; sentinel_scan_target is the one unified tool that auto-detects any onboarding shape (a package, a launch command, a URL, a config, a GitHub ref, or a WebMCP surface). All submit a scan (readOnlyHint: false) - a successful package/URL scan may add its result to the public registry, while a surface or config scan is not listed in the public registry, by design. Not in a WebMCP browser? The registry, scanner, WebMCP surface scan, and reports all work the normal way too. Prefer the web form? Scan a server →