Skip to main content
Glama
killaragorn

cdp-browser-mcp

by killaragorn

cdp-browser-mcp

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"]
    }
  }
}

Related MCP server: Ghostlight

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

  1. 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).

  1. 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_start with dir after connect

  • Each request is saved as {dir}/000001_GET_host-path.json plus requests.jsonl

  • cdp_close when 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

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    A MCP server based on Patchright that enables browser automation with session inheritance from local Chrome/Edge/Chromium browsers, including cross-platform cookie decryption.
    414
    3
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that lets AI agents drive your real Chromium browser with your existing signed-in sessions, providing visible, local, and inspectable automation for tasks like navigation, clicking, typing, and form filling.
    25
    1
    Apache 2.0
  • A
    license
    -
    quality
    A
    maintenance
    MCP server that lets agents drive your real Chrome browser with existing logins and sessions via an outbound-only WebSocket extension. It exposes Playwright-compatible browser tools for navigation, clicking, typing, and snapshots.
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

  • A paid remote MCP for AI agent browser MCP session, built to return verdicts, receipts, usage logs,

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/killaragorn/cdp-browser-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server