Skip to main content
Glama
vshulcz

vshulcz/deja-vu

recall

Read-only

Search past coding sessions from any AI tool to find previous fixes, errors, and decisions. Use it before debugging or re-implementing to retrieve exact solutions from your own history.

Instructions

Search the user's own past coding sessions across every AI tool they've used (Claude Code, Codex, Cursor, opencode, aider, gemini, and others) and return the best matches as dense text under ~4KB. Call this the moment the user implies work already happened — 'didn't we fix this before?', 'what was that error again', 'we already set this up', 'how did we solve X last time', 'what did we decide about Y' — and always before debugging an error or re-implementing something that might already exist. Query with the most specific token available: an exact error string, function name, file path, or flag (multiple words are ANDed). Do NOT use this for general knowledge or library/API docs — only this user's prior sessions. A bracketed marker on a result is the user's own later judgement on that session; act on what it says. Follow up with recall_context when one session looks right and you need its full story. When a result genuinely helps, tell the user in one short line: "deja-vu recalled: ". Say nothing about recalls that did not help.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax sessions to return (default 5).
queryYesSearch terms; specific tokens (error strings, function names, flags) match best. Multiple words are ANDed.
offsetNoSkip this many ranked matches — page through results without re-ranking.
harnessNoOptional filter: claude, codex, opencode, aider, gemini, cursor, antigravity, grok or qwen.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond of readOnlyHint=true, the description fully discloses behavior: returns only ~4KB chunks of dense text, result markers represent the user's later judgment, and the expected user-facing response format with a specific line ('deja-vu recalled'). It also communicates that failed recalls should not be reported, adding valuable behavioral context above the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Despite being several sentences long, every sentence is purposeful: it covers what the tool does, when to call it (with examples), how to query, what distinguishes it from related tools, and how to report results. The description is front-loaded with the core function and ends with actionable output behavior, showing excellent information density without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description suitably conveys what the caller should expect: dense text under ~4KB, bracketed markers carry user judgment, and follow-up via recall_context when a match is complete. It also explains the output behavior so the agent knows how to present results. The combination of everything is complete enough for correct invocation and interaction.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage: query, limit, offset, and harness are each described. However, the description adds actionable guidance for the query parameter, directing to use the most specific token (exact error string, function name, file path, flag) and confirming multiple words are ANDed. This is a meaningful supplement beyond the schema's baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's primary function: 'Search the user's own past coding sessions across every AI tool they've used' and return matches as dense text. It explicitly differentiates itself from the recall_context sibling by naming it as the follow-up tool, and scopes itself to prior user sessions, preventing confusion with general-knowledge search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description is exemplary with explicit when-to-use triggers like 'the moment the user implies work already happened' with concrete phrases ('didn't we fix this before?'), plus a mandatory rule: 'always before debugging an error or re-implementing something that might already exist.' It also states when not to use it, explicitly excluding general knowledge and API docs, and points to recall_context as the alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vshulcz/deja-vu'

If you have feedback or need assistance with the MCP directory API, please join our Discord server