analyze_pprofLABSCO SUMMARY
Comparison tools, not just a top-N list.
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.
What it is
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.
What you get
analyze_pprof— cpu, heap, goroutine, allocs, mutex and block profiles, output as text, markdown, JSON top-N or hierarchical flame-graph JSONgenerate_flamegraph— an SVG flame graph written to a path you name, with the content returned as welldetect_memory_leaks— compares two heap snapshots and reports growth by object type and allocation site, with a threshold you setcompare_profiles— baseline against target for any profile type, listing regressed, improved, added and removed functionsanalyze_heap_time_series— three or more heap profiles in order, turned into growth rates and trending object typesopen_interactive_pproflaunches the pprof web UI in the background and returns its PID;disconnect_pprof_sessionstops it again
Requirements
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.
Setup effort
One command — go install github.com/ZephyrDeng/pprof-analyzer-mcp@latest
USE CASES
Finding what is burning CPU
Point it at the profile and read the top-N in markdown, or take the flame-graph JSON straight into a viewer.
Proving a memory leak rather than suspecting one
Capture two heap snapshots some time apart and compare them by object type and allocation site.
Checking a release did not regress
Diff the new profile against the baseline and read which functions got worse, better, or appeared.
Watching growth over a whole afternoon
Feed several heap profiles in chronological order and get growth rates and trend direction per type.
Digging in by hand after the automated pass
Launch the interactive pprof UI in the background, then stop it by PID when you are done.
7 tools
Listed in project docs. Your client may show a different list.
generate_flamegraphopen_interactive_pprofdetect_memory_leaksdisconnect_pprof_sessioncompare_profilesanalyze_heap_time_seriesBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
docker run -i --rm pprof-analyzer-mcp on PATH
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
go install github.com/ZephyrDeng/pprof-analyzer-mcp@latestMCP Clients
Roo Code
{
"mcpServers": {
"pprof-analyzer": {
"command": "pprof-analyzer-mcp"
}
}
}Roo Code — Docker
{
"mcpServers": {
"pprof-analyzer-docker": {
"command": "docker run -i --rm pprof-analyzer-mcp"
}
}
}