Browser Harness MCP Server
August 31, 2026 · View on GitHub
The browser-harness-mcp command exposes browser_harness.helpers as MCP tools.
It reuses the existing helper layer — no second CDP implementation and no changes
inside src/browser_harness/.
Start
From any directory:
uvx --from 'browser-harness[mcp]' browser-harness-mcp
The server speaks MCP stdio and connects to the same local Chrome CDP endpoint
(9222/9223) used by browser-harness. The daemon auto-starts on the first tool
call.
Tools
The browser control helpers from browser_harness.helpers are exposed as MCP
tools with a browser_ prefix:
browser_new_tabbrowser_gotobrowser_page_infobrowser_clickbrowser_typebrowser_fillbrowser_pressbrowser_scrollbrowser_screenshotbrowser_list_tabsbrowser_current_tabbrowser_switch_tabbrowser_close_tabbrowser_ensure_real_tabbrowser_waitbrowser_wait_for_loadbrowser_wait_for_elementbrowser_jsbrowser_cdpbrowser_upload_filebrowser_http_getbrowser_start_recordingbrowser_stop_recording
Every tool returns JSON text. On error the response is {"error": "..."} and the
server process keeps running.
Example flow
browser_new_tab(url="https://example.com")browser_wait_for_load()browser_screenshot()→ returnspath,width,height,size_bytesbrowser_page_info()→ returnsurl,title, viewport/scroll/page size
Client configuration
Claude Code
claude mcp add browser-harness \
uvx --from 'browser-harness[mcp]' browser-harness-mcp
Devin
devin mcp add -s project browser-harness -- \
uvx --from 'browser-harness[mcp]' browser-harness-mcp
Cursor / OpenClaw / other MCP clients
{
"mcpServers": {
"browser-harness": {
"command": "uvx",
"args": [
"--from",
"browser-harness[mcp]",
"browser-harness-mcp"
]
}
}
}
MCP Inspector
npx @modelcontextprotocol/inspector \
uvx --from 'browser-harness[mcp]' browser-harness-mcp
From a repository checkout, uv run --extra mcp browser-harness-mcp runs the
same packaged entry point against the current source.