By HTRMC
Query Tracy .tracy captures: hotspots, zone stats, capture info, compare two captures.
An MCP server that lets AI agents query
Tracy profiler .tracy captures.
Written in C++ and linked directly against Tracy's own server/Worker library
(v0.13.1), so it reads captures with the exact same code the Tracy GUI uses - no
binary-format reimplementation, no shelling out to CLI tools. Works with any MCP
client: Claude Code, Codex, Cursor, etc.
| Tool | What it answers |
|---|---|
capture_info | Program, duration, zone/thread/frame counts - the overview. |
hotspots | Top zones by total (or self) time. "What is slow?" |
zone | Stats for zones matching a name substring. |
compare_captures | Diff zone times between two captures. "What regressed?" |
All tools take an absolute path to a .tracy file. Stats (mean/min/max/std,
self-time) match tracy-csvexport exactly.
Needs a C++20 compiler, CMake ≥ 3.16, Ninja, and git. Dependencies (capstone, zstd, ppqsort, nlohmann/json) are fetched automatically via CPM on first configure.
git clone --recurse-submodules <this repo> # Tracy lives in third_party/tracy
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
# -> build/tracy-mcp(.exe)
cmake --install build --prefix <dir> # optional: puts tracy-mcp on PATH
If you cloned without submodules:
git submodule update --init (or the repo vendors Tracy at third_party/tracy).
Use the path to your built binary (build/tracy-mcp or build/tracy-mcp.exe),
or just tracy-mcp if you ran cmake --install and it is on PATH.
claude mcp add tracy -- /path/to/tracy-mcp.exe
Point the client at the binary as a stdio MCP server. Example config block:
{
"mcpServers": {
"tracy": { "command": "/path/to/tracy-mcp.exe" }
}
}
Then ask things like "Run hotspots on C:/captures/frame_spike.tracy, top 10 by self time" or "Compare baseline.tracy with today.tracy."
Two channels, both backed by per-OS binaries built in CI
(.github/workflows/release.yml, triggered by pushing a v* tag).
This repo is also a plugin marketplace (.claude-plugin/marketplace.json). The
plugin runs tracy-mcp from PATH, so build + install first
(cmake --install), then:
/plugin marketplace add HTRMC/tracy-mcp
/plugin install tracy-mcp@HTRMC
No build, no toolchain. Grab tracy-mcp-<os>.mcpb for your OS from the
Releases page, then in Claude
Desktop: Settings -> Extensions -> Advanced settings -> Install Extension, and
pick the file.
.tracy format is versioned;
bump the third_party/tracy submodule to match your capture's version.Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub htrmc/tracy-mcp --plugin tracy-mcpMemory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Streamline people operations — recruiting, onboarding, performance reviews, compensation analysis, and policy guidance. Maintain compliance and keep your team running smoothly.
Write feature specs, plan roadmaps, and synthesize user research faster. Keep stakeholders updated and stay ahead of the competitive landscape.
Create content, plan campaigns, and analyze performance across marketing channels. Maintain brand voice consistency, track competitors, and report on what's working.
Prospect, craft outreach, and build deal strategy faster. Prep for calls, manage your pipeline, and write personalized messaging that moves deals forward.