A local MCP server providing web browsing, content extraction, and search capabilities with Playwright-based browser automation and Project Gutenberg integration
Server has 10 tools with complete input schemas and descriptions present for all tools and parameters. Naming follows verb_noun convention (fetch_url, search_web, browser_session_*). However, descriptions are generic and lack LLM-optimization guidance (e.g., 'Fetch and parse a URL' doesn't explain WHEN to use vs screenshot_url). Parameter descriptions are minimal (e.g., 'The URL to fetch' lacks format/constraint details). Output schemas are not documented, LLMs cannot infer what fields to expect from responses. Error handling is absent from tool definitions. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles. browser_session_* tools form a coherent chain but lack dependency hints in descriptions.
Close a browser session
Create a new browser session for interactive browsing
Extract text content from the current page in a browser session
Navigate to a URL in an existing browser session
Take a screenshot of the current page in a browser session
Fetch and parse a URL, returning the extracted text content
Retrieve the full text of a Project Gutenberg book by ID
Take a screenshot of a URL using headless browser
Output schemas not documented. LLMs cannot infer what fields fetch_url, search_web, or browser_session_get_content return, forcing them to guess downstream field names and risk broken tool chains.
Descriptions lack LLM-optimization guidance. 'Fetch and parse a URL' doesn't explain WHEN to use fetch_url vs screenshot_url, or what format the returned text is in. Descriptions should be 50-200 chars and answer: what, when, and what it returns.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). browser_session_close is clearly destructive; search_web and fetch_url are read-only. Annotations help agents reason about side effects and retry safety.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Search Project Gutenberg books by title, author, or full-text content
Search the web using DuckDuckGo
browser_session_* tools lack dependency hints. Descriptions don't state 'Call browser_session_create first to get a session_id' or 'session_id is required and obtained from browser_session_create'. This forces agents to discover the chain through trial and error.
Parameter descriptions are minimal and lack format/constraint details. 'The URL to fetch' doesn't specify format (http/https required?), timeout behavior, or max size. 'The browser session ID' doesn't explain format or where to obtain it.