v8-cpu-profile-decoder-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| extract_hottest_functionsA | Parses a V8 .cpuprofile file and returns the top N functions ranked by exclusive CPU time (self time). Filters out V8 internals and Node.js built-ins by default, returning only user code. Framework frames (express, next.js, koa, etc.) can be collapsed into a single entry. Recursive calls to the same source location are merged with an instanceCount field. Use this first to identify which functions are consuming the most CPU in a Node.js performance profile. |
| analyze_call_tree_pathA | Finds all callers of a specific function in a V8 CPU profile and returns how often each caller invoked it. Accepts partial, case-insensitive function name matching. Use to answer: what is calling my slow function and how many times? |
| correlate_source_codeA | Maps the hottest functions in a V8 CPU profile back to their original TypeScript source locations using source map files (.js.map). Falls back to compiled JS locations if no source map is found. Use to answer: which TypeScript file and line is the bottleneck actually coming from? |
| analyze_gc_pressureA | Analyses a V8 .cpuprofile for garbage collection overhead. Reports total GC time as a percentage of profiling duration, broken down by GC type (Scavenger = short-lived object pressure, Mark-Sweep/Mark-Compact = old-space pressure, Incremental = high allocation rate). Flags when GC exceeds a configurable threshold and provides a targeted recommendation. Use to answer: is GC the bottleneck, and what kind of allocation pattern is causing it? |
| diff_profilesA | Compares two V8 .cpuprofile files (before and after an optimization) and returns per-function CPU time deltas, normalized against each profile's total duration. Frames are matched by call-frame coordinates (functionName + url + line + column), not by transient node IDs, so alignment is stable across profiling sessions. Use to answer: which functions improved or regressed after my change, and by how much? |
| analyze_async_bottlenecksA | Detects event-loop overhead in a V8 CPU profile by identifying V8 internal frames that represent async machinery — microtask queue processing, nextTick saturation, and timer/immediate callbacks. These frames are invisible to most profilers but consume real CPU when promise chains are deep or nextTick is overused. Use to answer: is the bottleneck async orchestration overhead rather than synchronous computation? |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct analytical question: extraction of hot functions, caller analysis, source mapping, GC pressure, profile diffing, and async bottleneck detection. There is no overlap in purpose; each description clearly identifies a unique use case.
All tool names follow a consistent verb_noun pattern with lowercase and underscores (extract_hottest_functions, analyze_call_tree_path, etc.). The verbs are varied but the structure is uniform, making the set easy to scan and predict.
Six tools is well within the ideal range for a specialized server. Each tool covers a meaningful aspect of CPU profile analysis without redundancy or bloat, and the number feels appropriate for the server's scope.
The tool set covers the primary workflows for CPU profile analysis: identifying hot spots, tracing callers, mapping to source, GC overhead, before/after comparison, and async overhead. Minor gaps exist, such as a tool for basic profile metadata (total samples, duration), but the core diagnostic needs are met.