The Chrome Debug MCP Server provides comprehensive control and automation for Chrome browser instances with these capabilities:
Browser Management: Launch Chrome with custom settings, user profiles, and extension support while controlling the "Automation Controlled" banner
Navigation & Page Control: Navigate to URLs, manage page loading states, and customize viewport size for different devices
Element Interaction: Click, type, hover, select dropdown options, wait for elements, and extract text/attributes
Advanced Features: Take screenshots, evaluate JavaScript in page context, capture console logs, and manage browser tabs
Userscript Support: Inject userscripts with Greasemonkey API compatibility (GM_addStyle, GM_getValue/setValue, GM_notification, etc.)
Network Control: Intercept, block, modify, and log network requests
Debugging: Support remote debugging via Chrome DevTools Protocol with detailed logging and error handling
Uses Puppeteer for Chrome automation, allowing page interaction, tab management, and browser control
Chrome Debug MCP Playwright
A Model Context Protocol (MCP) implementation for browser automation using Playwright, with full Greasemonkey API support.
Features
Core Browser Features
Browser launch and management
Multi-tab support with create/switch/close capabilities
Page navigation and interaction
Screenshot capture
Greasemonkey API Support
GM_addStyle for CSS injection
GM_getValue/GM_setValue for data storage
GM_deleteValue for storage cleanup
GM_notification for desktop notifications
GM_setClipboard for clipboard operations
GM_xmlhttpRequest for cross-origin requests
Resource Management
Network request interception
Request blocking, modification, and logging
Resource type filtering
Debug Features
Detailed logging system
Log file organization
Clean interface output
Installation
Quick Start
Documentation
Commands - Detailed command documentation with examples
Full command list with usage examples available in COMMANDS.md
Core Features
Browser Management
Greasemonkey API
Resource Interception
Implementation Details
Logging System
All debug output redirected to log files
Timestamped entries
Organized in logs directory
Clean interface output
Error Handling
Detailed error logging
Proper cleanup on errors
Resource management
Dependencies
Playwright: Browser automation
@modelcontextprotocol/sdk: MCP implementation
Development
Prerequisites
Node.js 16 or higher
npm 7 or higher
Setup
License
MIT License - See LICENSE file for details.
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Acknowledgments
Based on the original chrome-debug-mcp by Robert Headley.
=======
parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload)
Chrome Debug MCP Server
A Model Context Protocol (MCP) server for controlling Chrome with debugging capabilities, userscript injection, and extension support.
<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
=======
parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload)
<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload)
Features
Chrome Control
Launch Chrome with custom configurations
Support for custom Chrome executable paths
User profile management (default or custom user data directory)
Extension support and management
Disable Chrome's "Automation Controlled" banner
<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
=======
parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload)
Page Automation
Click, type, and interact with page elements
Handle dropdowns and form inputs
Hover and wait for elements
Take screenshots of full page or elements
Navigate between pages
Set viewport size and device emulation
Extract text and attributes from elements
Tab Management
List all open tabs with their IDs and URLs
Open new tabs with specified URLs
Close tabs by ID
Switch between tabs
Track and manage multiple tab states
<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload)
Debugging Capabilities
Remote debugging via Chrome DevTools Protocol (CDP)
Console log capture and monitoring
JavaScript evaluation in page context
Real-time console output streaming
Userscript Support
Inject userscripts into web pages
Greasemonkey-style API support:
GM_setValue
/GM_getValue
for persistent storageGM_addStyle
for CSS injectionGM_xmlhttpRequest
for cross-origin requestsGM_openInTab
for new tab creationGM_registerMenuCommand
for menu commands
Extension Integration
Load unpacked extensions
Maintain extension states and configurations
Support for default Chrome profile extensions
Selective extension enabling/disabling
Installation
Prerequisites
Installing Roo Code Extension
Open Visual Studio Code
Go to Extensions (Ctrl+Shift+X)
Search for "Roo Code"
Click Install
Setting up Chrome Debug MCP Server
Clone this repository:
git clone https://github.com/yourusername/chrome-debug-mcp.git cd chrome-debug-mcpInstall dependencies:
npm installBuild the project:
npm run buildConfigure in Roo Code: Add to
cline_mcp_settings.json
:{ "mcpServers": { "chrome-debug": { "command": "node", "args": ["path/to/chrome-debug-mcp/build/index.js"], "disabled": false, "alwaysAllow": [] } } }
Usage
<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
For a complete reference of all available commands, tools, and functions, see COMMANDS.md.
parent of 64acbb3 (Add files via upload) ======= For a complete reference of all available commands, tools, and functions, see COMMANDS.md.
parent of 64acbb3 (Add files via upload) ======= For a complete reference of all available commands, tools, and functions, see COMMANDS.md.
parent of 64acbb3 (Add files via upload) ======= For a complete reference of all available commands, tools, and functions, see COMMANDS.md.
parent of 64acbb3 (Add files via upload) ======= For a complete reference of all available commands, tools, and functions, see COMMANDS.md.
parent of 64acbb3 (Add files via upload) ======= For a complete reference of all available commands, tools, and functions, see COMMANDS.md.
parent of 64acbb3 (Add files via upload) ======= For a complete reference of all available commands, tools, and functions, see COMMANDS.md.
parent of 64acbb3 (Add files via upload)
Basic Chrome Launch
Launch with Custom Profile
Inject Userscript
Evaluate JavaScript
Get Console Logs
<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
=======
parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload)
Page Interaction Examples
Click an Element
Type into Input
Select from Dropdown
Wait for Element
Take Screenshot
Set Viewport Size
Tab Management Examples
List All Tabs
Open New Tab
Switch to Tab
Close Tab
<<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload) ======= parent of 64acbb3 (Add files via upload)
Dependencies
This project uses the following open-source packages:
Puppeteer - Chrome automation library
chrome-remote-interface - Chrome DevTools Protocol client
@modelcontextprotocol/sdk - MCP SDK for server implementation
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
See our Contributing Guide for details on making contributions.
Acknowledgments
Greasemonkey API <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
parent of 8a57443 (Merge pull request #4 from robertheadley/feature/puppeteer-commands) =======
parent of 64acbb3 (Add files via upload) =======
parent of 64acbb3 (Add files via upload) =======
parent of 64acbb3 (Add files via upload) =======
parent of 64acbb3 (Add files via upload) =======
parent of 64acbb3 (Add files via upload) =======
parent of 64acbb3 (Add files via upload) =======
parent of 64acbb3 (Add files via upload)
local-only server
The server can only run on the client's local machine because it depends on local resources.
Controls Chrome browser with debugging capabilities, allowing page automation, extension management, and userscript injection through the Model Context Protocol.
- Features
- Installation
- Quick Start
- Documentation
- Core Features
- Implementation Details
- Dependencies
- Development
- License
- Contributing
- Acknowledgments
- Based on the original chrome-debug-mcp by Robert Headley.
- Chrome Debug MCP Server
- <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
- <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
- <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
- <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides tools for interacting with Chrome through its DevTools Protocol, enabling remote control of Chrome tabs to execute JavaScript, capture screenshots, monitor network traffic, and more.Last updated -19448MIT License
- AsecurityAlicenseAqualityA browser monitoring and interaction tool that enables AI applications to capture and analyze browser data through a Chrome extension, supporting functions like console monitoring, screenshots, DOM analysis, and website auditing.Last updated -14682MIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to control Chrome browsers through the Chrome DevTools Protocol, allowing for navigation, clicking, typing, and extracting page information.Last updated -42
- AsecurityAlicenseAqualityA Model Context Protocol server that connects to Chrome debugging ports, enabling browser automation with persistent login sessions.Last updated -10298MIT License