One profiler for CPU, time, memory, SQL, and async code - quickly find and debug performance bottlenecks.
Scoring was not performed
Tool names lack action verbs. 'FunctionsTiming', 'Debug', 'DataFlow', 'Threads' do not clearly signal retrieval actions. Should be 'get_function_timings', 'get_debug_info', 'get_dataflow_info', 'get_thread_metrics'.
No input schemas documented for 7 of 15 tools (FunctionsTiming, FunctionsAlloc, Debug, DataFlow, Threads, TokioRuntime, ProfilerStatus). Parameterless tools in the codebase but no explicit schema declaration visible in registration.
No output schemas documented for any tool. LLMs cannot predict response structure (field names, types, array vs object). Code reveals internal types (JsonFunctionTimingLogsList, JsonProfilerStatus) but these are not exposed in tool definitions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 39 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 25 | - | v1 |
No pagination parameters (limit, offset, page, cursor) or result count limiting visible. Tools returning lists (FunctionTimingLogs, FunctionAllocLogs, DataFlowChannelLogs, etc.) will return unbounded results, risking context window exhaustion.
Parameter descriptions minimal or absent for most tools with params. 'function_id' is documented as 'The unique identifier of the function' (8 words) but lacks context on what happens if the ID doesn't exist, expected format/range, or whether it's numeric or UUID.
Error responses provided (404 'Function not found', 'Channel not found') but lack actionable recovery guidance. No suggestion for what to do next (e.g., 'Call FunctionsTiming to list all available functions'). Errors do not match MCP error codes.
Feature-gated tool availability (hotpath-alloc, threads, tokio_runtime) not declared in tool metadata. Tools respond with 404 if features are disabled, but LLM has no way to know upfront which tools are available. MCP does not expose feature-flag info.
Tool descriptions do not state when to use this tool vs similar alternatives. E.g., difference between 'DataFlow' (high-level view) and 'DataFlowChannelLogs' (detailed channel logs) is not explained. LLM must infer from naming alone.