Playwright-powered MCP server that turns dynamic pages into Markdown. First tries to fetch native markdown directly from the target site and falls back to Playwright when the site only serves HTML.
Single tool with comprehensive schema and detailed parameter documentation. The tool definition is well-structured with clear descriptions for most parameters. However, the tool name deviates from standard verb_noun patterns and lacks explicit output schema documentation. Parameter descriptions are generally strong (72-200 chars each) and include constraints, defaults, and use cases. Error handling is not explicitly documented in the visible code.
Fetch a web URL and convert to Markdown. First attempts to negotiate native markdown from the server, falling back to Playwright browser rendering for dynamic content. Handles JavaScript-heavy sites, SPAs, lazy-loaded content, and automatically dismisses cookie banners and popups.
Tool name does not follow verb_noun convention; 'read_web_url_amazing' mixes action verb with adjective. Standard pattern would be 'read_url' or 'fetch_url'. LLMs infer tool purpose from name prefix, 'amazing' adds no semantic value and wastes name space.
Output schema is not documented in the visible code. Tool description mentions 'Markdown' output but does not specify return field names, structure, or error response format. LLMs cannot predict what to do with the result without seeing schema.
Error handling guidance is not visible in the tool definition or description. The tool accepts many optional parameters (wait_time, max_length, character_set) but does not document what happens when values are invalid, external services fail (Ollama), or URLs are unreachable.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 66 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Ollama integration parameters (use_ollama_summarization, ollama_host, ollama_model, summary_target_tokens) are optional and scattered among other parameters. No documentation of what happens if Ollama is unavailable, authentication fails, or the model does not exist. Fallback behavior is unclear.
Parameter relationships are undocumented. The 'wait_for_selector' parameter depends on 'wait_time', and summarization parameters are interdependent. If 'use_ollama_summarization' is true but 'ollama_model' is omitted, the behavior is unspecified.