Browser MCP server that learns — real Chrome profiles, site intelligence, PII anonymization, persistent sessions, encrypted state
Pagerunner demonstrates solid tool design with comprehensive parameter schemas and clear naming conventions. All 12 tools have descriptions and properly typed input schemas. However, output schemas are not documented, error handling lacks recovery guidance, and several parameter descriptions are generic or missing context. The evaluate tool's security implications are acknowledged but not mitigated. Tool composition is strong (single responsibility, good chaining via session_id/target_id), but descriptions could be more LLM-optimized per the 50-200 char baseline.
Attach to an already-running Chrome instance started with --remote-debugging-port. Returns a session_id that can be used with all other tools. Use close_session to detach without killing Chrome.
Kill a Chrome session
Close a specific browser tab. Returns an error if this is the last tab in the session (use close_session instead).
Execute JavaScript in a tab and return the result. Use for DOM queries, clicking elements, filling forms, or any page interaction. Note: JavaScript runs in the page context and can make network requests (fetch, XHR) to any destination, bypassing server-level URL access controls.
Get text content of a tab
List configured Chrome profiles
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields (session_id, target_id, etc.) without knowing response structure. Baseline: 100% of A+ tools document return types.
evaluate tool description acknowledges JavaScript can bypass URL access controls but provides no mitigation guidance. Security implications are stated but not addressed with error handling or recovery steps.
Error handling lacks recovery guidance. Tools return errors but do not tell LLMs what to do next (retry, lookup alternative, ask user). Baseline: error responses must include actionable next steps.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | <=2025-11-25 | v2 |
List active Chrome sessions
List open tabs in a Chrome session
Navigate a tab to a URL
Open a new tab in a Chrome session. Returns target_id for the new tab.
Launch Chrome for a named profile. Returns session_id.
Capture a tab as base64 PNG screenshot
Parameter descriptions are generic or minimal. 'Tab target_id from list_tabs' is clear, but many descriptions lack context on format, constraints, or when to use. Baseline: 94% of A+ tools have detailed param annotations (avg 72 chars).
open_session has 10 optional parameters with complex interdependencies (anonymization_profile vs anonymization_entities/mode, allowed_tools vs blocked_tools). Dependencies are not documented in parameter descriptions, risking misuse.