Anyone can read a single profile; the work is telling whether this release is worse than the last one, and that is what the leak detector, the baseline diff and the time-series analysis are for — growth by object type and allocation site is a far better lead than a flat allocation ranking. Two limits to plan around: the SVG flame graph needs Graphviz installed, and the interactive UI only runs on macOS, with errors from the background process not surfaced back to you.
A Go MCP server for analysing pprof performance profiles. It parses the profile itself for the top-N and flame-graph output, and shells out to `go tool pprof` when you want an SVG or the interactive web UI.
- `analyze_pprof` — cpu, heap, goroutine, allocs, mutex and block profiles, output as text, markdown, JSON top-N or hierarchical flame-graph JSON
- `generate_flamegraph` — an SVG flame graph written to a path you name, with the content returned as well
- `detect_memory_leaks` — compares two heap snapshots and reports growth by object type and allocation site, with a threshold you set
- `compare_profiles` — baseline against target for any profile type, listing regressed, improved, added and removed functions
- `analyze_heap_time_series` — three or more heap profiles in order, turned into growth rates and trending object types
- `open_interactive_pprof` launches the pprof web UI in the background and returns its PID; `disconnect_pprof_session` stops it again
Install with `go install`, build from source, or run the Docker image, which bundles the dependency you would otherwise install yourself. `generate_flamegraph` needs Graphviz on your PATH, because the SVG is produced by the dot command. `open_interactive_pprof` is macOS only and needs the go command available; it defaults to port 8081. Profiles can be passed as file, http or https URIs.
One command — go install github.com/ZephyrDeng/pprof-analyzer-mcp@latest
