MCP server wrapper for the local agent-browser CLI with Codex bootstrap support.
Server has 23 tools with basic schemas and descriptions, but significant quality gaps. All tools have descriptions (10-50 chars, mostly terse), and input schemas are present with type definitions. However, descriptions are uniformly brief and lack actionable context for LLM selection. No output schemas documented. Parameter descriptions are minimal. Error handling is absent from visible code. Tool naming is inconsistent (verb_noun for some, but 'eval', 'snapshot', 'wait' lack clarity). No tool annotations (readOnlyHint, destructiveHint). Session parameter is overloaded across all tools, forcing agents to track session state manually. No pagination support despite tools returning lists (tab_list, network_requests, session_list). Critical tools like 'run_raw_command' expose arbitrary command execution with minimal validation.
Navigate back in browser history
Click an element on the page by selector
Get cookies from the current session
Execute JavaScript in the page context
Fill a form field with text
Navigate forward in browser history
Get HTML content from the page or a specific element
Get text content from the page or a specific element
No output schemas documented. Tools return results but LLMs cannot predict field structure, forcing trial-and-error parsing and wasting tokens.
Descriptions are uniformly terse (10-50 chars). Lack context for LLM selection, prerequisites, and when to use vs similar tools. E.g., 'Get text content from the page or a specific element' does not explain when to call get_text vs get_html vs snapshot.
Session parameter is overloaded across all 23 tools with a default value. Agents must manually track session state. No guidance on session lifecycle or when to create/close sessions. Violates single-responsibility principle.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Get the title of the current page
Get network requests from the current session
Open a URL in the browser
Reload the current page
Run a raw agent-browser command with arbitrary arguments
Take a screenshot of the current page
Close a session
Get the current session name
List all sessions
Take a snapshot of the current page state
Close a tab
List all open tabs in a session
Open a new tab
Type text into an element
Wait for a target element or condition
run_raw_command accepts arbitrary string array with minimal validation. No input sanitization visible. Exposes command injection risk if agent is compromised or prompt-injected. Description does not warn of security implications.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes without parsing descriptions. session_close and eval are destructive but unmarked.