Chrome MCP Server
Control a Chrome browser instance using the Chrome DevTools Protocol (CDP).
Chrome MCP Server
A Model Context Protocol (MCP) server that provides fine-grained control over a Chrome browser instance through the Chrome DevTools Protocol (CDP).
Prerequisites
- Bun (recommended) or Node.js (v14 or higher)
- Chrome browser with remote debugging enabled
Setup
Installing Bun
- Install Bun (if not already installed):
# macOS, Linux, or WSL
curl -fsSL https://bun.sh/install | bash
# Windows (using PowerShell)
powershell -c "irm bun.sh/install.ps1 | iex"
# Alternatively, using npm
npm install -g bun
-
Start Chrome with remote debugging enabled:
# macOS /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 # Windows start chrome --remote-debugging-port=9222 # Linux google-chrome --remote-debugging-port=9222 -
Install dependencies:
bun install
- Start the server:
bun start
For development with hot reloading:
bun dev
The server will start on port 3000 by default. You can change this by setting the PORT environment variable.
Configuring Roo Code to use this MCP server
To use this Chrome MCP server with Roo Code:
-
Open Roo Code settings
-
Navigate to the MCP settings configuration file at:
- macOS:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json - Windows:
%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json - Linux:
~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
- macOS:
-
Add the following configuration to the
mcpServersobject:
{
"mcpServers": {
"chrome-control": {
"url": "http://localhost:3000/sse",
"disabled": false,
"alwaysAllow": []
}
}
}
-
Save the file and restart Roo Code to apply the changes.
-
You can now use the Chrome MCP tools in Roo Code to control the browser.
Available Tools
The server provides the following tools for browser control:
navigate
Navigate to a specific URL.
Parameters:
url(string): The URL to navigate to
click
Click at specific coordinates.
Parameters:
x(number): X coordinatey(number): Y coordinate
type
Type text at the current focus.
Parameters:
text(string): Text to type
clickElement
Click on an element by its index in the page info.
Parameters:
selector(string): Element index (e.g., "0" for the first element)
getText
Get text content of an element using a CSS selector.
Parameters:
selector(string): CSS selector to find the element
getPageInfo
Get semantic information about the page including interactive elements and text nodes.
getPageState
Get current page state including URL, title, scroll position, and viewport size.
Usage
The server implements the Model Context Protocol with SSE transport. Connect to the server at:
- SSE endpoint:
http://localhost:3000/sse - Messages endpoint:
http://localhost:3000/message?sessionId=...
When using with Roo Code, the configuration in the MCP settings file will handle the connection automatically.
Development
To run the server in development mode with hot reloading:
bun dev
This uses Bun's built-in watch mode to automatically restart the server when files change.
License
MIT
Related Servers
Weibo
Scrape Weibo user information, feeds, and perform searches.
Firecrawl
Scrape, crawl, and extract data from any website using the Firecrawl API.
Nefino
Access the Nefino renewable energy news API.
Web Fetch
Fetches and transforms web content, including JavaScript-rendered pages and media files, into various formats.
rssmcp
Fetches RSS feeds and returns entries as formatted text, with support for OPML configuration.
Bilibili Comments
Fetch Bilibili video comments in bulk, including nested replies. Requires a Bilibili cookie for authentication.
MCP RSS Crawler
Fetches and caches RSS feeds using a SQLite database for use with LLMs via the MCP protocol.
Website to Markdown MCP Server
Fetches and converts website content to Markdown with AI-powered cleanup, OpenAPI support, and stealth browsing.
Rapidproxy
Over 70M+ premium IPs via Rapidproxy - Enjoy easy data extraction, avoiding CAPTCHAs, IP blocks with 220+ locations targeting, non-expiring traffic.
Skrapr
An intelligent web scraping tool using AI and browser automation to extract structured data from websites.