MCP server that exposes browser registry and routed browser commands as MCP tools, enabling control of browser extension instances
18 tools with consistent verb_noun naming (browser_list, browser_get, browser_click). All tools have descriptions (10-80 chars, mostly adequate). Input schemas present for all tools with typed parameters. However, descriptions are terse (avg ~40 chars vs baseline 194 chars), lack WHEN/WHY context, and omit actionable error guidance. Parameter descriptions are minimal (avg ~30 chars vs baseline 72 chars). No output schemas documented. Missing idempotency hints for write operations. No pagination guidance despite tools accepting optional limits. Error handling not visible in tool definitions.
Execute multiple browser commands in a batch
Click an element on the page
Get details for a connected browser instance
Get capabilities for a browser instance
Get a single element using a locator
Get HTML content of a page
Get HTML content of elements matching a CSS selector
Get the default browser for the current MCP session
Descriptions are terse (avg 40 chars vs baseline 194 chars) and lack WHEN/WHY context. E.g., 'Get HTML content of a page' does not explain when to use browser_get_html vs browser_snapshot vs browser_query, or what the output structure is.
Parameter descriptions are minimal (avg 30 chars). E.g., 'Tab ID (optional)' does not explain what a Tab ID is, how to obtain it, or what happens if omitted. LLMs cannot infer parameter semantics from names alone.
No output schemas documented. Tools return structured data but LLMs have no way to know what fields to expect. E.g., browser_get_tabs returns tabs but schema does not specify tab object structure (id, url, title, etc.).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | <=2025-11-25 | v2 |
Get tabs for a browser instance
Get text content of a page
Input text into an element on the page
List connected browser extension instances
Query page elements using a locator
Rename a browser instance
Select the default browser for the current MCP session
Select the default tab for a browser in the current MCP session
Send a raw command to the browser extension
Get a snapshot of the page DOM tree
Write operations (browser_click, browser_input, browser_send_command, browser_batch) lack idempotency hints and confirmation patterns. No guidance on retry safety or side effects. Agents cannot determine if retrying is safe.
Tools with optional parameters (browserId, tabId, frameId) lack clear defaults or fallback behavior. E.g., browser_get_html with no browserId, does it use the selected browser? This forces LLMs to guess or make extra calls.