pernosco-mcp

pernosco-mcp

MCP server that connects AI coding agents to Pernosco debugging sessions for querying execution traces, inspecting variables, navigating call stacks, and tracing value histories through natural language.

Category
Visit Server

README

pernosco-mcp

MCP server that connects AI coding agents (Claude Code, etc.) to Pernosco debugging sessions. Query execution traces, inspect variables, navigate call stacks, and trace value histories — all through natural language.

How It Works

Claude Code  <--stdio-->  pernosco-mcp daemon  <--WebSocket-->  Firefox extension  <--window.client-->  Pernosco

A background daemon coordinates between any number of Claude Code instances and Pernosco browser tabs. The Firefox extension bridges into Pernosco's internal window.client API.

Installation

1. Install the npm package

npm install -g pernosco-mcp

This installs the MCP server and registers the native messaging host for Firefox.

2. Install the Firefox extension

Install from Firefox Add-ons.

3. Add to Claude Code

claude mcp add pernosco -- pernosco-mcp

Usage

  1. Open a Pernosco trace in Firefox
  2. In Claude Code: "Connect to my Pernosco trace at https://pernos.co/debug/abc123/index.html"
  3. Debug:
    • "Find all calls to nsDocShell::LoadURI and show me the URI argument"
    • "Go to result 3 and show me the call stack"
    • "What was written to this address throughout the trace?"

Tools

Tool Description
session_connect Connect to a trace by URL or trace ID
session_list List open Pernosco tabs
session_status Current position (event, source, line)
session_disconnect Disconnect from session
find_executions Find all calls to a function, optionally print expressions at each
find_breakpoint_hits All hits of a source line
stack Call stack at current position
evaluate Evaluate a C++ expression
goto Navigate to a query result or focus position
search Search for symbols, functions, types
watchpoint_history Write history for a memory address
watch_variable Trace writes to a C++ variable (evaluate + watchpoint)
stdout_stderr stdout/stderr output with event IDs
source_read Read source code from the trace
dynamic_annotations Which lines executed, with counts
step_to_next_hit Step forward to next hit of current line
step_to_prev_hit Step backward to previous hit
task_tree Process/thread hierarchy
current_tasks Active threads at current moment
notebook_read Pernosco notebook annotations

Development

Building from source

git clone https://github.com/jnjaeschke/pernosco-mcp.git
cd pernosco-mcp
npm install
npm run build:all

Load the extension manually via about:debugging > "This Firefox" > "Load Temporary Add-on" > select extension/manifest.json.

Scripts

npm run dev              # Watch mode (TypeScript)
npm test                 # Run tests
npm run build            # Build server
npm run build:extension  # Package extension .xpi
npm run build:all        # Build everything

Architecture

  • Daemon (src/daemon.ts) — WebSocket server on random localhost port. Spawned on-demand, exits after 10 min idle.
  • Shim (src/shim.ts) — stdio-to-WebSocket bridge, one per Claude Code instance.
  • Extension (extension/) — Content script injected into pernos.co pages, queries window.client API.
  • PML (src/pml.ts) — Converts Pernosco's markup to text for LLM consumption.

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
Qdrant Server

Qdrant Server

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

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