console-stream-mcp

console-stream-mcp

Enables AI coding agents to access live console logs, errors, and network requests from web applications via a local WebSocket connection, without copying data to chat.

Category
Visit Server

README

console-stream-mcp

Give AI coding agents (Claude Code, Codex CLI, Gemini CLI, etc.) live access to your web app's runtime — console logs, errors, and network requests — without copy-pasting anything into chat.

Local-first. No cloud services, no telemetry, no external APIs.

How it works

Web App
  │
Extension OR npm package
  │
WebSocket
  │
localhost
  │
console-stream-mcp
  │
MCP
  │
Claude Code / Codex / Gemini CLI

A browser client (extension or npm package) captures runtime events — console.*, uncaught errors, unhandled rejections, fetch/XHR calls — and streams them over a WebSocket to a local MCP server. The MCP server keeps a rolling in-memory history and exposes it to AI agents as MCP tools.

Packages

Path Description
apps/mcp-server Node.js MCP server; WebSocket hub + MCP tool implementations
apps/browser-extension Chromium extension that captures and streams browser events
apps/npm-client console-stream-client npm package for direct app integration
packages/protocol Versioned event schema and message envelope (private, bundled into published packages)
packages/capture-core Runtime hook patching shared by the extension and npm client (private, bundled)
skill Agent skill describing when/how to use the MCP tools to debug a web app
examples Example apps demonstrating integration

Quick start

npm install
npm run build

# start the MCP server
npm run start --workspace=apps/mcp-server

Then either load the unpacked extension from apps/browser-extension/dist, or add the npm client to your app:

import { startConsoleStream } from "console-stream-client";

startConsoleStream();

Point your MCP-compatible agent at the server (see apps/mcp-server/README.md for configuration).

Enabling capture (extension)

The extension never captures anything by default. Click its toolbar icon and hit "Enable capture" on the tab you want to debug — that's the one opt-in. Multiple tabs can be enabled independently. For dev servers you always want captured without clicking every time, add a rule (e.g. localhost:5173) on the extension's settings page (right-click the icon → Options) — matching tabs auto-enable on navigation.

MCP Tools

  • get_recent_logs
  • get_recent_errors
  • get_network_requests
  • get_logs_since
  • clear_logs
  • get_connected_tabs
  • set_active_tab

Client capabilities

Event ingestion (console/errors/network) is identical across both browser clients — the server can't tell them apart. Command capabilities are not: many later-stage features require Chrome DevTools Protocol access, which only the extension has. The protocol reports this via a capabilities field on connect, so commands a client can't support fail with a clear error instead of hanging.

Capability Browser extension npm client (console-stream-client)
Console/error/network event streaming
get_recent_logs / get_recent_errors / get_network_requests / get_logs_since
Multi-tab awareness (get_connected_tabs, set_active_tab) ✅ (one entry per app instance)
Opt-in capture (popup toggle / settings-page rules) n/a — capture starts as soon as startConsoleStream() runs
Navigation control (navigate_to, reload_tab, switch_tab) ✅ (planned)
Debug sessions (start_debug_session) ✅ (planned) ✅ (planned, event types available to it)
Screenshots, DOM/accessibility snapshots ✅ (planned, requires CDP)
CPU/memory profiling, Web Vitals ✅ (planned, requires CDP)
evaluate_js, network response bodies ✅ (planned, requires CDP)
React/Redux/Zustand state, storage inspection ✅ (planned) ✅ (planned, page-context only — no cross-origin iframes)

See ROADMAP.md for what "planned" maps to by stage.

Design principles

  • Local-first, zero cloud dependencies, zero telemetry
  • Framework agnostic
  • Extension and npm client emit an identical, versioned protocol — the server can't tell them apart

See PROJECT.md for the full design doc and ROADMAP.md for staged future work.

Contributing

Contributions are welcome. Please open an issue to discuss significant changes before submitting a PR. See CONTRIBUTING.md.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured