chrome-agent-mcp
Provides full browser control including navigation, element interaction, form filling, screenshot capture, DevTools inspection (console, network, elements, storage), tab management, and multi-session isolation via Chrome's remote debugging protocol.
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-agent-mcpgo to example.com and take a screenshot"
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-agent-mcp
Full Chrome control for AI agents via the Model Context Protocol
Give Claude (or any MCP client) full control over your browser: navigate pages, click elements, fill forms, inspect DevTools — with parallel tab execution, session isolation per agent, and a real-time dashboard.
What it does
Each Claude session gets its own Chrome tab group — so multiple agents can run in parallel without stepping on each other. A companion Chrome extension shows a live dashboard: active tabs, event log, and screenshots in real time.
Claude session A → tab group "Pinguim" (blue)
Claude session B → tab group "Fenix" (red)
Claude session C → tab group "Girafa" (yellow)Every tool call is wrapped with resilient execution:
20 s primary timeout
2× parallel retries on timeout (10 s each)
Automatic fallback to a new Chrome group if all retries fail
Related MCP server: agent-browser-mcp
Requirements
Node.js ≥ 18
Google Chrome with remote debugging enabled
Installation
1. Enable Chrome remote debugging
google-chrome --remote-debugging-port=9222To make it permanent, add the flag to your Chrome launcher or .desktop file.
2. Install the MCP server
# Run directly (no install)
npx chrome-agent-mcp
# Or install globally
npm install -g chrome-agent-mcp3. Configure your MCP client
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"chrome-agent-mcp": {
"command": "npx",
"args": ["chrome-agent-mcp"],
"env": { "CHROME_DEBUG_PORT": "9222" }
}
}
}Claude Code (.claude/settings.json):
{
"mcpServers": {
"chrome-agent-mcp": {
"command": "node",
"args": ["/path/to/chrome-agent-mcp/dist/index.js"],
"env": { "CHROME_DEBUG_PORT": "9222" }
}
}
}4. Install the companion extension (optional but recommended)
Open
chrome://extensions/Enable Developer mode
Click Load unpacked → select the
extension/folder
The extension adds a popup dashboard showing which tabs are active, what the agent is doing, and captured screenshots — all updating in real time.
Available Tools
Navigation
Tool | Description |
| Navigate to a URL |
| Go back in browser history |
| Go forward in browser history |
| Reload the current tab |
Interaction
Tool | Description |
| Click an element by accessibility ref |
| Type text into a focused element |
| Hover over an element |
| Press a keyboard key or shortcut |
| Scroll the page or an element |
| Select a |
| Fill multiple form fields at once |
| Wait for an element or condition |
Page Inspection
Tool | Description |
| Get the accessibility tree of the page |
| Capture a full-page screenshot |
| Execute JavaScript and return the result |
Tab Management
Tool | Description |
| Open, close, switch, list, and mark tabs done |
DevTools
Tool | Description |
| Read and clear browser console logs |
| Inspect network requests and responses |
| Inspect and query DOM elements |
| Read cookies, localStorage, sessionStorage |
Browser Management
Tool | Description |
| List all open Chrome windows |
| Focus a specific window |
| List installed Chrome extensions |
| Sync session state with the extension dashboard |
Architecture
src/
├── index.ts MCP server + request dispatch
├── types.ts Shared type definitions
├── core/ Infrastructure layer
│ ├── connection.ts Chrome CDP connection lifecycle
│ ├── bridge.ts Extension event bridge
│ ├── favicon.ts Tab favicon animation manager
│ ├── resilience.ts Timeout / retry / fallback execution
│ └── groups/ Tab group isolation
│ ├── manager.ts Orchestrator (public API)
│ ├── state.ts File-based state persistence
│ └── chrome-api.ts Chrome Extension API bridge
├── tools/ MCP tool implementations
│ ├── tabs.ts
│ ├── navigation.ts
│ ├── browser.ts
│ ├── media.ts screenshot · snapshot · evaluate
│ ├── session.ts
│ ├── interaction/ click · type · hover · scroll · form · wait
│ └── devtools/ console · network · elements · storage
└── utils/ Pure utility functions
├── accessibility.ts AX tree formatter
├── description.ts Tab action labels
└── identity.ts Animal names + Chrome group colorsEngineering rules: every file ≤ 300 lines · every directory ≤ 7 items · SOLID principles throughout.
Configuration
Variable | Default | Description |
|
| Chrome remote debugging port |
Development
# Install dependencies
npm install
# Build TypeScript
npm run build
# Watch mode
npm run dev
# Run tests
npm test
# Coverage report (target: 80%)
npm run coverageLicense
MIT © Otavio Senne
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/otaviosenne/chrome-agent-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server