MCP server: strip HTML tags, extract plain text, and sanitize HTML.
Three simple, read-only HTML transformation tools with clear naming and basic schemas. All tools have descriptions and input schemas with proper types. However, parameter descriptions are missing entirely, the 'html' and 'mode' parameters lack explanations of what they control or expected formats. No output schema documentation. Error handling is minimal (generic catch-all). Tool names follow verb_noun pattern (to_text, strip, sanitize) but descriptions are terse (34 - 72 chars, below the 50 - 200 char LLM-optimized baseline). No parameter-level guidance on constraints, formats, or when to use each tool vs. alternatives.
Sanitize HTML to a whitelist of tags. mode=permissive (default) keeps article-style markup; strict keeps minimal inline tags only.
Remove every HTML tag. Entities are decoded.
Convert HTML to plain text. Block tags become newlines; inline tags are stripped.
Parameter descriptions missing. 'html' and 'mode' parameters have no descriptions explaining what they control, expected format, or constraints. LLMs cannot infer parameter meaning from names alone.
No output schema documented. Tools return text results but LLMs have no formal schema describing the response structure, field types, or what to expect.
Tool descriptions are terse (34 - 72 chars). Below LLM-optimized baseline of 50 - 200 chars. Lack context on WHEN to use each tool vs. alternatives (e.g., when to choose strip vs. to_text vs. sanitize).
Generic error handling. Catch-all try/catch returns 'html tool failed: <message>' with no guidance on recovery, retryability, or what the LLM should do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
No tool composition guidance. No hints on dependencies or multi-step workflows (e.g., 'sanitize first, then to_text for safe plain-text extraction').