Qt WebEngine based web content extractor with HTTP server interface and MCP protocol support
This server has 3 tools with schemas present but significant quality gaps. Tool descriptions are present and reasonably detailed (60-130 chars each), but parameter descriptions are minimal or missing. fetch_url and fetch_image have single required params with adequate descriptions; fetch_pdf has 3 params with mixed quality. No output schemas are documented. Parameter type definitions are present (string, enum, array) but descriptions are sparse. The server lacks error handling guidance, recovery suggestions, and output documentation. Naming is reasonable (verb_noun pattern) but tool composition suggests potential overlap, fetch_url, fetch_image, and fetch_pdf appear to be related extraction operations that might benefit from a unified interface or clearer distinction. The schemas are valid JSON Schema but lack the depth needed for production LLM integration.
Fetches an image and returns it as image content you can see. You can also use it to view images linked in Markdown returned by fetch_url. Resolve site-relative links against the page URL first: e.g. after fetching https://xxx.yyy/foo/bar.html, view  by calling this tool with https://xxx.yyy/baz/img.png. Absolute http(s) URLs, or file:// URLs if the server allows local files.
Fetches a PDF document and extracts its text or renders pages as images.
Extracts content from websites, including dynamic pages, to clean Markdown.
No output schemas documented for any tool. LLMs cannot predict what fields will be returned, forcing them to guess structure and plan downstream operations blindly.
fetch_pdf parameter descriptions are incomplete. 'pages' parameter lacks explanation of format (e.g., are ranges like '3-5' actually strings or arrays? What happens if omitted?). Parameter description must answer: what format, what happens if missing, what is the valid range?
No error handling guidance. Tools lack descriptions of what can go wrong (network timeout, invalid URL, PDF parsing failure, non-existent image) and what the LLM should do next (retry? ask user? try alternative tool?). Recovery guidance is missing.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
Tool composition overlap. Three separate tools (fetch_url, fetch_image, fetch_pdf) handle related extraction tasks. LLMs must reason which to call when user says 'get content from https://example.com'. Unclear when to use fetch_url vs fetch_image vs fetch_pdf, fetch_url description mentions images but delegates to fetch_image; tool boundaries are fuzzy.
fetch_image description includes example usage instructions ('Resolve site-relative links...') which should be in parameter descriptions or implementation, not the tool description. Description bloat (130 chars) wastes tokens and buries the core action.