profiler-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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| uprof_checkA | Probe the uProf environment: binary, version, platform, active mode, results dir. Call this before collecting. |
| uprof_collectA | Run a uProf collection and store the result; returns a Pass exactly one target: |
| uprof_list_resultsA | List stored uProf results: result_id, config, target, mode, creation time. Use to rediscover result_ids from earlier collections. Entries stamped mode "mock" contain synthetic numbers. |
| uprof_report_summaryA | Parsed run overview of a stored result: duration, top hotspots, host details. Generates the CSV report on first use (cached in the session dir afterwards).
The fastest way to understand a collection before drilling into hotspots.
|
| uprof_report_hotspotsA | Top-N hottest functions of a stored result, sorted by sample share descending.
|
| uprof_report_rawA | Escape hatch: raw uProf CSV report text for a stored result, byte-capped. uProf's report subcommand writes CSV files rather than printing to stdout, so
this returns the contents of the generated report.csv (cached after first
use). With |
| uprof_compareA | Compare two stored results function-by-function and issue a pass/fail verdict. The core of an optimize loop: collect a baseline, change code, collect a
candidate, compare. The verdict fails when the total or any significant
function regresses more than |
| uprof_timechartA | Sample system power/frequency/thermal counters over time and summarize them.
|
| uprof_system_infoA | Parsed Use to decide which collect configs the hardware supports before profiling. In mock mode the fields are synthetic. |
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 9 tools
Most tools have clearly distinct roles: check, collect, list, report, compare, timechart, system info. The three report variants (raw, summary, hotspots) are similar but their descriptions clarify the output formats, and check vs system_info have some overlap but remain distinguishable.
All tools share the 'uprof_' prefix, but the suffix pattern is inconsistent: some are verbs (check, collect, compare), some are verb_noun (list_results), and some are nouns (timechart, system_info). The report_* subfamily is internally consistent, but overall the naming mixes conventions while remaining readable.
With 9 tools, the set is well-scoped for a profiling server. Each tool covers a distinct part of the workflow (probe, collect, list, report, compare, system stats) without redundancy, and the count is comfortably within the ideal range.
The core profiling lifecycle is covered: environment check, collection, result listing, multiple report views, comparison, and time-series sampling. Minor gaps exist such as no explicit delete-result tool or a direct 'list available events' (though check includes available analyses), but agents can accomplish the main profiling tasks without dead ends.