MCP server that scrapes website content and provides text extraction for Q&A applications
Single tool with minimal definition quality. Tool name 'scrape_website' is verb-noun compliant, but description is only 67 chars (below baseline 194 chars avg). Input schema present with basic type info but lacks constraints, ranges, or format guidance. No output schema documented. No error handling guidance. No parameter validation rules. Tool lacks idempotency hints despite being READ_ONLY. Missing security considerations for untrusted URLs (injection risks). No pagination or result limits despite truncating to 12000 chars.
Fetches and returns the text content of a website given its URL.
Description too brief (67 chars vs 194 baseline). Lacks WHEN to use, prerequisites, and return value documentation. LLM cannot determine if this is the right tool for content extraction vs other scraping scenarios.
No output schema documented. Tool truncates to 12000 chars but LLM has no visibility into this limit or the structure of returned text. Agents cannot plan for partial results or pagination.
URL parameter lacks validation constraints. No description of accepted formats, protocols (http vs https), or handling of invalid/malicious URLs. Vulnerable to injection attacks and protocol confusion.
No error handling guidance. Tool will fail on network errors, timeouts, 404s, and malformed HTML but provides no recovery hints. LLM cannot distinguish retryable vs fatal failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Tool is READ_ONLY but lacks explicit idempotentHint annotation. While safe to retry, LLM has no formal signal that repeated calls with same URL are safe and produce identical results.