Skip to content
PEN Docs

PEN

MCP server for browser performance profiling. Tell your AI to profile a page, hunt down a memory leak, or check code coverage — PEN does the DevTools work and hands back structured results.

One Go binary. No Node.js. Auto-launches a debug browser or attaches to one you're already running.

How It Works

Loading diagram…

Your editor spawns PEN as a child process. When the LLM calls a tool like pen_heap_snapshot, PEN fires CDP commands, streams data to disk, and sends back structured analysis.

What You Can Do

CategoryWhat it doesTools
MemoryHeap snapshots, diffs, allocation tracking4
CPUCPU profiling, Chrome traces, trace analysis3
NetworkCapture, waterfall, render-blocking detection4
CoverageJS and CSS coverage with unused byte breakdown2
AuditPerformance metrics, Web Vitals, accessibility3
SourceList and search loaded scripts3
ConsoleLive console capture and filtering2
LighthouseFull Lighthouse audits1
UtilityNavigation, screenshots, eval, emulation, tabs8

30 tools total. Full reference →

Example

Ask your AI: "Check the performance metrics of this page"

## Performance Metrics

| Metric           | Value   |
|------------------|---------|
| JSHeapUsedSize   | 41.3 MB |
| Nodes            | 6,284   |
| JSEventListeners | 1,116   |
| ScriptDuration   | 4.47s   |
| LayoutCount      | 127     |
| LayoutDuration   | 305.3ms |

The LLM spots the high heap and slow scripts, then suggests fixes. You never open DevTools.

vs chrome-devtools-mcp

Google's chrome-devtools-mcp is a general DevTools MCP server. PEN is built specifically for performance work: multi-snapshot heap diffs, streaming for multi-GB payloads, no Node.js runtime, and every tool aimed at "why is this slow?" rather than "what's on the page?". They complement each other.