An MCP server that scrapes web content from URLs using BeautifulSoup and httpx
Single tool with critical definition gaps. Tool name 'web_scrapper' lacks action verb clarity (should be 'scrape_webpage' or 'get_webpage_content'). Description is minimal (29 chars, below 34-char p10 baseline). Input schema present but parameter description is generic ('webpage url to scrape content'). No output schema documented, LLM cannot predict return structure. No error handling guidance beyond generic 'Error scraping URL!' message. Tool catches all exceptions silently, hiding root causes from agent. No pagination, rate limiting, or result size constraints despite calling external HTTP service.
Scrapes web content with url
Tool name 'web_scrapper' lacks action verb. Should start with 'get_', 'scrape_', or 'fetch_' to signal intent to LLM. Current name is ambiguous about what action occurs.
Description is 29 characters ('Scrapes web content with url'), below minimum 34-char baseline. Lacks WHAT/WHEN/WHY context. Does not state prerequisites (valid URL required), output format (plaintext), or when to use vs alternatives.
No output schema documented. LLM cannot predict return type (string? object? array?). Docstring says 'Return: text : text of scrapped web page' but this is not machine-readable. Tool returns raw plaintext with no structure.
Error handling is non-actionable. Generic 'Error scraping URL!' message does not tell LLM what went wrong (timeout? invalid URL? 404? SSL error?) or what to do next. Catches all exceptions, hiding root cause.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
No result size limits or pagination. Tool can return megabytes of plaintext from large pages, exhausting context window. No guidance on max response size or truncation strategy.