A web scraper MCP server for cleaning and extracting text from HTML content
The GenPark ContextDev Web Scraper Skill is a minimal implementation with severe quality deficiencies. Only one tool is defined (parse_html), and it lacks essential production-grade attributes. The tool description is 27 characters ('Mock regex tags stripping'), which barely meets the non-empty threshold but provides no actionable guidance on WHAT the tool does, WHEN to use it, or WHAT the agent should expect. The input schema is present but minimal, the 'raw_html' parameter has a description ('Raw HTML content to parse and clean'), but the tool offers no output schema documentation in code comments or docstrings. The implementation is a trivial regex-based HTML stripper with no error handling, validation, or recovery guidance. The tool name 'parse_html' uses the correct verb_noun pattern but the description fails to clarify what 'parsing' entails (is it extracting text? Links? Metadata?) or when the agent should prefer this tool over alternatives. No pagination, no output structure docs, no parameter constraints, no error recovery patterns are evident. This server reads as a proof-of-concept stub rather than a production-ready tool.
Mock regex tags stripping
Tool description is too vague and does not explain WHEN to use the tool or what it returns. 'Mock regex tags stripping' (27 chars) lacks context for LLM selection.
No output schema documented in code. The function returns {'extracted_text': text, 'meta_description': '...'} but this structure is not declared anywhere in docstrings, comments, or formal schema docs. LLMs cannot plan downstream operations without knowing the response structure.
No error handling or validation. The tool does not guard against nil input, malformed HTML, or oversized content. Raw regex replacement offers no failure recovery guidance. If parse_html fails, the LLM has no actionable error message or retry guidance.
No parameter constraints documented. 'raw_html' accepts any string with no size limit, format guidance, or encoding hints. An LLM could pass multi-MB payloads or binary content, causing silent failures or resource exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Tool implementation is trivial and incomplete. Regex-only HTML stripping loses semantic structure, mishandles nested tags, and cannot extract meaningful metadata. The hardcoded response 'meta_description: Cleaned article text' is static and misleading, it does not reflect actual document content.