A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Enhanced MCP server for browser automation with improved element selection, tab management, and token optimization
Modern MCP server + browser extensions for reliable, multi‑instance automation over a single WebSocket daemon.
git clone https://github.com/david-strejc/browsermcp-enhanced.git
cd browsermcp-enhanced
./scripts/deploy
Option A: User services (recommended for nvm users, no sudo required):
./scripts/systemd-user-install.sh
Option B: System services (requires sudo):
sudo ./scripts/systemd-install.sh --user "$USER" \
--install-dir "/home/$USER/.local/lib/browsermcp-enhanced" \
--http-port 3000 --ws-port 8765
chrome://extensions → Developer mode → Load unpacked → chrome-extension/about:debugging#/runtime/this-firefox → Load Temporary Add‑on → firefox-extension/manifest.json {
"mcpServers": {
"browsermcp": {
"type": "http",
"url": "http://127.0.0.1:3000/mcp"
}
}
}
For detailed architecture and troubleshooting information, see ADVANCE_INFO.md
NO_PROXY=localhost,127.0.0.1 to allow local connections// Navigate to a URL
await browser_navigate({ url: "https://example.com" })
// Snapshot
await snapshot.accessibility({ mode: 'scaffold' })
// Click an element
await browser_click({ ref: "button-1", element: "Submit button" })
// Plain DOM
await js.execute({ code: "return document.title" })
// Safe operation (no code)
await js.execute({ method: 'query', args: ['h3', { attrs: ['textContent'], limit: 10 }] })
// Unsafe (enable in extension options first)
await js.execute({ code: "(function(){ return location.href })()", unsafe: true })
// Multi-step form filling
await browser_multitool({
intent: "form_fill",
snapshot: snapshotData,
fields: {
"username": "john.doe",
"email": "john@example.com",
"message": "Hello world"
}
})
Daemon: /tmp/browsermcp-daemon.log, /tmp/browsermcp-events.log
Chrome: chrome://extensions → Inspect (background)
Firefox: about:debugging → Inspect (background)
# Allow all origins (development)
BROWSER_MCP_ALLOWED_ORIGINS="*"
# Specific origins (production)
BROWSER_MCP_ALLOWED_ORIGINS="https://example.com,https://app.example.com"
# Custom WebSocket port
BROWSER_MCP_PORT=8765
unsafe: true)browser_navigate, browser_go_back, browser_go_forwarddom.click, dom.type, dom.hover, dom.selectsnapshot.accessibilitytabs.list, tabs.select, tabs.new, tabs.closeconsole.get, screenshot.capture, js.execute# Run tests
npm test
# Quick test
npm run test:quick
# With coverage
npm run test:coverage
# Watch mode
npm run watch
# Type checking
npm run typecheck
# Inspector
npm run inspector
See CHANGELOG.md for detailed version history.
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by the LaskoBOT Contributors
A Jetbrains IDE IntelliJ plugin aimed to provide coding agents the ability to leverage intelliJ's indexing of the codeba
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots