Discover MCPs & agents
Loading MCPs and agents…
Loading MCPs and agents…
Enhanced MCP server for browser automation with improved element selection, tab management, and token optimization
From the repo.
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
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.