Provides tools to control Google Chrome browser sessions, enabling AI agents to navigate tabs, interact with web elements, capture screenshots, and execute JavaScript while utilizing existing user profiles, cookies, and extensions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Chrome Profile MCP Serveropen news.ycombinator.com and summarize the top story"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Chrome Profile MCP Server
MCP server that launches Chrome with a specific user profile and exposes browser control tools via the Model Context Protocol. AI agents (Claude Code, Claude Desktop, etc.) can then navigate, click, type, take screenshots, and more — all using your real Chrome sessions, cookies, and extensions.
Quick Start
# Interactive mode — pick a profile
npx chrome-profile-mcp
# Non-interactive — specify profile directly
npx chrome-profile-mcp --profile "Default"CLI Flags
Flag | Description | Default |
| Chrome profile directory name (skip selection) | interactive |
| CDP debugging port |
|
| Enable debug logging | off |
Claude Code Integration
Add to .mcp.json in your project root:
{
"mcpServers": {
"chrome": {
"type": "stdio",
"command": "npx",
"args": ["-y", "chrome-profile-mcp", "--profile", "Default"]
}
}
}Or with a local build:
{
"mcpServers": {
"chrome": {
"type": "stdio",
"command": "node",
"args": ["/path/to/chrome-profile-mcp/dist/cli.js", "--profile", "Default"]
}
}
}Claude Desktop Integration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"chrome-browser": {
"command": "node",
"args": ["/path/to/chrome-profile-mcp/dist/cli.js", "--profile", "Default"]
}
}
}Note:
--profileis required for Claude Code/Desktop since there's no TTY for interactive selection.
Available Tools (18)
Navigation (8)
Tool | Description |
| Navigate active tab to a URL |
| Go back in browser history |
| Go forward in browser history |
| Reload current page |
| List all open tabs with URLs |
| Switch active tab by index |
| Open new tab (optionally with URL) |
| Close tab by index (default: active) |
Interaction (6)
Tool | Description |
| Click element by CSS selector |
| Type text into input element |
| Scroll page or element into view |
| Hover over element |
| Select dropdown option |
| Press keyboard key |
Inspection (4)
Tool | Description |
| Capture page/element screenshot (returns PNG) |
| Get page HTML or element text |
| Execute JavaScript in page context |
| Wait for element to appear |
How It Works
Reads Chrome's
Local Stateto discover available profilesLaunches Chrome with
--remote-debugging-portusing the selected profileConnects via Chrome DevTools Protocol (CDP) using Playwright
Starts an MCP server on stdio that exposes 20 browser control tools
AI agents call tools to control your real Chrome browser
Requirements
macOS (Chrome path hardcoded to
/Applications/Google Chrome.app)Google Chrome installed (launched at least once)
Node.js 18+
Known Limitations
macOS only (Linux/Windows paths not yet supported)
Chrome must not already be running with
--remote-debugging-porton the same portCDP has lower fidelity than Playwright's native protocol for some operations
get_page_contenttruncates at 50K chars to prevent context overflow
Development
npm install
npm run build
npm run dev # Run with tsx (interactive mode)
npm run dev -- --profile Default # Non-interactiveLicense
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.