MCP server that bridges Claude Code to the Chrome extension via Unix socket, enabling local-only browser control that bypasses Anthropic's WSS bridge
11 tools with complete input schemas and descriptions. Naming follows verb_noun pattern (browser_*). Descriptions are adequate (50-150 chars typical) but lack actionable context for LLM selection. Parameters are well-typed with enums where appropriate (button, clicks, direction, filter). Missing: output schemas, error recovery guidance, and parameter interdependency documentation. browser_click has complex optional parameters (ref/selector/x+y) that lack mutual-exclusivity guidance. No tool documents what it returns or when to use it vs alternatives.
Click an element in the browser page. Provide a 'ref' from browser_snapshot, a CSS 'selector', or explicit 'x'/'y' pixel coordinates. Supports right/double/triple-click and modifier keys.
Drag from one point to another (left-button down, move, up). Useful for sliders, drag-and-drop, and selection.
Move the mouse over an element without clicking. Reveals tooltips, dropdown menus, and other hover-triggered UI.
Navigate the browser to a URL
Press a key or keyboard shortcut. Provide space-separated keys (e.g. 'Backspace Backspace Delete') or '+'-joined chords (e.g. 'ctrl+a', 'cmd+shift+t'). Use 'ctrl' on Linux/Windows, 'cmd' on Mac.
Scroll the browser page up or down
browser_tab_switch lacks input schema documentation. Code shows tool exists but no inputSchema visible in source. Cannot verify parameter structure (tabId type, required status, description).
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does browser_snapshot return? What fields? What structure?). Violates pattern:tool and mxe:response-field-naming.
browser_click has three mutually exclusive input modes (ref, selector, x+y coordinates) but descriptions do not state this. LLMs may pass multiple simultaneously, causing ambiguous behavior.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | <=2025-11-25 | v2 |
Take an accessibility snapshot of the current page, returning a structured representation of the page content
List all open browser tabs
Direct subsequent browser_* tool calls at the given tabId (updates the browser's active tab)
Type text into a focused element or a specified element in the browser
Pause for a number of seconds (typically for the page to settle, an animation to play, or a network request to finish).
Descriptions lack actionable context. 'Navigate the browser to a URL' does not explain when to use this vs browser_click or browser_type. No guidance on prerequisites, error cases, or recovery paths.
No error handling guidance. Tools do not document what errors are retryable, what user-fixable errors look like, or what recovery steps to take. Violates pattern:recovery-guide.