Preflight
Server Details
Scans an MCP server for security gaps before your agent connects. Free tier, no signup.
- Status
- Healthy
- Uptime
- 99.3% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
Each tool targets a clearly distinct subject: agent output (check_output), documents/web pages (scan_content), extensions/skills (scan_extension), and MCP servers (scan_mcp_server). There is no overlap in what each is meant to inspect, so an agent can select correctly from the target alone.
All four follow a verb_noun pattern (check_output, scan_content, scan_extension, scan_mcp_server), which is highly predictable. The only minor deviation is mixing the verbs 'check' and 'scan' for what is essentially the same kind of safety inspection.
Four tools is a tight, well-scoped set where each covers a genuinely different surface, so nothing is redundant. It sits at the low end of the ideal range and could arguably be a touch thin, but each tool earns its place.
The surface covers the main preflight targets (outputs, content, extensions/skills, MCP servers) with no obvious dead ends for those inputs. Coverage of other trust surfaces (e.g. packages/scripts generally) is absent, but the stated purpose is well served.
Available Tools
4 toolscheck_outputCheck outputARead-onlyIdempotentInspect
Check a structured output you're about to return or act on for degenerate-answer patterns a schema check can't see: invalid JSON, a placeholder value ('TBD', 'N/A', 'unknown') where a real answer should be, an array of byte-identical items (a common symptom of a loop that never advanced), or an expected field that's missing or empty. Schema validity and answer quality are different guarantees, call this before trusting your own output, not just after validating it parses.
| Name | Required | Description | Default |
|---|---|---|---|
| output | Yes | The output to check, a JSON string, or an already-parsed value | |
| expectedFields | No | Optional: top-level field names expected to be present and non-empty |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds valuable behavioral context by listing the degenerate patterns it detects and contrasting answer quality with schema validity, though it does not describe the return format or how issues are reported.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core check, then lists concrete examples, and ends with a clear call to action. Every sentence earns its place; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only validation tool with fully documented parameters and no output schema, the description covers purpose, usage, and specific checks well. The only gap is that it does not indicate what the tool returns (e.g., a boolean or list of issues), which would help an agent interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description does not add any syntax or format details beyond what the schema provides; the mention of 'expected field that's missing or empty' loosely relates to expectedFields but does not enrich parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Check') and resource ('structured output') and enumerates the exact patterns it detects (invalid JSON, placeholder values, identical items, missing fields). It distinguishes from schema checks but does not mention sibling tools, which are content/extension/MCP scanners. Clear, but no explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to call it: 'call this before trusting your own output, not just after validating it parses.' This provides clear context, though it does not name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_contentScan contentARead-onlyIdempotentInspect
Check a document or web page for hidden instructions before an agent reads, summarizes, or acts on it: invisible Unicode, obfuscated payloads, and (on Pro) a semantic pass for prompt-injection phrasing aimed at the model instead of the human reader. Pass either a URL to fetch, or raw text you already have.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | A page to fetch and scan | |
| content | No | Raw text to scan directly, if not fetching a URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description adds real value on top: the exact threat classes scanned and the fact that the semantic detection pass is Pro-tier gated. It stops short of saying what a positive finding looks like or how the caller should react.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler, front-loading the purpose and threat model before the input guidance. The Pro parenthetical is compact, though the second sentence is a dense run-on of detection categories.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries some burden for return semantics, yet it never indicates what the scan produces (a findings report, a verdict, flagged spans) or what the caller should do on a hit. For a pre-flight security gate with two inputs and no documented output, that is a meaningful omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the two property descriptions already explain url vs content, so the baseline is 3. The description adds only the either/or framing ("Pass either a URL to fetch, or raw text you already have"), which the schema's "if not fetching a URL" clause already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (check/scan) plus resource (document or web page) and enumerates what it detects: invisible Unicode, obfuscated payloads, and a semantic prompt-injection pass. It is clearly distinguishable from scan_extension and scan_mcp_server by targeting arbitrary page/document content, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a timing cue ("before an agent reads, summarizes, or acts on it") that implies a pre-ingestion gate, which is useful context. However there is no explicit when-not guidance and no routing between this tool and check_output, so the agent must infer which of the two scanning tools applies to its case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_extensionScan extensionARead-onlyIdempotentInspect
Check a VS Code extension or a Claude Skill before installing or trusting it. For a VS Code extension (which runs with full Node.js access and no permission model to scope): publisher domain-verification status weighed against install count, and known-bad-signature checks on its description. For a Claude Skill: hidden-instruction and obfuscated-payload detection on the SKILL.md body (the same engine scan_content uses), unscoped or credential-referencing tool grants in its allowed-tools/disallowed-tools frontmatter, inline shell execution baked into the file itself, and pattern matching on any bundled script files for credential-exfiltration signatures. Semantic prompt-injection detection on a skill's body runs too on Pro.
| Name | Required | Description | Default |
|---|---|---|---|
| skillContent | No | A Claude Skill's SKILL.md content, pasted directly | |
| marketplaceId | No | VS Code Marketplace id, e.g. "nrwl.angular-console" | |
| scriptContents | No | Optional: bundled script file contents to check alongside a skill, filename -> content |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description clears the lowered bar by adding genuinely new behavior: the extension threat model ('full Node.js access and no permission model to scope'), the specific checks performed, and the tier gating that semantic prompt-injection detection 'runs too on Pro'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The lead sentence is front-loaded with the action and the pre-install framing. The remainder is dense and heavily parenthesized, but nearly every clause names a distinct check, so the length is largely earned rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Inputs and the full set of checks are well covered for a 3-parameter, 0-required tool. With no output schema, the description does not describe the return shape (findings list, pass/fail, severity), which is the one meaningful gap for an agent interpreting results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description maps parameters to modes (extension vs skill) and pairs skillContent with scriptContents, but adds no syntax or format detail beyond what the schema already provides for each field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (check/scan) and two named resources (VS Code extension, Claude Skill), then enumerates the exact signals inspected for each. It even differentiates itself from the sibling scan_content by noting the skill-body scan uses 'the same engine scan_content uses', so an agent can place it relative to siblings without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Check ... before installing or trusting it' gives clear usage context, and the description implicitly separates the two modes (marketplaceId for extensions, skillContent for skills). It does not, however, explicitly say when to prefer this over scan_content or scan_mcp_server, so routing is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_mcp_serverScan MCP serverARead-onlyIdempotentInspect
Check an MCP server for real risk signals before trusting it: unauthenticated transport, capability overreach (filesystem/shell/credential access with no scoping), and known-bad signatures. Pass a live server URL, or a manifest of tool definitions if the server isn't reachable over HTTP. Semantic prompt-injection detection runs too if a Pro API key is sent as an Authorization: Bearer header, see /docs.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Live MCP server endpoint (Streamable HTTP transport) | |
| tools | No | Tool definitions to scan directly, if not probing a live URL | |
| serverName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds meaningful behavior: it may probe a live endpoint over the network, and the semantic prompt-injection pass requires a Pro API key sent as an Authorization: Bearer header. It doesn't mention rate limits, timeouts, or what happens on an unreachable server, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, purpose front-loaded, followed by input-mode guidance and an optional-capability caveat; little waste. It is fairly dense with parenthetical detail, but every clause contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still conveys what the scan checks, which implicitly frames the report contents, and annotations carry the safety profile. It stops short of describing the actual response shape or failure behavior, which would matter for an agent acting on results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%; the description adds real semantics on top of the schema by explaining the url vs. tools choice and the condition that selects the manifest path, plus the auth-header requirement tied to the Pro key. serverName is left unexplained, and the 'or' exclusivity between url and tools is only implied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (scan/check) and resource (an MCP server) and enumerates exactly what it looks for: unauthenticated transport, capability overreach, known-bad signatures, plus optional prompt-injection detection. This clearly separates it from siblings scan_content, scan_extension and check_output, which don't target MCP servers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition ('before trusting it') and routes the two input modes explicitly: pass a live URL, or a manifest of tool definitions when the server isn't reachable over HTTP. It does not name sibling tools or state when not to use this one, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
check_output - First observed
scan_content - First observed
scan_extension - First observed
scan_mcp_server
Related MCP Connectors
Free, read-only security scanner for remote MCP servers, before you connect them.
Scan any MCP server for tool-poisoning, security, auth & license. Trust score before install.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Check an A2A agent before you delegate, or an MCP server's measured conduct. Free, no key.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceScans MCP servers for security vulnerabilities, prompt injection, and tool poisoning, providing risk scores and protection.4MIT
- AlicenseAqualityBmaintenanceSecurity scanner for MCP servers: detects tool poisoning, hidden instructions, tool shadowing, excessive permissions, leaked secrets and weak transports before you install a server.4538 npmApache 2.0
- AlicenseAqualityDmaintenanceScans MCP servers for prompt-injection, tool-poisoning, and SSRF vulnerabilities using 30+ canonical rules across 5 severity tiers, with optional signed safety reports for procurement.5MIT
- AlicenseNot gradedqualityBmaintenanceScans MCP servers, AI agent skills, and plugins for 68+ malicious patterns including credential exfiltration, prompt injection, and code execution.38 npm5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.