MCP server that gives AI assistants access to a real Chrome browser — with your cookies, sessions, and fingerprint
Mixed quality across 15 tools. Strengths: most tools have descriptions (10/15 visible), clear naming conventions (verb_noun pattern), and documented parameters for key tools like fetch_page, fetch_readable, execute_javascript. Weaknesses: 5 tools (web_search, list_tabs, screenshot, multi_fetch, fetch_structured_data, interact, monitor_page) lack visible descriptions in source; no output schemas documented; missing parameter descriptions for several tools; no error handling guidance visible; no tool annotations (readOnlyHint/destructiveHint). Parameter quality varies: some tools well-constrained (timeout, max_length, tab_id), others under-specified (web_search, interact have no visible schema). No evidence of pagination support despite crawl tool potentially returning large result sets.
Check if the browser connection is active and return status info
Close a persistent browser tab by its tab_id. Use this to clean up tabs opened with open_tab.
Crawl a website starting from a URL, following links up to a specified depth. Returns a list of discovered pages with titles and optional content summaries. Respects same-domain and link filter constraints.
Execute arbitrary JavaScript in the context of a loaded web page. The script runs in the browser and must return a JSON-serializable value. Supports persistent sessions via tab_id — when using a tab_id, the url parameter is optional (executes on the current page).
Extract all links from a web page. Can filter by regex pattern. Supports persistent sessions via tab_id.
Load a URL in the browser and return the full page content as Markdown. Supports persistent sessions via tab_id.
7 tools lack visible descriptions: web_search, list_tabs, screenshot, multi_fetch, fetch_structured_data, interact, monitor_page. LLMs cannot determine when to select these tools without descriptions.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure. E.g., crawl() returns 'list of discovered pages' but field names, types, and pagination are undocumented.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | <=2025-11-25 | v2 |
Load a URL and extract the main article content (removes navigation, ads, sidebars). Falls back to full page content if extraction yields too little text. Supports persistent sessions via tab_id.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. LLMs cannot distinguish safe read-only tools from destructive ones (open_tab, close_tab, interact are WRITE but unmarked). Violates current MCP spec (2026-07-28).
crawl() tool lacks pagination support. No limit on result set size; returning 100+ pages could exhaust context window. Missing page/offset parameters and total_count in response.
No error handling guidance visible. Tools lack recovery hints (e.g., 'If timeout, retry with longer timeout' or 'If page not found, try search_links first'). Errors will not guide LLM recovery.