Record, replay, and diff every MCP session. Catch silent regressions before your agent does.
mcp-recorder defines 4 tools with basic schemas and descriptions. All tools have input schemas with type definitions and required fields. Descriptions are present but minimal (10-80 chars), below the 50-200 char LLM-optimized baseline. Parameter descriptions exist but lack detail on constraints, formats, or error recovery. No output schemas documented. Error handling is absent, tools do not guide recovery or categorize failures. Tool naming follows verb_noun convention (list_, show_, diff_, replay_) which is good, but descriptions lack context on when to use each tool vs alternatives. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles (3 READ_ONLY, 1 WRITE). Composition is reasonable, each tool has one responsibility, but chaining is not documented.
Semantically diff two sessions. Returns per-request entries and summary counts.
List recorded MCP sessions in a directory (default ~/.mcp-recorder/sessions)
Replay a recorded session against a fresh server, write <name>.replay.jsonl.
Read a recorded session and return its entries + summary as JSON
Descriptions are too short (10-80 chars vs 50-200 baseline). LLMs cannot determine when to select list_sessions vs show_session vs diff_sessions without richer context.
No output schemas documented. LLMs cannot plan downstream operations or extract fields from responses. What does show_session return? What fields are in the summary?
No error handling guidance. Tools do not explain what to do if a session is not found, if replay fails, or if diff encounters incompatible formats. Agents have no recovery path.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
No tool annotations despite clear risk profiles. replay_session is destructive (WRITE) and should have destructiveHint=true. list_sessions and show_session should have readOnlyHint=true.
Parameter 'dir' lacks description in list_sessions and show_session. What is the default? What format is expected? Absolute path? Relative to home?