security-preflight
Server Details
Static MCP, source-code and injection-indicator checks with redacted signed receipts.
- Status
- Healthy
- Uptime
- 100.0% over 40 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- jdhart81/viridis-agent-fleet
- GitHub Stars
- 0
- Server Listing
- viridis-agent-fleet
TDQS
Scored across 5 tools
The tools are largely distinct: describe_agent and get_security_receipt are clearly different from the scanning tools, and scan_source vs screen_injection have different input types. There is some potential confusion between the general security_preflight and the more specialized scan tools, but the descriptions provide enough boundary to select appropriately.
Most tools follow a verb_noun pattern: describe_agent, get_security_receipt, scan_source, and screen_injection. The exception is security_preflight, which is a noun phrase rather than an imperative action, creating a minor but noticeable inconsistency.
Five tools is well-scoped for a security-preflight server focused on static scans and signed receipts. Each tool serves a distinct part of the workflow without unnecessary bloat or redundancy.
The core workflow is covered: describe the agent, run source and injection scans, run a general preflight, and retrieve the resulting receipt. Minor gaps exist, such as no listing or verification tool for receipts, but agents can work around these with the provided get_security_receipt tool.
Available Tools
5 toolsdescribe_agentCInspect
Describe scope, evidence boundary, inputs, and outputs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It vaguely mentions describing scope, evidence boundary, inputs, and outputs but does not disclose any behavioral traits like read-only nature, side effects, or required permissions. At least it is not misleading.
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 a single sentence, front-loaded, and contains no waste. However, it is too vague to be effective; conciseness sacrifices clarity.
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?
Given zero parameters and an existing output schema, the description is incomplete. It does not explain what kind of agent this is, nor does it leverage the security context hinted by sibling tools to provide meaningful usage context.
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?
There are zero parameters and schema coverage is 100% (vacuously). The description adds no parameter information, which is acceptable since none exist. Mentioning 'inputs' is consistent with no inputs.
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 'Describe scope, evidence boundary, inputs, and outputs' states a general purpose but does not clearly identify what 'agent' refers to or distinguish this tool from sibling tools get_security_receipt and security_preflight, which are security-related.
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?
No guidance on when to use this tool versus alternatives, nor any context about prerequisites or exclusions. The description leaves the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_security_receiptBInspect
Read a previously issued public, input-redacted receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It indicates the operation is a read ('Read') but does not explain error handling, idempotency, or details about 'input-redacted'. Minimal behavioral disclosure.
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 a single concise sentence with no filler. It is front-loaded with the verb and key attributes.
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 simple read tool with one parameter and an output schema, the description is minimally complete. It lacks details on error scenarios and the exact meaning of 'input-redacted', but the core purpose is conveyed.
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 0%, so the tool description should compensate. However, no additional meaning is added for the receipt_id parameter beyond its name and type. The parameter is self-explanatory but not elaborated.
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 clearly states the tool reads a security receipt, specifying 'public' and 'input-redacted' characteristics, which distinguishes it from sibling tools describe_agent and security_preflight.
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?
No guidance is provided on when to use this tool vs. alternatives (describe_agent, security_preflight) or any prerequisites. The description simply states the function without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_sourceAInspect
$1 bounded inline VulnCanon source scan; indicators, not proven exploits.
At most 64 KiB, 2000 lines, 4096 characters per line. No model calls, repository fetching or code execution. Returns a redacted signed receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | ||
| agent_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden of behavioral disclosure. It clearly states limits, the indicator-only nature of results, that it makes no model calls, does not fetch repositories, does not execute code, and returns a redacted signed receipt.
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 compact and front-loads the core purpose in the first sentence, followed by constraints and behavioral guarantees. The '$1' token is slightly cryptic and harms absolute clarity, but every sentence otherwise earns its place.
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 simple two-parameter tool with an output schema, the description covers boundaries, side effects, and output expectations well. The main gap is the undocumented agent_id parameter and the absence of explicit sibling-tool routing guidance.
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 0%, and the description does not explicitly define either parameter. It hints at the 'source' parameter through 'inline source scan' and the size limits, but 'agent_id' is completely unexplained, leaving the agent without enough semantic grounding for one of the two required arguments.
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 opening phrase 'VulnCanon source scan' names the exact operation and resource with a clear scoping qualifier ('inline'). The caveat 'indicators, not proven exploits' further positions the tool's purpose, making it distinct from deeper analysis or enforcement tools.
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?
The description implies when to use the tool: for small, inline source snippets, given the 64 KiB/2000-line limits and the statement that it performs no repository fetching. However, it does not explicitly state when not to use it or mention any sibling tool such as security_preflight or screen_injection as an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_injectionBInspect
$1 batch of 1–20 text samples screened for deterministic injection markers.
Maximum 64 KiB total. Heuristic indicators, not calibrated probabilities or a guarantee of safety. No model calls or automatic follow-on purchase.
| Name | Required | Description | Default |
|---|---|---|---|
| texts | Yes | ||
| agent_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden and does well: it discloses the deterministic nature of the screening, its limitation as heuristic rather than calibrated or guaranteed, the 64 KiB size cap, and the absence of model calls or automatic follow-on purchase. This gives an agent a realistic picture of side effects and reliability before calling.
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 short sentences, each earning its place: purpose, limits, caveats, and side effects are packed efficiently with the core purpose front-loaded. The only blemish is the ambiguous '$1' prefix, which muddies the opener for no evident benefit.
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?
The output schema exists, so the return format need not be spelled out, and the description adequately covers limits, caveats, and side effects. The notable gaps are that the required agent_id parameter is never explained and the '$1' phrasing leaves unresolved whether a cost implication exists — both matter for an agent deciding to invoke the tool.
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 0%, so the description must compensate. It makes a meaningful contribution for 'texts' by constraining the batch to 1–20 samples and 64 KiB total, which the bare schema does not state. However, 'agent_id' is left completely unexplained even though it is required, leaving the agent to guess its role.
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 conveys that the tool screens text samples for deterministic injection markers, naming the resource (text samples) and the analytic purpose. However, the opening '$1 batch' is confusing (reads like a price or an index), and the description never distinguishes screen_injection from sibling tools like scan_source or security_preflight, so an agent must infer what makes this screening-specific tool different.
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?
There is no explicit guidance on when to call this tool versus scan_source, security_preflight, or get_security_receipt. The caveat that results are 'heuristic indicators, not calibrated probabilities' implies a rough first-pass screening rather than a final safety decision, and 'no automatic follow-on purchase' hints at low cost, but these are inferences, not instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
security_preflightAInspect
Run a $1 static Security Preflight and return a signed receipt.
New x402 payer wallets may receive the fleet-wide $0.01 introductory call. No deployed endpoint is fetched or tested. Importing the receipt into an Agent Market profile is a separate, explicit action.
| Name | Required | Description | Default |
|---|---|---|---|
| policy | No | ||
| agent_id | Yes | ||
| manifest | Yes | ||
| request_id | No | ||
| payment_ref | No | ||
| sample_inputs | No | ||
| subject_profile_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the tool is static (no endpoint testing), returns a signed receipt, and notes pricing tiers. It does not state whether the operation is read-only or if it has side effects, but for a preflight tool, the behavior is reasonably clear.
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 three sentences with no fluff. The first sentence delivers the primary purpose, the second adds pricing, and the third clarifies limitations and next steps. Every sentence adds value.
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?
Given the complexity (7 parameters, nested objects) and the presence of an output schema, the description covers the main operation and pricing but omits parameter guidance. It is adequate only if the output schema explains the return value sufficiently.
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?
The description does not explain any of the 7 parameters, despite 0% schema description coverage. It mentions 'static Security Preflight' but provides no detail on what 'manifest', 'policy', or other fields mean. This forces the agent to guess their purpose.
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 clearly states the action ('Run a $1 static Security Preflight') and the output ('return a signed receipt'). It distinguishes from siblings by focusing on running the preflight rather than describing agents (describe_agent) or retrieving existing receipts (get_security_receipt).
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?
The description clarifies that no endpoint is tested and that importing the receipt is a separate step, providing helpful context on what the tool does and does not do. However, it does not explicitly state when to use this tool versus its siblings.
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.
2 tool updates
- Added
scan_source - Added
screen_injection
3 tool updates
- First observed
describe_agent - First observed
get_security_receipt - First observed
security_preflight
Related MCP Connectors
Check if an MCP server tool changed or hides injection patterns before you trust it.
Pre-flight MCP security. Blocks compromised deps + tool drift. HMAC-signed. Dredd judges.
Observed facts on public MCP servers: protocol checks, tool changes, signed evidence. No verdicts.
Remote MCP for MCP tool deprecation receipt, structured receipts, audit logs, and reviewer-ready evi
Related MCP Servers
FlicenseNot gradedqualityDmaintenancePaid remote MCP for generating trustworthy code run receipts, scope summaries, missing evidence checks, and client handoff exports.-
BackBond Agent Scanofficial
AlicenseNot gradedqualityBmaintenanceLocal static inspection of MCP and AI-agent tool manifests before attachment, reporting findings and missing evidence without executing proposed tools. Results do not establish runtime safety.288 npmMIT- AlicenseAqualityCmaintenanceSecurity scanning for MCP servers from the inside out. Provides runtime inspection, AST-based static analysis, config audit, dependency analysis, and OWASP MCP Top 10 compliance in a single MCP server.55130 npm6MIT
- AlicenseNot gradedqualityBmaintenanceZero-execution static AST security scanner and vulnerability auditor for MCP servers. Detects Command Injection (CWE-78), Path Traversal (CWE-22), Hardcoded Secrets (CWE-798), and Unauthenticated Transports (CWE-306).MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.