MCP server implementation in Go that provides tools to control and interact with Chrome browser tabs, execute scripts, inject CSS, manage cookies, capture screenshots, and interact with Chrome extensions via WebSocket
Server defines 9 tools with explicit JSON schemas and basic descriptions. However, most descriptions are under 50 characters (well below the 194-char baseline for A+ tools), lack context on WHEN to use each tool, and omit guidance on prerequisites or side effects. Parameter descriptions are sparse or missing entirely. No output schemas documented. Error handling is minimal, no recovery guidance or actionable error messages visible in code. Tool names follow verb_noun convention (positive), but descriptions fail to explain consequences of write operations (execute_script, inject_css, send_message, create_tab). No tool annotations (readOnlyHint/destructiveHint) despite clear risk stratification. Schemas are present but lack depth, many parameters have no description field.
Take a screenshot of the current tab
Create a new tab with specified URL and options
Execute DOM operations in the context of a web page
Get information about the currently active tab
Get information about all open tabs
Get cookies for a specific domain
Get information about installed extensions
Descriptions are too short (10 - 35 chars) and lack context. Baseline for A+ tools is 194 chars. Descriptions do not explain WHEN to use each tool, what it returns, or consequences of write operations.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields without knowing what each tool returns. Baseline: 100% of A+ tools document return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Inject CSS into a web page
Send a message to an extension's background script
Write operations (execute_script, inject_css, send_message, create_tab) lack destructive/write warnings in descriptions. LLMs cannot distinguish safe reads from irreversible mutations without explicit guidance.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) in schemas. Current MCP spec (2026-07-28) supports these to help clients understand tool safety profile.
Parameter descriptions are missing or minimal. Baseline: 100% of A+ tools have descriptions for every parameter. E.g., 'operation' in execute_script lacks guidance on which action types require which sub-fields.