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
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
| Category | What it does | Tools |
|---|---|---|
| Memory | Heap snapshots, diffs, allocation tracking | 4 |
| CPU | CPU profiling, Chrome traces, trace analysis | 3 |
| Network | Capture, waterfall, render-blocking detection | 4 |
| Coverage | JS and CSS coverage with unused byte breakdown | 2 |
| Audit | Performance metrics, Web Vitals, accessibility | 3 |
| Source | List and search loaded scripts | 3 |
| Console | Live console capture and filtering | 2 |
| Lighthouse | Full Lighthouse audits | 1 |
| Utility | Navigation, screenshots, eval, emulation, tabs | 8 |
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.