An MCP server that recalls past Claude Code conversations across all projects as clean, compact Markdown.
memocall exposes 5 well-named, read-only tools for recalling past Claude Code conversations. All tools have clear, actionable descriptions (120-250 chars each) that explain WHAT they do and WHEN to use them. Input schemas are present and use Zod with type definitions and descriptions. However, output schemas are NOT documented, the code returns text responses wrapped in a generic {content: [{type: 'text', text: s}]} structure, but there is no declared schema showing what fields or structure the user should expect. Descriptions are good but lack some dependency hints and error-recovery guidance. Parameter descriptions are solid (average ~50 chars), though some could be more explicit about constraints. All tools follow the verb_noun naming pattern correctly. The tools are read-only (no destructive operations) and properly composed, each has a single responsibility and produces output that chains into other tools (e.g., list_sessions and search_sessions return IDs that load_session accepts). Error handling returns friendly messages but does not categorize errors or offer recovery paths. No tool has examples in descriptions (good). Overall: strong naming, good descriptions, present but undocumented output schemas, and solid parameter coverage. Lacks error recovery guidance and explicit output schema documentation.
List your recent Claude Code conversations across ALL projects, grouped by project directory. Use this to answer 'what sessions have I worked on recently?' or to find a past session before loading it. Returns each session's title, date, turn count, and id.
Load the context of a past Claude Code conversation as compact Markdown (human turns, collapsed tool-call summaries, and assistant replies — tool outputs are elided). Provide either a session `id` (from list_sessions/search_sessions) or a free-text `query` to find it. Use this to pull a previous conversation's context into the current session. For a very large session, either pass `turns` to load a specific window (turn numbers come from session_outline), or prefer session_outline / search_in_session.
Find specific turns WITHIN one past Claude Code conversation by keyword — returns only the matching turns (with their turn numbers). Use when the user asks what was decided or discussed about a topic inside a known or large session (e.g. 'what did we decide about retries in that session'). Pick the session by `id` or `session` (free-text); `query` is the keyword to find inside it.
Search your past Claude Code conversations (across all projects) by keyword — matches session titles, first messages, and project paths. Use when the user refers to a past conversation by topic (e.g. 'the session where we set up the license system'). Returns matching sessions with their ids.
Output schemas are not documented. All tools return text responses wrapped in generic {content: [{type: 'text', text: s}]} but there is no declared schema showing what fields, structure, or format agents should expect. LLMs cannot plan downstream operations without knowing output shape.
Error handling returns friendly messages but does not categorize errors as retryable, user-fixable, or fatal. Errors like 'No session found' or 'Multiple sessions match' do not guide the agent on next steps (e.g., 'Try search_sessions() with a broader query').
Parameter 'turns' in load_session accepts a string like '300-340' but the description does not validate against common failure modes (e.g., reversed ranges '340-300', out-of-bounds turn numbers). No constraints in the Zod schema to enforce valid range syntax.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Get a quick MAP of a past Claude Code conversation: the numbered list of the user's prompts, one line each. Very cheap even for huge sessions. Use this to see what a session covered, or to find which turn numbers to then load with load_session's `turns`. Identify the session by `id` or free-text `query`.
load_session accepts both 'id' and 'query' parameters but does not explicitly state they are mutually exclusive or that one is required. The description hints at this ('Provide either...') but Zod schema does not enforce the constraint.
No tool offers pagination or result-limiting guidance for large result sets. list_sessions accepts 'limit' but does not document what happens when the user has >40 sessions (default limit). search_sessions defaults to 20 results but does not explain pagination behavior or how to fetch additional results.