1. Conduid
  2. Developer Tools
  3. Chromium Cdp
MCP server · Developer Tools

Chromium Cdp

MCP server for Chromium/Chrome automation with automatic reconnection and cross-platform support

Unclaimed MIT last commit 11 months ago devtools
51Fair

Scored 5 months ago · breakdown

About Chromium Cdp

Chromium Cdp is an MCP server published by duquesnay in the Developer Tools category: mCP server for Chromium/Chrome automation with automatic reconnection and cross-platform support.

The repository has 1 stars and 0 forks, with the last commit 11 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/duquesnay/mcp-chromium-cdp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (15)

chrome_clickClick an element by CSS selector

Parameters not published.

chrome_close_tabClose the current tab

Parameters not published.

chrome_execute_scriptExecute JavaScript in the page

Parameters not published.

chrome_get_contentGet the page HTML content

Parameters not published.

chrome_get_current_urlGet the current page URL

Parameters not published.

chrome_get_titleGet the page title

Parameters not published.

chrome_get_visible_textGet visible text from the page

Parameters not published.

chrome_go_backNavigate back in history

Parameters not published.

chrome_go_forwardNavigate forward in history

Parameters not published.

chrome_list_tabsList all open tabs

Parameters not published.

Show all 15 tools
chrome_navigateNavigate to a specific URL

Parameters not published.

chrome_open_new_tabOpen a new tab

Parameters not published.

chrome_reloadReload the current page

Parameters not published.

chrome_screenshotTake a screenshot (base64)

Parameters not published.

chrome_typeType text into an input field

Parameters not published.

Ask AI

✦

Ask AI about Chromium Cdp

Powered by Claude · Grounded in docs

I know everything about Chromium Cdp. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 6 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

mcp-chromium-cdp

Model Context Protocol (MCP) server for controlling Chromium/Chrome via Chrome DevTools Protocol. Cross-platform with automatic reconnection support.

✨ Key Features

  • ✅ Cross-platform: Works on macOS, Linux, and Windows
  • ✅ Chromium-first: Detects and launches Chromium, falls back to Chrome
  • ✅ Auto-reconnection: Automatically reconnects if browser crashes or restarts (up to 5 retries)
  • ✅ Auto-launch: Launches browser automatically if not running
  • ✅ Custom profiles: Support for custom browser profiles via environment variables
  • ✅ Stdio transport: Native integration with Claude Desktop and Claude Code

Installation

Global Installation

npm install -g mcp-chromium-cdp

Local Installation

npm install mcp-chromium-cdp

From Source

git clone https://github.com/duquesnay/mcp-chromium-cdp.git
cd mcp-chromium-cdp
npm install
npm run build

Configuration

Claude Desktop (macOS)

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "chromium": {
      "command": "npx",
      "args": ["-y", "mcp-chromium-cdp"]
    }
  }
}

Claude Code

claude mcp add chromium -- npx -y mcp-chromium-cdp

Or with local build:

claude mcp add chromium -- node /path/to/mcp-chromium-cdp/build/index.js

Environment Variables

CHROMIUM_PATH

Override Chromium binary path:

CHROMIUM_PATH=/usr/bin/chromium-browser mcp-chromium-cdp

CHROMIUM_USER_DATA_DIR

Use custom browser profile:

CHROMIUM_USER_DATA_DIR=~/.config/chromium-mcp mcp-chromium-cdp

Available Tools

Tool Description
chrome_navigate Navigate to a specific URL
chrome_get_current_url Get the current page URL
chrome_get_title Get the page title
chrome_get_content Get the page HTML content
chrome_get_visible_text Get visible text from the page
chrome_execute_script Execute JavaScript in the page
chrome_click Click an element by CSS selector
chrome_type Type text into an input field
chrome_screenshot Take a screenshot (base64)
chrome_open_new_tab Open a new tab
chrome_close_tab Close the current tab
chrome_list_tabs List all open tabs
chrome_reload Reload the current page
chrome_go_back Navigate back in history
chrome_go_forward Navigate forward in history

Usage Examples

With Claude

Using chromium tools, navigate to https://example.com and get the page title

Programmatic Usage

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';

const transport = new StdioClientTransport({
  command: 'npx',
  args: ['-y', 'mcp-chromium-cdp']
});

const client = new Client({
  name: 'my-client',
  version: '1.0.0'
}, {
  capabilities: {}
});

await client.connect(transport);

// Navigate to URL
await client.callTool({
  name: 'chrome_navigate',
  arguments: { url: 'https://example.com' }
});

// Get page title
const result = await client.callTool({
  name: 'chrome_get_title',
  arguments: {}
});

console.log(result.content[0].text);

Auto-Reconnection

If Chromium crashes or is restarted, the server will automatically attempt to reconnect:

  • Max retries: 5 attempts
  • Retry delay: 2 seconds between attempts
  • Logs: Reconnection attempts logged to stderr

Example log output:

[Connection] Chromium disconnected
[Reconnect] Attempting to reconnect to Chromium...
[Reconnect] Successfully reconnected to Chromium

Chromium Detection

The server automatically detects Chromium in standard locations:

macOS:

  • /Applications/Chromium.app/Contents/MacOS/Chromium
  • ~/Applications/Chromium.app/Contents/MacOS/Chromium

Linux:

  • /usr/bin/chromium
  • /usr/bin/chromium-browser
  • /snap/bin/chromium

Windows:

  • %LOCALAPPDATA%\Chromium\Application\chrome.exe
  • %PROGRAMFILES%\Chromium\Application\chrome.exe
  • %PROGRAMFILES(X86)%\Chromium\Application\chrome.exe

If Chromium is not found, the server falls back to Chrome via chrome-launcher.

Development

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run watch

Architecture

This project consists of two main components:

  1. ChromeController (src/chrome-controller.ts):

    • Manages Chrome DevTools Protocol (CDP) connections
    • Implements browser automation methods
    • Handles auto-launch and reconnection logic
    • Cross-platform Chromium detection
  2. MCP Server (src/index.ts):

    • Implements the Model Context Protocol server
    • Exposes Chrome control methods as MCP tools
    • Handles communication via stdio

Troubleshooting

Chromium/Chrome Not Found

If the server can't find Chromium:

  1. Install Chromium from chromium.org
  2. Or specify path manually:
    CHROMIUM_PATH=/path/to/chromium mcp-chromium-cdp
    

Connection Issues

If the server can't connect:

  1. Check if another process is using port 9222:

    lsof -i :9222
    
  2. The server will auto-launch Chromium if not running

  3. Check logs for reconnection attempts

MCP Server Not Showing in Claude

  1. Verify configuration in Claude Desktop/Code
  2. Check that build/index.js exists
  3. Look at Claude logs for errors

Differences from chrome-mcp

This project is based on the original chrome-mcp package by @moe03 with the following enhancements:

  • ✅ Chromium-first detection (instead of Chrome-only)
  • ✅ Automatic reconnection on disconnection
  • ✅ Cross-platform Chromium path detection
  • ✅ Environment variable configuration
  • ✅ TypeScript source code included
  • ✅ Improved error handling and logging

Credits

Original code by @moe03 (chrome-mcp package).

Enhanced with auto-reconnection and cross-platform support by @duquesnay.

Built using:

License

MIT

Contributing

Contributions welcome! Please open an issue or PR on GitHub.

Support

README fetched from the repository 6 days ago. The original is authoritative.

Questions

About Chromium Cdp

How do I install Chromium Cdp?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Chromium Cdp safe to use with an AI agent?

Its trust score is 51 out of 100 (fair). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Chromium Cdp still maintained?

The last commit was 11 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.