Description
After comprehensive testing of all 62 BrowserOS MCP tools (v0.0.82), I identified 6 tools with server-side implementation bugs that are not yet tracked as issues. These tools fail consistently with reproducible errors.
Affected Tools & Errors
1. create_window / create_hidden_window
Error: MCP error -32602: Structured content does not match the tool's output schema: data/window must NOT have additional properties
Root Cause: Server returns window data with extra fields not defined in the tool's output schema. The schema has additionalProperties: false but the server response includes fields like incognito, alwaysOnTop, or other Chrome window properties not declared in the schema.
Reproduction:
Call create_window() → Schema validation fails
Call create_hidden_window() → Same schema error
2. move_page / activate_window
Error: Internal error in move_page: CDP error: Browser window not found
Root Cause: The CDP window management implementation appears incomplete. The server cannot resolve window IDs returned by list_windows (which also has schema issues). Window handle mapping between CDP and MCP layer is broken.
Reproduction:
1. Call list_windows() → Returns windows with IDs
2. Call move_page(page=21, windowId=0) → "Browser window not found"
3. Call activate_window(windowId=0) → Same error
3. save_pdf
Error: MCP error -32001: Request timed out
Root Cause: PDF generation via CDP Page.printToPDF hangs indefinitely. Likely missing timeout handling or the CDP command isn't completing for certain page types.
Reproduction:
1. Navigate to any page (e.g., https://the-internet.herokuapp.com/javascript_alerts)
2. Call save_pdf(page=10, path="/tmp/test.pdf")
3. Request times out after 60s
4. get_dom
Error: Internal error in get_dom: CDP error: Could not find node with given id
Root Cause: DOM node resolution fails when using CSS selectors. The server's DOM.querySelector or DOM.querySelectorAll CDP calls aren't properly handling the node ID lifecycle.
Reproduction:
1. Navigate to any page
2. Call get_dom(page=10, selector="h1")
3. Returns "Could not find node with given id"
Environment
- BrowserOS Version: 146.0.7821.31 (macOS)
- MCP Server Version: v0.0.82
- MCP URL: http://127.0.0.1:9002/mcp
- Client: opencode v1.14.33
- OS: macOS (darwin)
Testing Methodology
All 62 tools were tested systematically:
- ✅ 57 tools working correctly
- ❌ 6 tools failing with server-side errors
- ⚠️
drag tool works with coordinates (drag_at) but not element-to-element
Impact
These bugs block common automation workflows:
- Multi-window browser automation
- PDF export/save functionality
- DOM inspection/extraction with selectors
- Window management for complex tab workflows
Related
Suggested Fixes
- Schema errors: Update output schemas to match actual server responses, or strip extra fields before returning
- Window CDP errors: Fix window ID mapping between CDP
Browser.getWindowForTarget and MCP layer
- PDF timeout: Add proper timeout handling and error recovery for
Page.printToPDF
- DOM errors: Fix
DOM.querySelector implementation to properly resolve node IDs
Happy to provide additional test cases or help verify fixes.
Description
After comprehensive testing of all 62 BrowserOS MCP tools (v0.0.82), I identified 6 tools with server-side implementation bugs that are not yet tracked as issues. These tools fail consistently with reproducible errors.
Affected Tools & Errors
1.
create_window/create_hidden_windowError:
MCP error -32602: Structured content does not match the tool's output schema: data/window must NOT have additional propertiesRoot Cause: Server returns window data with extra fields not defined in the tool's output schema. The schema has
additionalProperties: falsebut the server response includes fields likeincognito,alwaysOnTop, or other Chrome window properties not declared in the schema.Reproduction:
2.
move_page/activate_windowError:
Internal error in move_page: CDP error: Browser window not foundRoot Cause: The CDP window management implementation appears incomplete. The server cannot resolve window IDs returned by
list_windows(which also has schema issues). Window handle mapping between CDP and MCP layer is broken.Reproduction:
3.
save_pdfError:
MCP error -32001: Request timed outRoot Cause: PDF generation via CDP
Page.printToPDFhangs indefinitely. Likely missing timeout handling or the CDP command isn't completing for certain page types.Reproduction:
4.
get_domError:
Internal error in get_dom: CDP error: Could not find node with given idRoot Cause: DOM node resolution fails when using CSS selectors. The server's
DOM.querySelectororDOM.querySelectorAllCDP calls aren't properly handling the node ID lifecycle.Reproduction:
Environment
Testing Methodology
All 62 tools were tested systematically:
dragtool works with coordinates (drag_at) but not element-to-elementImpact
These bugs block common automation workflows:
Related
fix(server): MCP tool fidelity) is open and addressesdragtool issuesSuggested Fixes
Browser.getWindowForTargetand MCP layerPage.printToPDFDOM.querySelectorimplementation to properly resolve node IDsHappy to provide additional test cases or help verify fixes.