Skip to main content
Glama
stand-out-of-my-sun

Diogenes Agent Guardrails & Command Sandbox MCP

Diogenes Agent Guardrails & Command Sandbox MCP (diogenes-agent-guardrails-mcp)

Indexed on TensorBlock MCP Index Glama MCP Server Master Gateway

Diogenes Agent Guardrails & Command Sandbox MCP is a focused, zero-bloat Model Context Protocol (streamable-http) package powered by the Diogenes Autonomous Microservice Gateway.

Instead of loading all 85 gateway endpoints into your LLM's context window, installing this package exposes only the 12 specialized agent-guardrails tools needed for Security:

12 TDQS 5.0/5.0 pre-execution and post-execution AI agent security tools: command injection gate, AST SQL validator, Python sandbox, MCP manifest & rug-pull auditors, sampling firewall, output scrubber, PII redactor, loop breaker, A2A card verifier, egress SSRF guard, and factuality auditor.


1-Click Install (mcp.json) for Cursor, Claude Desktop & Windsurf

No API keys, user accounts, or local dependencies required. Add this scoped endpoint to .cursor/mcp.json or claude_desktop_config.json:

{
  "mcpServers": {
    "diogenes-agent-guardrails": {
      "transport": "streamable-http",
      "url": "https://diogenes-micro-gateway.corinth.workers.dev/mcp/agent-guardrails"
    }
  }
}

Related MCP server: suprawall

Included Tools in agent-guardrails (12 Tools)

MCP Tool Name

Underlying REST Route

Settlement

Capability

verify_agent_command_safety

POST /api/v1/agent/guardrail-verify

100 sats (L402)

Evaluates untrusted agent prompts, bash commands, and tool arguments to block prompt injection, destructive shell commands, and private-key exfiltration. Use when screening a general shell command or user prompt before agent execution; for statically validating SQL database queries at the AST level, use validate_sql_query_ast instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'payload' ('action_type' defaults to 'bash_command'), supports '?demo=true' or L402 (100 sats), and returns HTTP 400 if invalid.

validate_sql_query_ast

POST /api/v1/agent/sql-guard

75 sats (L402)

Parses LLM-generated SQL statements to block DDL/DML mutations (DROP, DELETE, UPDATE, GRANT), stacked queries, and UNION/comment SQL injection payloads. Use when verifying that an agent-authored SQL query is strictly read-only before running it on a database; for screening non-SQL bash commands or general agent prompts, use verify_agent_command_safety instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'query' ('dialect' defaults to 'postgres'), supports '?demo=true' or L402 (75 sats), and returns HTTP 400 if invalid.

execute_python_sandbox

POST /api/v1/mpp/code-sandbox

1500 sats (MPP)

Audits Python source code for forbidden syscalls (os, subprocess, socket, open, eval) and simulates isolated stdout execution. Use when running untrusted LLM-generated Python snippets inside an isolated sandbox; for checking shell commands or tool arguments without executing Python code, use verify_agent_command_safety instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'code' ('timeout_profile' defaults to 'fast_1s'), supports '?demo=true' or MPP (1500 sats), and returns HTTP 400 if invalid.

audit_mcp_server_manifest

POST /api/v1/agent/mcp-manifest-auditor

150 sats (L402)

Scans an external MCP server's initial tools/list manifest to detect tool-name shadowing (read_file, bash) and hidden prompt-injection directives in descriptions. Use when vetting a newly discovered third-party MCP server before mounting it into an agent session; for comparing a previously pinned MCP baseline against a live mid-session tools/list response, use detect_mcp_schema_rugpull instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'manifest_json' ('audit_profile' defaults to 'strict'), supports '?demo=true' or L402 (150 sats), and returns HTTP 400 if invalid.

detect_mcp_schema_rugpull

POST /api/v1/agent/mcp-rugpull-diff

85 sats (L402)

Computes structural diffs between a pinned baseline MCP tools/list snapshot and a live server response to catch mid-session description or schema tampering. Use when verifying that a connected MCP server has not mutated its tool definitions mid-session; for performing a first-time static security audit on a single MCP manifest, use audit_mcp_server_manifest instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'baseline_tools_json' ('current_tools_json' defaults to 'standard'), supports '?demo=true' or L402 (85 sats), and returns HTTP 400 if invalid.

validate_mcp_sampling_request

POST /api/v1/agent/mcp-sampling-guard

100 sats (L402)

Audits inbound MCP sampling/createMessage callbacks from connected servers to block cross-server context snooping (includeContext='allServers') and token quota hijacking. Use when filtering a connected MCP server's request to sample the host LLM; for scrubbing text returned from a standard synchronous tools/call response, use sanitize_tool_output_stream instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'sampling_request_json' ('max_tokens_ceiling' defaults to '512'), supports '?demo=true' or L402 (100 sats), and returns HTTP 400 if invalid.

sanitize_tool_output_stream

POST /api/v1/agent/tool-output-firewall

75 sats (L402)

Sanitizes untrusted external tool or web-scrape outputs by stripping invisible Unicode Tag characters (U+E0000), neutralizing Markdown tracking image beacons, and defusing indirect prompt overrides. Use when cleaning raw third-party tool outputs or scraped web text before inserting it into the LLM context window; for redacting personal identifiable information (emails, SSNs, keys) from outbound text, use redact_sensitive_pii instead. Read-only edge call (32 KB, 60 RPM): accepts 'raw_tool_output' (with enum defaults), uses '?demo=true' or L402 (75 sats); HTTP 400 if invalid.

redact_sensitive_pii

POST /api/v1/scrub-pii

150 sats (L402)

Redacts emails, phone numbers, SSNs, credit cards, API keys, and crypto private keys from text before logging or external transmission. Use when stripping personal data or secret credentials from prompts, logs, or outbound messages; for neutralizing indirect prompt injections and invisible Unicode in inbound tool responses, use sanitize_tool_output_stream instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'text' ('redaction_style' defaults to 'typed_token'), supports '?demo=true' or L402 (150 sats), and returns HTTP 400 if invalid.

detect_agent_action_loop

POST /api/v1/agent/loop-circuit-breaker

70 sats (L402)

Analyzes an agent's recent tool-call trace to detect identical retry spins, A/B state oscillation, and runaway token burn. Use when monitoring multi-step agent execution loops to decide whether to continue or halt and escalate; for inspecting a single command payload for security threats before execution, use verify_agent_command_safety instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'action_trace_json' ('sensitivity' defaults to 'strict_2_repeats'), supports '?demo=true' or L402 (70 sats), and returns HTTP 400 if invalid.

verify_a2a_agent_card

POST /api/v1/agent/a2a-card-verifier

90 sats (L402)

Verifies a remote agent's A2A /.well-known/agent.json discovery card, checking JWS/DID signature binding, endpoint HTTPS enforcement, and capability spoofing. Use when authenticating a peer autonomous agent before delegating subtasks or exchanging payments over A2A; for auditing an MCP tool server's tools/list manifest rather than a peer agent's A2A card, use audit_mcp_server_manifest instead. Read-only edge call (32 KB, 60 RPM): accepts 'agent_card_json' ('trust_policy' defaults to 'require_https_and_did'), supports '?demo=true' or L402 (90 sats), and returns HTTP 400 if invalid.

audit_outbound_egress_url

POST /api/v1/agent/audit-egress-url

65 sats (L402)

Inspects outbound URLs and webhook targets before an agent makes HTTP requests to block cloud metadata SSRF (169.254.169.254), RFC1918 private networks, and query-string secret exfiltration. Use when validating a user-supplied or tool-supplied URL before fetching or posting data from an agent; for auditing local shell commands or general prompts, use verify_agent_command_safety instead. Read-only edge call (32 KB, 60 RPM): accepts 'target_url' ('egress_policy' defaults to 'block_private_and_metadata'), supports '?demo=true' or L402 (65 sats), and returns HTTP 400 if invalid.

audit_response_factuality

POST /api/v1/agent/hallucination-auditor

150 sats (L402)

Cross-references factual claims, numbers, and citations in a draft agent response against retrieved source passages to flag unsupported hallucinations before delivery. Use when verifying that a generated answer is 100% grounded in source evidence before returning it to the user; for scrubbing inbound tool outputs for prompt-injection and invisible Unicode, use sanitize_tool_output_stream instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'claim' ('context' defaults to 'standard'), supports '?demo=true' or L402 (150 sats), and returns HTTP 400 if invalid.

Free Account-Less Demo Mode: Append ?demo=true to any REST endpoint above for an instant HTTP 200 schema preview at zero cost.


Other Modular Diogenes MCP Packages

Install only the domain packages relevant to your workflow:

Package

Scoped MCP Endpoint

Spoke Repository

1. Gemini Suite & Agents

https://diogenes-micro-gateway.corinth.workers.dev/mcp/gemini-suite

stand-out-of-my-sun/diogenes-gemini-suite-mcp

2. Agent Guardrails & Sandbox

https://diogenes-micro-gateway.corinth.workers.dev/mcp/agent-guardrails

stand-out-of-my-sun/diogenes-agent-guardrails-mcp

3. Web3, DeFi & 402 Security

https://diogenes-micro-gateway.corinth.workers.dev/mcp/web3-security

stand-out-of-my-sun/diogenes-web3-security-mcp

4. EVE: Frontier Sui Move Suite

https://diogenes-micro-gateway.corinth.workers.dev/mcp/eve-frontier

stand-out-of-my-sun/diogenes-eve-frontier-mcp

5. Context, Code & Solvers (15 Tools)

https://diogenes-micro-gateway.corinth.workers.dev/mcp/context-code-solver

stand-out-of-my-sun/diogenes-context-code-solver-mcp

6. Dev, Data & Workflow Utilities (14 Tools)

https://diogenes-micro-gateway.corinth.workers.dev/mcp/dev-utilities

stand-out-of-my-sun/diogenes-dev-utilities-mcp

7. Full Master Gateway (All 85 Services)

https://diogenes-micro-gateway.corinth.workers.dev/mcp

stand-out-of-my-sun/diogenes-micro-gateway


TensorBlock & MCP Index Profile Metadata

Field

Value

Category

Security

Transport

streamable-http

Endpoint

https://diogenes-micro-gateway.corinth.workers.dev/mcp/agent-guardrails

Manifest

https://diogenes-micro-gateway.corinth.workers.dev/.well-known/mcp/agent-guardrails.json

Health Check

https://diogenes-micro-gateway.corinth.workers.dev/api/v1/health

Auth

none (100% account-less free tier, MCP discovery & ?demo=true previews; optional L402, x402, or MPP request headers for production calls)

Install Confidence

high (Zero-install remote Streamable HTTP endpoint + root package.json, smithery.yaml, server.json, glama.json, and mcp.json)

License

MIT

Verification

verified (@stand-out-of-my-sun verified via https://diogenes-micro-gateway.corinth.workers.dev/.well-known/tensorblock.json & https://diogenes-micro-gateway.corinth.workers.dev/.well-known/mcp/agent-guardrails.json)

Maintainer

@stand-out-of-my-sun

Docs

https://diogenes-micro-gateway.corinth.workers.dev/llms.txt

Support

https://github.com/stand-out-of-my-sun/diogenes-agent-guardrails-mcp/issues

Available Tools

8 tools
agent_loop_circuit_breakerCInspect

Analyzes recent tool-call traces to trip a circuit breaker on cyclic retries, A/B deadlocks, and runaway token burn.

ParametersJSON Schema
NameRequiredDescriptionDefault
recent_action_traceYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and leaves the most important trait ambiguous: 'to trip a circuit breaker' could mean it actually halts execution (a side-effecting action) or merely returns a recommendation. It also omits thresholds, cost, and whether anything is mutated. This ambiguity matters a lot for a breaker-style tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with the purpose and the detection targets front-loaded and no wasted words. It loses a point only because cramming three detection cases into one clause makes the conditions slightly harder to parse than separate sentences would.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No annotations, no output schema, an undocumented parameter structure, and unresolved ambiguity about whether the tool acts or advises. For a tool whose whole purpose is to make a stop/continue decision on an agent loop, the description leaves critical operational details unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and there is one required parameter, 'recent_action_trace'. The description's mention of 'recent tool-call traces' loosely maps to it, but the shape of the array items (untyped objects) and the expected trace fields are documented nowhere in either schema or description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb ('Analyzes') and resource ('recent tool-call traces') and enumerates its detection targets: cyclic retries, A/B deadlocks, runaway token burn. That is enough to distinguish it from the sibling firewalls (scrub_pii_firewall, tool_output_firewall) and guards, though it never explicitly names an alternative to route away from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no prerequisites, and no exclusions. It does not say whether this should be called before or after a suspicious loop, or how it relates to guardrail_verify or mcp_sampling_guard. Usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

code_sandboxBInspect

Executes untrusted Python snippets inside an ephemeral sandbox with static AST safety auditing.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesPython code to audit and run

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does add real behavioral context: the environment is ephemeral (no persisted state) and code is statically audited before running, implying unsafe code may be rejected. However, it omits timeouts, resource/network limits, what happens on audit failure, and the return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the action, the input, and the two key mechanisms with zero filler. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that executes untrusted code with no annotations and no output schema, the description should cover return values and sandbox limits. It conveys the isolation and auditing model but leaves execution constraints and result shape unspecified, which matters for a security-sensitive executor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single 'code' parameter, whose schema description ('Python code to audit and run') already matches the description's mention of Python snippets. Baseline 3 applies since the description adds no syntax, format, or constraint details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Executes untrusted Python snippets') plus the mechanism ('ephemeral sandbox with static AST safety auditing'). It is clearly distinguishable from sibling tools like sql_injection_ast_guard, but it never explicitly contrasts itself with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to reach for this tool versus alternatives such as sql_injection_ast_guard or guardrail_verify, and no preconditions (e.g., code size limits, supported imports) are given. Usage is only inferable from the stated purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

guardrail_verifyBInspect

Pre-execution security gate to detect prompt injection, destructive bash commands, wallet drain, and key exfiltration.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYesCommand, script, or prompt to inspect
action_typeNoAction type (e.g. bash, tool_call)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it leaves the critical behavior undefined: what does the gate return (verdict, boolean, exception), does a detection block execution, and is this a read-only inspection? It only implies inspection happens before execution, without stating enforcement semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with the operative concept (pre-execution gate) front-loaded and the detection scope enumerated compactly. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description should explain what the tool returns and how the agent should react to a detection. It is silent on both, leaving a real gap for a security gate whose entire value is the verdict it produces.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters (payload, action_type) documented in the schema, so the baseline is 3. The description adds no detail about payload format, size limits, or the accepted values of action_type beyond "bash, tool_call".

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific role (pre-execution security gate) and enumerates the four threat classes it detects (prompt injection, destructive bash, wallet drain, key exfiltration). This clearly separates it from siblings like sql_injection_ast_guard and scrub_pii_firewall, though it never names those alternatives explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Pre-execution" implies the timing (call before running the payload), which is a useful contextual cue. However, there is no guidance on when to skip it, how it relates to the other guard tools, or what the agent should do with a negative result.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mcp_rugpull_diffCInspect

Detects mid-session MCP tools/list rug-pulls, shadow parameter injections, and coercive description mutations.

ParametersJSON Schema
NameRequiredDescriptionDefault
current_tools_listYes
baseline_tools_listYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations and no output schema, so the description carries the full disclosure burden. It states what is detected but not what happens on detection (block, warn, return a diff?), whether it is read-only, or how the required baseline/current inputs relate. Only the threat taxonomy is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, and the key detection targets lead the statement. It is tight, though its brevity is partly a symptom of under-specification rather than disciplined editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-required-parameter tool with zero schema descriptions, no annotations, and no output schema, the definition omits input format, return/behavior semantics, and usage timing. It is too thin to invoke confidently without inspecting the schema or source.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both required array parameters. The description provides no compensating detail about input format, expected shape of tool-list entries, or how baseline and current lists are compared, leaving the agent to infer everything from parameter names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Detects') and three concrete failure modes: tools/list rug-pulls, shadow parameter injections, and coercive description mutations. That is enough to distinguish it from guard siblings like tool_output_firewall or mcp_sampling_guard, though it never explicitly contrasts itself with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no alternatives named. 'Mid-session' weakly implies it is run during an active session against a prior listing, but the agent must infer both the timing and whether this is a blocking check or an advisory report.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mcp_sampling_guardBInspect

Audits inbound MCP sampling/createMessage requests to block systemPrompt hijacking and recursive quota drain.

ParametersJSON Schema
NameRequiredDescriptionDefault
sampling_requestYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses the detection targets (systemPrompt hijacking, recursive quota drain), but says nothing about what happens on a match, whether the request is blocked or rewritten, or whether the call has side effects — all material for a security guard.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler; the purpose and threat model land immediately. It is arguably too terse for a guard with an opaque nested payload, but there is no wasted language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, no annotations, and an undocumented nested object parameter. The description never explains the return contract (allow/deny verdict, modified request, reason codes), which an agent must know to act on the result of a security check.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one nested object parameter at 0% schema description coverage, so the schema does not explain it. The description partially compensates by identifying the payload as an MCP sampling/createMessage request, but it does not state the expected shape, required fields, or whether the raw request is passed through verbatim.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('audits') and a precise resource ('inbound MCP sampling/createMessage requests'), plus the threat classes it targets. That is enough for an agent to distinguish it from generic siblings like guardrail_verify or tool_output_firewall, though it never names a sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the object of the audit: this is the tool to invoke on an inbound sampling/createMessage request. There is no explicit when-to-use statement, no when-not, and no routing guidance relative to guardrail_verify, so the agent must infer placement in the request pipeline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scrub_pii_firewallAInspect

Redacts emails, SSNs, phone numbers, API keys, and wallet seed phrases before external LLM calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesRaw text to scrub

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It does disclose the detection scope (five named PII classes), which is genuine context, but it omits the safety profile: whether redaction is reversible, what the tool returns, whether the original text is mutated or a copy returned, and failure behavior on malformed input.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, front-loaded with the verb and the full entity list, with zero filler. Every clause earns its place and nothing is repeated from the schema or name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter, no-output-schema tool this is close to adequate, but as an unannotated mutation-style operation it should clarify the return value and whether the input is modified in place. The minimum needed to call it correctly is present, yet the behavioral picture is thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single well-described parameter ("Raw text to scrub"), so the baseline is 3. The description elaborates on what within that text gets removed, adding small value, but contributes no format, size, or encoding guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (redacts) plus the exact entity classes it targets (emails, SSNs, phone numbers, API keys, seed phrases) and the trigger context (before external LLM calls). This is far more informative than the name alone and clearly separates it from siblings like tool_output_firewall or guardrail_verify, 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"before external LLM calls" implies the moment of use, which is real guidance, but there is no explicit when-not-to-use and no named alternative such as tool_output_firewall or guardrail_verify. Usage 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.

sql_injection_ast_guardAInspect

Statically validates LLM-generated SQL queries via AST inspection to block SQLi tautologies, UNION leaks, and DROP/TRUNCATE.

ParametersJSON Schema
NameRequiredDescriptionDefault
sql_queryYesSQL query to audit

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses the mechanism (static, AST-based) and the failure classes it intercepts, but omits critical operational behavior: what happens when a query is flagged (reject, error, or boolean), whether the check is deterministic, and any dialect or configuration dependency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense, well-front-loaded sentence with no filler; the verb and mechanism lead, and every clause carries information. Slightly jargon-heavy but structurally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 should hint at the return shape (e.g., pass/fail plus reason). It instead stops at the detection categories, leaving an agent unable to predict the result of a flagged query — a meaningful gap for a guardrail tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter is fully documented in the schema ('SQL query to audit'), so the baseline is 3. The description adds the 'LLM-generated' provenance context but no format, dialect, or size constraints beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb (statically validates), resource (LLM-generated SQL queries), mechanism (AST inspection), and the specific threat classes it targets (SQLi tautologies, UNION leaks, DROP/TRUNCATE). This distinguishes it from guardrail-style siblings like guardrail_verify or tool_output_firewall without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'LLM-generated SQL queries' and 'statically' imply the use case: pre-execution auditing of generated SQL. However, there is no explicit when-to-use/when-not guidance, no prerequisites, and no named alternative among the sibling guardrail tools, leaving the trigger condition to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tool_output_firewallAInspect

Sanitizes untrusted tool outputs, stripping invisible Unicode tags (U+E0000), markdown exfiltration beacons, and indirect prompt injections.

ParametersJSON Schema
NameRequiredDescriptionDefault
raw_tool_outputYes
source_tool_nameNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does add concrete behavior: it strips invisible Unicode tags, markdown exfiltration beacons, and indirect prompt injections. However, it does not clarify whether it returns sanitized text, blocks on detection, preserves the original, or has side effects, which matters for a security sanitizer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. The core action and the specific sanitization targets are both stated immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives enough to understand the tool's purpose, but with no annotations, no output schema, and 0% schema description coverage, it should also explain parameter meaning and return/blocking behavior. It is adequate but leaves important operational details unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 for both parameters. It vaguely implies the required input is a tool output, but never explains raw_tool_output or source_tool_name semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: sanitizes untrusted tool outputs. It also names the exact threat classes removed, which distinguishes it from sibling security tools like scrub_pii_firewall and sql_injection_ast_guard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'untrusted tool outputs' implies when the tool is relevant, but it does not explicitly say when to use it instead of siblings like guardrail_verify or scrub_pii_firewall. No exclusions or routing guidance are provided.

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.

  1. 8 tool updatesv1.4.0
    • First observedagent_loop_circuit_breaker
    • First observedcode_sandbox
    • First observedguardrail_verify
    • First observedmcp_rugpull_diff
    • First observedmcp_sampling_guard
    • First observedscrub_pii_firewall
    • First observedsql_injection_ast_guard
    • First observedtool_output_firewall

TDQS

B3.2/5.0

Scored across 8 tools

Disambiguation4/5

Each tool targets a fairly distinct security plane (loop detection, sandbox exec, pre-exec gate, MCP protocol, PII, SQL, output sanitization). However, guardrail_verify (prompt injection/destructive commands) overlaps conceptually with tool_output_firewall (indirect prompt injection) and sql_injection_ast_guard, which could cause misselection when an agent faces a generic 'unsafe input' scenario.

Naming Consistency3/5

All names use consistent snake_case, which is readable, but the semantic patterns are mixed: some are noun-first labels (code_sandbox, scrub_pii_firewall, tool_output_firewall), some noun_verb (guardrail_verify), and others compound domain phrases (agent_loop_circuit_breaker). There is no predictable verb_noun template throughout.

Tool Count4/5

8 tools is well within a reasonable range for a multi-surface guardrails server, and each tool addresses a different concern. A minor argument exists to merge the input/output firewall variants, but the count is appropriate.

Completeness4/5

Coverage spans loop detection, sandboxing, input gating, MCP protocol attacks, PII redaction, SQL validation, and output sanitization, which is broad for the domain. Gaps remain: the sandbox only handles Python (no shell/JS), and there is no policy/config or audit-log management surface.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Protects AI agents from threats like prompt injection, jailbreaks, and SQL injection through a multi-layer scanning pipeline. It also enables PII redaction and rehydration to ensure data privacy during LLM interactions.
    12
    75 npm
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables deterministic zero-trust security for AI agents, providing prompt injection protection, PII scrubbing, and policy enforcement before agentic actions reach production systems.
    2
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    Enables sub-millisecond pre-execution safety filtering for AI agent tool calls, blocking destructive shell commands, dangerous SQL mutations, credential access, SSRF, and scope-creep or prompt-injection patterns before they execute, with optional fail-closed transparent proxy wrapping for any MCP server.
    6
    37 npm
    12
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables autonomous agents to run shell and subprocess commands through a guardrail that blocks destructive system mutations, path traversals, and reverse shells. It also adds prompt-injection detection, spend circuit breakers, loop detection, and privacy sanitization so agent execution stays within safe, budgeted bounds.
    7
    MIT