firefox-bridge
Provides tools to read the active tab's text, retrieve full page HTML, execute arbitrary JavaScript, and collect security data (forms, scripts, cookies, storage, external domains, meta tags) for vulnerability analysis.
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., "@firefox-bridgeaudit the current page for security vulnerabilities"
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.
browser-bridge
Bridge opencode into your browser. Read pages, execute JavaScript, and audit for security flaws — all from your terminal. Purpose-built for bug bounty hunting.
Why
Bug bounty hunters spend half their time switching between browser and tools. browser-bridge puts opencode directly inside the page. Browse normally, then ask opencode to read the DOM, run JS, or scan for vulnerabilities — no proxies, no manual export, no context switching.
Related MCP server: opencode-lens
Architecture
opencode ──▶ MCP server (stdio) ──▶ Unix socket ──▶ host.js (native messaging) ──▶ browser addon ──▶ pageThe MCP server talks to opencode over stdio. It forwards commands through a Unix socket to the native messaging host, which relays them into the browser's active tab. Responses flow back the same way.
Requirements
Install
git clone https://github.com/jordandubu/browser-bridge
cd browser-bridge
npm install
./install.shinstall.sh registers the native messaging host with Firefox. Then add this to ~/.config/opencode/opencode.jsonc:
"mcp": {
"browser-bridge": {
"type": "local",
"command": "node",
"args": ["/path/to/browser-bridge/host/mcp-server.js"]
}
}Install the addon from the Firefox Add-ons store. Restart opencode.
Tools
Page Interaction
Tool | Description |
| Extract all visible text from the active tab |
| Get full page HTML |
| Run arbitrary JavaScript and return the result |
| Navigate to a URL (new tab by default, or reuse current tab) |
| List all open tabs or switch to a specific tab by index |
Recon & Monitoring
Tool | Description |
| Capture console.log/error/warn/info/debug output (up to 500 entries) |
| Capture ALL network requests (page load + fetch/XHR) with URL, method, type |
| Capture WebSocket connections and messages (connect, send, recv) |
| Capture all window.postMessage events between frames (origin, data, source) |
Vulnerability Hunting
Tool | Description |
| Collect forms, scripts, cookies, storage, external domains, meta tags, CSP meta, inline scripts, iframes |
| Find DOM XSS sinks: innerHTML, document.write, eval, jQuery.html(), dangerouslySetInnerHTML, location.href, and more |
| Dump cookies (full values), localStorage, sessionStorage |
| Extract CSP from meta tags, flag weaknesses (unsafe-inline, unsafe-eval, wildcards, missing directives) |
| Find cross-origin resources and external origins for CORS misconfiguration testing |
| Enumerate inline event handlers (onclick, onsubmit, etc.) and interactive elements |
| Toggle stripping of security headers (CSP, X-XSS-Protection, X-Frame-Options, X-Content-Type-Options) for testing |
Example: security audit
User: audit this page for vulnerabilities
opencode → browser_security → returns forms, scripts, cookies, external domains
opencode: "Found 3 issues:
1. Login form submits over HTTP (no TLS)
2. No CSP meta tag detected
3. Inline script uses innerHTML with user-controlled input"Example: DOM XSS hunt
User: check for DOM XSS on this page
opencode → browser_dom_sinks → returns sink list
opencode: "Found innerHTML usage in 2 inline scripts, eval() in 1 script"
opencode → browser_postmessage → returns postMessage logs
opencode: "postMessage listener at line 42 accepts any origin — potential XSS vector"Example: CORS audit
User: check CORS on this page
opencode → browser_cors → returns cross-origin resources
opencode: "3 cross-origin scripts, 1 cross-origin stylesheet. Test each for misconfigured CORS"CLI
For testing without opencode:
node host/bridge.js read # read page text
node host/bridge.js html # get page HTML
node host/bridge.js js "document.title" # run JS
node host/bridge.js security # extract security data
node host/bridge.js dom_sinks # find DOM XSS sinks
node host/bridge.js storage # dump cookies + storage
node host/bridge.js csp # analyze CSP
node host/bridge.js cors # find cross-origin resources
node host/bridge.js postmessage # capture postMessage events
node host/bridge.js websocket # capture WebSocket messages
node host/bridge.js event_listeners # enumerate event handlers
node host/bridge.js strip_headers true # strip security headers
node host/bridge.js strip_headers false # restore headers
node host/bridge.js navigate "https://example.com" # navigate
node host/bridge.js tabs list # list tabs
node host/bridge.js tabs switch 2 # switch to tab 2Files
Path | Role |
| Browser extension (manifest, background, content scripts) |
| Native messaging host, MCP server, CLI client |
Testing
devbox run test-toolsRuns 16 tests covering all 15 browser_* tools against a local test page. Orchestrates HTTP server, extension (temp profile), and host bridge — then tears down on exit. CI-ready.
For fast dev iteration:
npm run dev # start extension with temp profile
npm run reload-host # restart host bridgeContributing
PRs welcome. Only opencode is supported — if you want Cursor, Claude Code, or another MCP client, add it yourself. The bridge is client-agnostic (stdio MCP), so it should just work. Test with devbox run test-tools and npm run lint.
License
MIT
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.
Related MCP Servers
- AlicenseCqualityBmaintenanceA JavaScript reverse engineering MCP server for Firefox with stealth capabilities, providing tools for debugging, hooking, network analysis, and anti-detection via Camoufox.84MIT
- Alicense-qualityAmaintenanceMCP server that enables inspecting, controlling, and safely automating live opencode TUI sessions.MIT
- Alicense-qualityCmaintenanceMCP server for browser automation with shared authentication and built-in UI auditing.MIT
- AlicenseBqualityCmaintenanceA local Firefox bridge for MCP agents that enables tab control, DOM interaction, mouse/keyboard actions, and screenshots.24MIT
Related MCP Connectors
MCP server for understanding Javascript internals from ECMAScript specification.
MCP server for ScanMalware.com URL scanning, malware detection, and analysis.
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/jordandubu/browser-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server