MCP server that exposes Claude Code session search, list, and restore as MCP tools so Claude can search conversation history mid-session and recover sessions lost due to desktop app corruption.
Three tools with clear verb-noun naming (search_sessions, list_sessions, restore_session) and reasonable descriptions (120-180 chars). All tools have input schemas with types and descriptions. However, output schemas are not documented, responses are inferred from code inspection. Parameter descriptions are present but lack detail on constraints, formats, and error recovery. No error handling guidance for LLMs. Missing idempotency hints for restore_session (a write operation). Descriptions do not explain when to use each tool vs. alternatives or what happens on failure.
List all Claude Code sessions on disk with dates, projects, and previews. Useful for finding recent sessions or getting an overview of conversation history.
Restore a specific session to the Claude Desktop app by creating or updating its registration file. Use this to recover sessions that disappeared from the UI due to desktop app corruption.
Search across all Claude Code session conversations for a keyword or phrase. Returns matching sessions ranked by relevance with context snippets showing where matches occur.
Output schemas not documented. LLMs cannot infer response structure (fields, types, pagination). search_sessions returns 'results' array with 'id', 'project', 'matches', 'snippets' but this is invisible to the LLM.
restore_session (write operation) lacks error handling guidance. No description of what happens on failure (session not found, file write error, desktop app not running). LLM cannot recover from errors.
Parameter descriptions lack format/constraint details. 'session_id' has no hint about format (UUID, length, character set). 'max_results' and 'context_snippets' lack min/max bounds. LLMs may pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Tool descriptions do not explain when to use each tool. 'search_sessions' vs 'list_sessions' distinction is unclear, when should LLM call search vs list? No guidance on prerequisites or dependencies.
restore_session lacks idempotency guarantee. If called twice with same session_id, does it overwrite safely or fail? No confirmation/dry-run pattern for destructive operations.