Browser Runtime MCP
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., "@Browser Runtime MCPWhat are the latest browser errors?"
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 Runtime MCP
Give AI agents real-time access to browser runtime errors, console logs, and page diagnostics.
The problem: AI coding agents can read your source code but are blind to what actually happens in the browser — runtime errors, console warnings, failed API calls, CSS rendering issues. You end up copy-pasting DevTools output back and forth.
The solution: A Chrome Extension captures browser events and streams them to a local MCP server. Your AI agent (Claude Code, Cursor, etc.) can query errors, console logs, and page state directly through MCP tools.
Browser tab → Chrome Extension → localhost MCP server → AI agentQuick Start
1. Install the MCP server
pip install browser-runtime-mcp2. Install the Chrome Extension
Download the extension/ folder from this repo, then:
Open
chrome://extensionsEnable Developer mode
Click Load unpacked → select the
extension/folder
3. Configure your AI tool
Claude Code — add to ~/.claude/settings.json:
{
"mcpServers": {
"browser-runtime-mcp": {
"command": "browser-runtime-mcp",
"args": []
}
}
}Other MCP clients — run the server in stdio mode:
browser-runtime-mcp4. Use it
Open the extension popup on the site you want to debug and click Enable capture on this site. Capture is disabled by default and the allowlist is stored locally in Chrome. Then ask your AI agent:
"Are there any browser errors?"
"What's in the console logs?"
"What pages is the extension tracking?"
Related MCP server: @nimbus21.ai/chrome-devtools-mcp
MCP Tools
Tool | Description |
| Runtime errors with stack traces and DOM context |
| Console output (error/warn/log), filterable by level |
| Tracked pages and buffer statistics |
| Clear all buffered data for a fresh start |
How It Works
┌─────────────────┐ postMessage ┌──────────────────┐
│ content.js │ ──────────────────▶ │ content-bridge.js │
│ (MAIN world) │ │ (ISOLATED world) │
│ │ │ │
│ • window.onerror│ │ chrome.runtime │
│ • console patch │ │ .sendMessage() │
└─────────────────┘ └────────┬───────────┘
│
chrome.runtime.onMessage
▼
┌────────────────┐
│ background.js │
│ (service worker)│
│ │
│ fetch() to │
│ localhost:18790 │
└────────┬────────┘
│ HTTP POST
▼
┌────────────────┐
│ MCP Server │
│ (Python/stdio) │
│ │ MCP tools
│ • HTTP receiver ├──────────────▶ AI Agent
│ • Error buffer │
│ • Log buffer │
└────────────────┘The three-hop architecture (MAIN → ISOLATED → background) bypasses Chrome's Private Network Access policy, which blocks HTTPS pages from fetching to localhost directly.
Privacy and trust boundary
Capture is opt-in per origin and disabled by default. Use the popup to stop capture when finished.
Captured URLs, page titles, errors, stack traces, DOM context, and console messages stay in bounded in-memory buffers on
127.0.0.1; they are not uploaded by this project.clear_buffersremoves all currently buffered data. Stopping the server also discards it.Do not enable capture on banking, authentication, health, internal administration, or other sensitive pages unless you intend to expose their diagnostics to your local MCP client.
Browser pages control their own console output. Treat captured messages and DOM snippets as untrusted diagnostic input, not authoritative data or instructions.
The HTTP diagnostic endpoints are intentionally local-only but are readable by other processes running as your user.
Standalone HTTP Mode
For debugging without MCP, run the HTTP receiver only:
browser-runtime-mcp --http-onlyThen query:
GET http://127.0.0.1:18790/health— buffer statsGET http://127.0.0.1:18790/errors— all captured errorsGET http://127.0.0.1:18790/logs— all captured logsGET http://127.0.0.1:18790/pages— tracked pages
Requirements
Python 3.10+
Chrome (Manifest V3 extension)
Zero Python dependencies (stdlib only)
License
MIT
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
- Alicense-qualityCmaintenanceMCP server for browser debugging, inspection, and verification that streams console logs, network errors, and user actions into AI coding assistants.65AGPL 3.0
- Alicense-qualityBmaintenanceLets AI coding agents control and inspect a live Chrome browser via MCP, providing Chrome DevTools capabilities for automation, debugging, and performance analysis.11Apache 2.0
- AlicenseAqualityAmaintenanceAn MCP server that connects AI agents to a running Chrome tab via the Chrome DevTools Protocol (CDP), enabling runtime debugging and page inspection.213801ISC
- Alicense-qualityCmaintenanceEnables AI agents to control Chrome browser actions like navigation, clicking, form filling, screenshots, and console/network logging via an MCP server and Chrome extension.1,062MIT
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
A paid remote MCP for AI agent browser approval MCP, built to return verdicts, receipts, usage logs,
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/MakiDevelop/browser-runtime-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server