x402-html-validate
x402-html-validate: HTML tag matching + accessibility checks 🆓 5 free trial calls per signed wallet
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | ||
| text | No | ||
| input | No |
x402-html-validate: HTML tag matching + accessibility checks 🆓 5 free trial calls per signed wallet
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | ||
| text | No | ||
| input | No |
Changes observed during successful MCP inspections.
Input schema / properties / html / descriptionRemoved value: -"Html to process"Input schema / properties / input / descriptionRemoved value: -"Input to process"Input schema / properties / text / descriptionRemoved value: -"Text to process"Input schema / properties / textAdded value: +{
+ "description": "Text to process",
+ "type": "string"
+}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, yet it says nothing about what a failing validation looks like, whether it reports warnings vs errors, or whether any of the three inputs is required (the schema marks zero required). The one genuine behavioral fact added is the payment model — 5 free trial calls per signed wallet — which is useful but covers only billing, not execution behavior.
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?
It is short and front-loaded, and the core capability statement lands first. However, the emoji-laden free-trial promo occupies roughly half the text without helping an agent decide or invoke, so it is noise rather than earned content.
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 validator with three undocumented, all-optional parameters, no annotations, and no output schema, the description should explain input expectations and the shape of a pass/fail result. Neither is present, leaving the agent to guess on every axis except pricing.
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% across three parameters (html, text, input) and the description clarifies none of them. 'HTML' hints at the html parameter, but the roles of text and input, and how they interact with each other, are entirely undocumented in both schema and description.
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 names the resource (HTML) and two functions (tag matching, accessibility checks), which is more than a restatement of the name. But 'tag matching' is ambiguous — it could mean unclosed/mismatched tag detection or tag pair extraction — and there's no indication of output form, so an agent can't confidently distinguish this from siblings like x402-accessibility-check or x402-html-text-extract.
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 guidance on when to choose this over x402-accessibility-check or the other html-* siblings, and no note about which of the three inputs to supply. The only contextual cue is the free-trial payment note, which does not help with tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.