chrome debug mcp
Controls Chrome browser with debugging capabilities, allowing page automation, extension management, and userscript injection through the Model Context Protocol.
Controls Chrome browser with debugging capabilities, allowing page automation, extension management, and userscript injection through the Model Context Protocol.
x000D
A Model Context Protocol (MCP) implementation for browser automation using Playwright, with full Greasemonkey API support.x000D
x000D
x000D
x000D
x000D
x000D
x000D
x000D
x000D
x000D
x000D
x000D
x000D
bash_x000D_
npm install chrome-debug-mcp-playwright_x000D_
x000D
x000D
x000D
javascript_x000D_
// Launch browser_x000D_
tool browser launch_browser --url "https://example.com" --browserType "chromium"_x000D_
_x000D_
// Use GM functions_x000D_
tool browser gm_setValue --key "setting" --value "test"_x000D_
tool browser gm_getValue --key "setting"_x000D_
_x000D_
// Intercept requests_x000D_
tool browser intercept_requests --patterns ["*.jpg", "*.css"] --action "block"_x000D_
x000D
x000D
x000D
javascript_x000D_
// Launch browser_x000D_
tool browser launch_browser --url "https://example.com"_x000D_
_x000D_
// Create new tab_x000D_
tool browser create_tab --url "https://example.com"_x000D_
_x000D_
// Switch between tabs_x000D_
tool browser switch_tab --index 1_x000D_
x000D
x000D
javascript_x000D_
// Add custom styles_x000D_
tool browser gm_addStyle --css "body { background: #f0f0f0; }"_x000D_
_x000D_
// Store data_x000D_
tool browser gm_setValue --key "setting" --value "test"_x000D_
_x000D_
// Make cross-origin requests_x000D_
tool browser gm_xmlhttpRequest --url "https://api.example.com/data" --method "GET"_x000D_
x000D
x000D
javascript_x000D_
// Block image loading_x000D_
tool browser intercept_requests --patterns ["*.jpg", "*.png"] --action "block"_x000D_
_x000D_
// Log all CSS requests_x000D_
tool browser intercept_requests --patterns ["*.css"] --action "log"_x000D_
x000D
x000D
x000D
x000D
bash_x000D_
git clone https://github.com/yourusername/chrome-debug-mcp-playwright.git_x000D_
cd chrome-debug-mcp-playwright_x000D_
npm install_x000D_
x000D
x000D
x000D MIT License - See LICENSE file for details.x000D x000D
x000D We welcome contributions! Please see our Contributing Guide for details.x000D x000D
x000D Based on the original chrome-debug-mcp by Robert Headley.x000D =======x000D =======x000D
parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D
x000D A Model Context Protocol (MCP) server for controlling Chrome with debugging capabilities, userscript injection, and extension support.x000D x000D <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ =======x000D =======x000D
parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D x000D
x000D x000D x000D <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D
x000D
parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D
parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D
GM_setValue
/GM_getValue
for persistent storage_x000D_GM_addStyle
for CSS injection_x000D_GM_xmlhttpRequest
for cross-origin requests_x000D_GM_openInTab
for new tab creation_x000D_GM_registerMenuCommand
for menu commands_x000D_
x000Dx000D
bash_x000D_
git clone https://github.com/yourusername/chrome-debug-mcp.git_x000D_
cd chrome-debug-mcp_x000D_
x000D
x000Dbash_x000D_
npm install_x000D_
x000D
x000Dbash_x000D_
npm run build_x000D_
x000D
x000Dcline_mcp_settings.json
:x000D
json_x000D_
{_x000D_
"mcpServers": {_x000D_
"chrome-debug": {_x000D_
"command": "node",_x000D_
"args": ["path/to/chrome-debug-mcp/build/index.js"],_x000D_
"disabled": false,_x000D_
"alwaysAllow": []_x000D_
}_x000D_
}_x000D_
}_x000D_
x000D
x000Dx000D <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ =======x000D For a complete reference of all available commands, tools, and functions, see COMMANDS.md.x000D x000D
parent of 64acbb3 (Add files via upload)x000D =======x000D For a complete reference of all available commands, tools, and functions, see COMMANDS.md.x000D x000D parent of 64acbb3 (Add files via upload)x000D =======x000D For a complete reference of all available commands, tools, and functions, see COMMANDS.md.x000D x000D parent of 64acbb3 (Add files via upload)x000D =======x000D For a complete reference of all available commands, tools, and functions, see COMMANDS.md.x000D x000D parent of 64acbb3 (Add files via upload)x000D =======x000D For a complete reference of all available commands, tools, and functions, see COMMANDS.md.x000D x000D parent of 64acbb3 (Add files via upload)x000D =======x000D For a complete reference of all available commands, tools, and functions, see COMMANDS.md.x000D x000D parent of 64acbb3 (Add files via upload)x000D =======x000D For a complete reference of all available commands, tools, and functions, see COMMANDS.md.x000D x000D parent of 64acbb3 (Add files via upload)x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "launch_chrome",_x000D_
arguments: {_x000D_
executablePath: "C:Program FilesGoogleChromeApplicationchrome.exe",_x000D_
url: "https://example.com"_x000D_
}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "launch_chrome",_x000D_
arguments: {_x000D_
executablePath: "C:Program FilesGoogleChromeApplicationchrome.exe",_x000D_
userDataDir: "path/to/chrome/profile",_x000D_
disableAutomationControlled: true_x000D_
}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "launch_chrome",_x000D_
arguments: {_x000D_
url: "https://example.com",_x000D_
userscriptPath: "path/to/userscript.js"_x000D_
}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "evaluate",_x000D_
arguments: {_x000D_
expression: "document.title"_x000D_
}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "get_console_logs",_x000D_
arguments: {_x000D_
clear: true_x000D_
}_x000D_
})_x000D_
x000D
x000D
<<<<<<< HEAD_x000D_
<<<<<<< HEAD_x000D_
<<<<<<< HEAD_x000D_
<<<<<<< HEAD_x000D_
<<<<<<< HEAD_x000D_
<<<<<<< HEAD_x000D_
<<<<<<< HEAD_x000D_
=======x000D
=======x000D
parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "click",_x000D_
arguments: {_x000D_
selector: "#submit-button",_x000D_
delay: 500_x000D_
}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "type",_x000D_
arguments: {_x000D_
selector: "#search-input",_x000D_
text: "search query",_x000D_
delay: 100_x000D_
}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "select",_x000D_
arguments: {_x000D_
selector: "#country-select",_x000D_
value: "US"_x000D_
}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "wait_for_selector",_x000D_
arguments: {_x000D_
selector: ".loading-complete",_x000D_
visible: true,_x000D_
timeout: 5000_x000D_
}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "screenshot",_x000D_
arguments: {_x000D_
path: "screenshot.png",_x000D_
fullPage: true_x000D_
}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "set_viewport",_x000D_
arguments: {_x000D_
width: 1920,_x000D_
height: 1080,_x000D_
deviceScaleFactor: 1_x000D_
}_x000D_
})_x000D_
x000D
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "list_tabs",_x000D_
arguments: {}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "new_tab",_x000D_
arguments: {_x000D_
url: "https://example.com"_x000D_
}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "switch_tab",_x000D_
arguments: {_x000D_
tabId: "tab-id-from-list-tabs"_x000D_
}_x000D_
})_x000D_
x000D
x000D
javascript_x000D_
use_mcp_tool({_x000D_
server_name: "chrome-debug",_x000D_
tool_name: "close_tab",_x000D_
arguments: {_x000D_
tabId: "tab-id-from-list-tabs"_x000D_
}_x000D_
})_x000D_
x000D
x000D
<<<<<<< HEAD_x000D_
<<<<<<< HEAD_x000D_
<<<<<<< HEAD_x000D_
<<<<<<< HEAD_x000D_
<<<<<<< HEAD_x000D_
<<<<<<< HEAD_x000D_
parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D =======x000D parent of 64acbb3 (Add files via upload)x000D
x000D This project uses the following open-source packages:x000D x000D - Puppeteer - Chrome automation library_x000D_ - chrome-remote-interface - Chrome DevTools Protocol client_x000D_ - @modelcontextprotocol/sdk - MCP SDK for server implementation_x000D_ x000D
x000D This project is licensed under the MIT License - see the LICENSE file for details.x000D x000D
x000D See our Contributing Guide for details on making contributions.x000D x000D
x000D - Chrome DevTools Protocolx000D - Greasemonkey APIx000D <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ <<<<<<< HEAD_x000D_ - Model Context Protocolx000D
parent of 8a57443 (Merge pull request #4 from robertheadley/feature/puppeteer-commands)x000D =======x000D - Model Context Protocolx000D parent of 64acbb3 (Add files via upload)x000D =======x000D - Model Context Protocolx000D parent of 64acbb3 (Add files via upload)x000D =======x000D - Model Context Protocolx000D parent of 64acbb3 (Add files via upload)x000D =======x000D - Model Context Protocolx000D parent of 64acbb3 (Add files via upload)x000D =======x000D - Model Context Protocolx000D parent of 64acbb3 (Add files via upload)x000D =======x000D - Model Context Protocolx000D parent of 64acbb3 (Add files via upload)x000D =======x000D - Model Context Protocolx000D parent of 64acbb3 (Add files via upload)x000D