Skip to main content
Glama

HTML sanitizer

tradepilot_service_html_sanitize
Destructive

Strip an HTML fragment down to a vetted allowlist of semantic/structural tags and safe attributes, removing script tags, inline event handlers and unsafe link/media schemes (only http, https, mailto, tel survive). Forces rel=noopener noreferrer on every anchor. Does not render, fetch, or validate the HTML. Price: 0.01 USD. Payment requires explicit wallet authorization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputYes
result_expiresNo
idempotency_keyNo
result_signatureNo
payment_signatureNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4/5.0
Behavior5/5

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

The description goes far beyond the annotations: it names the exact allowlist behavior, forced rel attributes, removed schemes, non-rendering/non-fetching/non-validating behavior, price, and required wallet authorization. This aligns with destructiveHint=true and readOnly=false rather than contradicting them.

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?

Four tight sentences front-load the core sanitization behavior, then add boundary constraints and the pricing/authorization requirement. No sentence is redundant, and the structure moves from primary action to limitations to operational caveat.

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 behavior is well covered, but no output schema exists and the description never states the returned shape beyond implying sanitized HTML, nor does it unpack the optional protocol parameters. Still, the core invocation requires only the HTML input, and the payment/wallet caveat is disclosed.

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?

With 0% schema description coverage, the description must carry parameter meaning, but it only loosely refers to the HTML fragment and the paid nature. It does not explain 'result_expires', 'idempotency_key', 'result_signature', or 'payment_signature' or how they relate to the stated payment authorization.

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?

The description opens with a specific verb ('Strip') and a concrete resource ('an HTML fragment'), then enumerates what is removed (script tags, inline event handlers, unsafe schemes) and what is preserved (allowlisted tags, http/https/mailto/tel). This clearly distinguishes it from the many content-generation siblings, which do different work on text.

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 use case is implied by the phrasing—sanitize HTML before embedding—and the description explicitly lists behavior exclusions ('Does not render, fetch, or validate'). However, it never states when to prefer this tool over an alternative or names any sibling tool, so the agent must infer routing from semantics.

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