Browser MCP server for OpenAB companion extension. Serves MCP tools over ACP tunnel for browser automation, DOM reading, and page interaction.
Katashiro provides 11 browser automation tools with clear naming (verb_noun pattern: snapshot, read_dom, click, navigate) and reasonable descriptions (avg ~120 chars). All tools have input schemas with type definitions. However, parameter descriptions are sparse or missing entirely, most params lack guidance on format, constraints, or when to use them. Output schemas are undocumented; the code shows snapshots return text with refs, but LLMs cannot infer the exact structure. Error handling is minimal: no recovery guidance, no categorization of retryable vs fatal errors. Security is reasonable (no secrets in params), but no permission gates or audit trail hints. Composition is sound, tools are single-purpose and chainable via refs, but the lack of parameter detail and output documentation limits LLM reasoning quality.
Click an element on the active tab by its ref. Requires act mode to be enabled. Returns a post-action snapshot.
Close a tab by its id. Requires act mode to be enabled.
Create a new tab. Requires act mode to be enabled. Returns metadata of the new tab.
Extract all visible text from the active tab, preserving structure. Returns plain text content of the page.
Navigate the active tab to a URL. Requires act mode to be enabled. Returns a post-action snapshot of the new page.
Read the raw DOM tree of the active tab as text, with element refs for interactive elements. Returns the full DOM structure.
Capture a screenshot of the active tab as a PNG image. Returns base64-encoded image data.
Output schemas undocumented. snapshot/read_dom/get_text return text with element refs, but LLMs cannot infer structure (ref format, truncation behavior, frame namespacing). Code shows refs are 'eN' or 'f<frameId>:eN', but this is buried in implementation comments, not in tool output documentation.
Parameter descriptions missing or minimal. 'rootSelector' has a description, but 'ref' (click), 'text' (type), 'url' (navigate), 'tabId' (set_active_tab, close_tab) lack guidance on format, constraints, or examples. LLMs cannot infer whether 'ref' is 'e42' or 'f1:e7' without explicit docs.
No error recovery guidance. Tools mention 'Requires act mode to be enabled' but do not explain what happens if act mode is off, how to enable it, or whether the error is retryable. No categorization of error types (user-fixable, retryable, fatal).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Activate a tab by its id. Requires act mode to be enabled. Returns the new active tab's metadata.
Capture the accessibility tree of the active tab, with stable element refs for click/type actions. Returns a text snapshot of the page structure with interactive elements labeled and ref'd.
List all open tabs in the current window. Returns tab metadata including id, title, url, and active status.
Type text into a focused input element on the active tab. Requires act mode to be enabled. Returns a post-action snapshot.
No confirmation or dry-run for destructive operations. close_tab and navigate are write operations that could lose work, but no confirmation step or undo mechanism is documented.
Tool descriptions lack context on when to use each tool. snapshot vs read_dom vs get_text are all content-extraction tools; descriptions do not explain the trade-offs (accessibility tree vs raw DOM vs plain text) or when to prefer one over another.