Skip to main content
Glama

Scan MCP tool definitions for tool poisoning (paid)

scan_tools
Read-onlyIdempotent

Tool-poisoning scan of MCP tool definitions (a tools/list result) or function schemas before your agent connects or calls them: hidden instructions, cross-tool shadowing, side-channel parameters that ask for file/conversation contents, recipient/payee overrides, instructions hidden in parameter names, defaults or enums, Unicode/ANSI smuggling, duplicate or lookalike tool names. Per-tool verdict and findings with location, plus capability flags (shell, files, network, payments, messaging). Costs $0.002 USDC per call via x402 (charged only on success). Without an x402 wallet you get the payment terms and the paid HTTP URL instead.

Input Schema

NameRequiredDescriptionDefault
toolsYesTool definitions as returned by MCP tools/list (or OpenAI/Anthropic function schemas), up to 200.
serverNoOptional label echoed back.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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 goes well beyond them: it discloses price ($0.002 USDC per call via x402, charged only on success) and the exact fallback behavior when no wallet is present (payment terms plus paid HTTP URL returned instead of a scan). It also describes what the response contains (per-tool verdict, findings with location, capability flags).

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?

Purpose is front-loaded in the first clause, followed by the threat taxonomy and then pricing/fallback. The threat enumeration is long but each item contributes concrete signal about what is detected; a slightly tighter list would still convey the same coverage.

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

Completeness5/5

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

For a paid, open-world scan tool with no output schema, the description supplies everything an agent needs: what is analyzed, what is returned, what it costs, and what happens without a payment wallet. Nothing material about invocation or outcome is left to guesswork.

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% and the nested tools/server structure is documented in the schema itself, so the description does not need to restate it. It adds no format guidance beyond the schema (e.g., it never mentions the 200-tool cap or that server is an echoed label), so this sits at the baseline for a fully documented schema.

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?

A specific verb and resource — a poison scan over MCP tool definitions / function schemas — plus an explicit scope ('before your agent connects or calls them'). It naturally reads as distinct from text-oriented siblings like scan_text and preview_scan_text because the input is declared to be a tools/list result or function schema set.

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

Usage Guidelines4/5

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

It gives a clear timing condition ('before your agent connects or calls them'), which is exactly the decision point an agent needs. It does not explicitly name when to prefer scan_text or preview_scan_text instead, so the routing to siblings is left implicit rather than stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources