Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
Instruções da origem · Visualização somente leitura
name
browser-mcp-control
description
Control Chrome browser tabs via MCP for AI-assisted web automation using the Browser MCP server and extension
triggers
["navigate to a website using browser mcp","take a screenshot of the current page","click an element in the browser","get page content snapshot","interact with browser extension","automate browser actions through mcp","fill out web form using browser","extract data from web page"]
Browser MCP is a Model Context Protocol server that bridges AI assistants to your local Chrome browser through a Chrome extension. Unlike headless automation tools, it operates on your existing browser profile, preserving login sessions and cookies, reducing CAPTCHA triggers and bot detection.
The architecture uses:
MCP Server (stdio) that AI clients spawn as subprocess
WebSocket bridge (port 9009) for extension communication
Chrome Extension that executes commands in active tabs
Optional Redis for session persistence
Installation
1. Install the MCP Server
git clone https://github.com/BrowserMCP/mcp.git
cd mcp
npm install
npm run build
2. Configure Your MCP Client
Add to your MCP settings (Cursor, Claude Desktop, VS Code, etc.):
try {
awaituseTool("browser_navigate", {
url: "https://example.com"
});
} catch (error) {
if (error.message.includes("No connection")) {
console.error("Chrome extension not connected. Open extension popup and click Connect.");
}
}
Timeout Handling
// Increase wait time for slow pagesawaituseTool("browser_navigate", {
url: "https://slow-site.com",
waitUntil: "networkidle"
});
awaituseTool("browser_wait", {
seconds: 5
});
Element Not Found
// Wait before interactionawaituseTool("browser_wait", { seconds: 2 });
awaituseTool("browser_click", {
selector: ".dynamic-content button"
});
// Or use snapshot to verify element existsconst snapshot = awaituseTool("browser_snapshot");
// Parse to check for expected elements
Development & Testing
Run in Development Mode
npm run dev
Type Checking
npm run typecheck
Run Tests
npm test
npm run test:watch
Use MCP Inspector
Debug tools interactively:
npm run build
npm run inspector
Enable Debug Logging
LOG_LEVEL=debug node dist/index.js
Troubleshooting
Extension Not Connecting
Symptom: Tools fail with "No connection to browser extension"
Solutions:
Click Browser MCP extension icon in Chrome
Click Connect on the active tab
Verify WebSocket port 9009 is not blocked
Check extension is enabled in chrome://extensions
Port Already in Use
Symptom:Error: listen EADDRINUSE: address already in use :::9009
Solutions:
# Find process using port 9009
lsof -i :9009
kill -9 <PID>
# Or use different port
WS_PORT=9010 node dist/index.js