Cdp Browser
FreeNot checkedMCP server that attaches to already-running Chromium browsers via CDP, enabling agents to control multiple browser sessions for navigation, input, network captu
About
MCP server that attaches to already-running Chromium browsers via CDP, enabling agents to control multiple browser sessions for navigation, input, network capture, and automation while avoiding anti-bot detection with Patchright.
README
MCP server that attaches to an already-running Chromium browser over the Chrome DevTools Protocol (CDP). It does not launch a browser. One process can hold many sessions, so an agent can drive several profiles at once.
Works with:
- Chrome / Edge started with
--remote-debugging-port=9222 - Fingerprint browsers (AdsPower, BitBrowser, GoLogin, Multilogin, …)
- Cloud or local CDP endpoints (
http://127.0.0.1:9222,ws://…)
Uses Patchright (connectOverCDP) so the attached context is less likely to be patched by anti-bot checks than stock Playwright.
Install from GitHub (no npm publish). Requires Node.js 18+. No Chromium download is needed.
npx -y github:killaragorn/cdp-browser-mcp
Cursor
Add to ~/.cursor/mcp.json (or project .cursor/mcp.json):
{
"mcpServers": {
"cdp-browser-mcp": {
"command": "npx",
"args": ["-y", "github:killaragorn/cdp-browser-mcp"]
}
}
}
Claude Desktop
Add to claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cdp-browser-mcp": {
"command": "npx",
"args": ["-y", "github:killaragorn/cdp-browser-mcp"]
}
}
}
Claude Code
claude mcp add --scope user cdp-browser-mcp -- npx -y github:killaragorn/cdp-browser-mcp
Or commit .mcp.json in a project so teammates get the same server:
{
"mcpServers": {
"cdp-browser-mcp": {
"command": "npx",
"args": ["-y", "github:killaragorn/cdp-browser-mcp"]
}
}
}
Codex
codex mcp add cdp-browser-mcp -- npx -y github:killaragorn/cdp-browser-mcp
Or add to ~/.codex/config.toml:
[mcp_servers.cdp-browser-mcp]
command = "npx"
args = ["-y", "github:killaragorn/cdp-browser-mcp"]
Local clone
git clone https://github.com/killaragorn/cdp-browser-mcp.git
cd cdp-browser-mcp
npm install
Then point the client at node /absolute/path/to/cdp-browser-mcp/index.mjs.
Typical flow
- Start a browser with CDP, for example:
chrome --remote-debugging-port=9222
Or copy the debug URL from AdsPower / BitBrowser (often http://127.0.0.1:xxxx).
- Ask the agent to connect, then operate the page:
cdp_connect→{ "cdp_url": "http://127.0.0.1:9222", "capture_dir": "D:/captures/run1" }- or
cdp_network_startwithdirafter connect - Each request is saved as
{dir}/000001_GET_host-path.jsonplusrequests.jsonl cdp_closewhen finished
Tools
Connect first with cdp_connect. Network capture stays off unless you pass capture_dir or call cdp_network_start.
Session / navigation
| Tool | Purpose |
|---|---|
cdp_connect |
Attach to a CDP URL; optional capture_dir starts saving requests to that folder |
cdp_navigate |
Open a URL |
cdp_reload |
Reload |
cdp_go_back |
History back |
cdp_page_info |
URL, title, frames |
cdp_content |
Page HTML or a selector's innerHTML |
cdp_screenshot |
PNG screenshot |
cdp_list_sessions |
List active sessions |
cdp_close |
Disconnect one session |
Input
| Tool | Purpose |
|---|---|
cdp_click |
Click selector or (x, y); button, click_count, modifiers |
cdp_hover |
Hover a selector |
cdp_mouse_move |
Move mouse to coordinates |
cdp_type |
Input text: mode=fill / type (key events) / insert (paste-like); optional press_enter |
cdp_press |
Key or shortcut: Enter, Tab, Control+A |
cdp_select |
<select> by value / label / index |
cdp_check |
Check or uncheck |
cdp_upload |
File input (files are local paths on the MCP host) |
cdp_scroll |
Into view, mouse wheel, or scrollTo |
cdp_evaluate |
Run JavaScript |
cdp_wait |
Wait for a selector or a timeout |
Network
Capture is off by default. Pass capture_dir on connect, or call cdp_network_start. Every matching request is written to disk with no count limit. xhr/fetch/document/JSON response bodies are stored in full.
{capture_dir}/
capture.json
requests.jsonl
000001_GET_example.com-.json
000002_POST_api.example.com-login.json
| Tool | Purpose |
|---|---|
cdp_network_start |
Start capture into dir; optional url_contains / method / resource_type |
cdp_network_stop |
Stop capture; files on disk are kept |
cdp_network_log |
List saved files (default last 50 summaries) |
cdp_wait_response |
Wait for a response whose URL contains a string |
Cookies
| Tool | Purpose |
|---|---|
cdp_get_cookies |
Read cookies |
cdp_set_cookies |
Write cookies |
Why this exists
@playwright/mcp launches (or binds) a single browser from CLI flags. This server is the opposite shape:
- Connect is a tool, not a startup flag — the agent picks the CDP URL at runtime
- Many sessions in one MCP process (one AdsPower profile per
session_id) - Patchright instead of Playwright, aimed at already-fingerprinted browsers
License
MIT
Installing Cdp Browser
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/killaragorn/cdp-browser-mcpFAQ
Is Cdp Browser MCP free?
Yes, Cdp Browser MCP is free — one-click install via Unyly at no cost.
Does Cdp Browser need an API key?
No, Cdp Browser runs without API keys or environment variables.
Is Cdp Browser hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Cdp Browser in Claude Desktop, Claude Code or Cursor?
Open Cdp Browser on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Playwright
Browser automation, scraping, screenshots
by MicrosoftPuppeteer
Browser automation and web scraping.
by modelcontextprotocolopentabs-dev/opentabs
Plugin-based MCP server + Chrome extension that gives AI agents access to web applications through the user's authenticated browser session. 100+ plugins with a
by opentabs-devrobhunter/agentdeals
1,500+ developer infrastructure deals, free tiers, and startup programs across 54 categories. Search deals, compare vendors, plan stacks, and track pricing chan
by robhunterhlydecker/ucsc-genome-mcp
MCP server to interact with the UCSC Genome Browser API, letting you find genomes, chromosomes, and more.
by hlydecker34892002/bilibili-mcp-js
A MCP server that supports searching for Bilibili content. Provides LangChain integration examples and test scripts.
by 34892002achiya-automation/safari-mcp
Native Safari browser automation for AI agents with 80+ tools. No Chrome dependency, optimized for Apple Silicon with 60% less CPU overhead.
by achiya-automationagent-infra/mcp-server-browser
Browser automation capabilities using Puppeteer, both support local and remote browser connection.
by bytedanceaparajithn/agent-scraper-mcp
Web scraping MCP server for AI agents. 6 tools: clean content extraction, structured scraping with CSS selectors, full-page screenshots via Playwright, link ext
by aparajithnapireno/DOMShell
Browse the web using filesystem commands (ls, cd, grep, click). 38 MCP tools map Chrome's Accessibility Tree to a virtual filesystem via a Chrome Extension.
by apirenoCompare Cdp Browser with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All browse MCPs
