MCP server
by nicholmikey
Control Chrome remotely, capture screenshots, and monitor network traffic using Chrome Tools with seamless remote access
Controls Chrome browser tabs remotely through DevTools Protocol to execute JavaScript, capture screenshots, and monitor network traffic. Requires Chrome to be launched with remote debugging enabled.
Chrome Tools is a community-built MCP server published by nicholmikey that provides AI assistants with tools and capabilities via the Model Context Protocol. Control Chrome remotely, capture screenshots, and monitor network traffic using Chrome Tools with seamless remote access It is categorized under browser automation.
You can install Chrome Tools in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
MIT
Chrome Tools is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Fetch and extract information from websites automatically
Example
Research competitor pricing, scrape product reviews, monitor news mentions
Automate 5-10 hours/week of manual web research
Track website changes, new content, price updates
Example
Monitor competitor blog for new posts, track stock availability, watch for pricing changes
Stay informed without manual checking, never miss important updates
Extract structured data from multiple websites
Example
Compile product listings from 10 e-commerce sites, aggregate job postings, collect real estate data
Build datasets 100x faster than manual copying
Share your MCP server with the developer community
Chrome Tools is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Chrome Tools reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
I recommend Chrome Tools for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
We wired Chrome Tools into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
Chrome Tools is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Strong directory entry: Chrome Tools surfaces stars and publisher context so we could sanity-check maintenance before adopting.
Chrome Tools has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
Useful MCP listing: Chrome Tools is the kind of server we cite when onboarding engineers to host + tool permissions.
Chrome Tools is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
We evaluated Chrome Tools against two servers with overlapping tools; this profile had the clearer scope statement.
showing 1-10 of 39
An MCP server that provides tools for interacting with Chrome through its DevTools Protocol. This server enables remote control of Chrome tabs, including executing JavaScript, capturing screenshots, monitoring network traffic, and more.
This type of MCP Server is useful When you need to manually configure your browser to be in a certain state before you let an AI tool like Cline poke at it. You can also use this tool to listen to and pull network events into its context.
npm install @nicholmikey/chrome-tools
The server can be configured through environment variables in your MCP settings:
{
"chrome-tools": {
"command": "node",
"args": ["path/to/chrome-tools/dist/index.js"],
"env": {
"CHROME_DEBUG_URL": "http://localhost:9222",
"CHROME_CONNECTION_TYPE": "direct",
"CHROME_ERROR_HELP": "custom error message"
}
}
}
CHROME_DEBUG_URL: The URL where Chrome's remote debugging interface is available (default: http://localhost:9222)CHROME_CONNECTION_TYPE: Connection type identifier for logging (e.g., "direct", "ssh-tunnel", "docker")CHROME_ERROR_HELP: Custom error message shown when connection failsLaunch Chrome with remote debugging enabled:
# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
# Mac
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
# Linux
google-chrome --remote-debugging-port=9222
Configure MCP settings:
{
"env": {
"CHROME_DEBUG_URL": "http://localhost:9222",
"CHROME_CONNECTION_TYPE": "direct"
}
}
When running in WSL, you'll need to set up an SSH tunnel to connect to Chrome running on Windows:
ssh -N -L 9222:localhost:9222 windowsuser@host
{
"env": {
"CHROME_DEBUG_URL": "http://localhost:9222",
"CHROME_CONNECTION_TYPE": "ssh-tunnel",
"CHROME_ERROR_HELP": "Make sure the SSH tunnel is running: ssh -N -L 9222:localhost:9222 windowsuser@host"
}
}
When running Chrome in Docker:
Launch Chrome container:
docker run -d --name chrome -p 9222:9222 chromedp/headless-shell
Configure MCP settings:
{
"env": {
"CHROME_DEBUG_URL": "http://localhost:9222",
"CHROME_CONNECTION_TYPE": "docker"
}
}
Lists all available Chrome tabs.
Executes JavaScript code in a specified tab. Parameters:
tabId: ID of the Chrome tabscript: JavaScript code to executeCaptures a screenshot of a specified tab, automatically optimizing it for AI model consumption. Parameters:
tabId: ID of the Chrome tabformat: Image format (jpeg/png) - Note: This is only for initial capture. Final output uses WebP with PNG fallbackquality: JPEG quality (1-100) - Note: For initial capture onlyfullPage: Capture full scrollable pageImage Processing:
Monitors and captures network events from a specified tab. Parameters:
tabId: ID of the Chrome tabduration: Duration in seconds to capturefilters: Optional type and URL pattern filtersNavigates a tab to a specified URL. Parameters:
tabId: ID of the Chrome taburl: URL to loadQueries and retrieves detailed information about DOM elements matching a CSS selector. Parameters:
tabId: ID of the Chrome tabselector: CSS selector to find elements
Returns:nodeId: Unique identifier for the nodetagName: HTML tag nametextContent: Text content of the elementattributes: Object containing all element attributesboundingBox: Position and dimensions of the elementisVisible: Whether the element is visibleariaAttributes: ARIA attributes for accessibilityClicks on a DOM element and captures any console output triggered by the click. Parameters:
tabId: ID of the Chrome tabselector: CSS selector to find the element to click
Returns:message: Success/failure messageconsoleOutput: Array of console messages triggered by the clickMIT
Interact with services that don't offer APIs
Example
Check form submissions, validate website functionality, test user flows
Automate interactions with any website, even without API
Prerequisites
Time Estimate
20-40 minutes including configuration and testing
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
MCP server handles HTTP requests, HTML parsing, JavaScript rendering (if headless browser), and returns structured data to Claude.
Protocols
Compatibility
✓ Use when
Use for research automation, content monitoring, data aggregation from multiple sources, and when official APIs don't exist. Best for read-only information gathering.
✗ Avoid when
Avoid for sites with APIs (use API instead), sites that explicitly forbid scraping, when data is copyrighted, or for login-required content without proper authorization.