MCP Server for tracking agent execution step latency percentiles (P50, P90, P95, P99) and identifying performance bottlenecks.
Two tools with basic schemas and minimal descriptions. record_latency and get_percentiles have input schemas with typed properties, but descriptions are under 50 chars and lack context on WHEN to use them, WHAT they return, or dependencies. No parameter descriptions beyond property names. No output schema documentation. No error handling guidance. Naming is verb-noun compliant but generic. Missing idempotency hints, retry guidance, and structured output documentation.
Get P50, P90, P95, P99 metrics for a step.
Record agent execution step latency.
Tool descriptions are under 50 characters and lack context. 'Record agent execution step latency' does not explain WHEN to call this tool, what happens on retry, or what the return value means.
Parameter descriptions are missing. 'step_name' and 'latency_ms' have no descriptions in the schema. LLMs cannot infer that step_name is a string identifier or that latency_ms must be positive.
No output schema documented. get_percentiles returns JSON with fields like p50_ms, p90_ms, etc., but the tool definition does not declare this structure. LLMs cannot plan downstream calls or extract fields without knowing the response schema.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If step_name is empty or latency_ms is negative, the tool silently accepts invalid input. No error messages guide the LLM to retry or correct the call.
record_latency is non-idempotent (each call appends a new sample). Tool description does not warn that retries will double-count latencies.