claude-find
claude-find
Pull deep memory from across your Claude Code sessions — when you need it.

Semantic search over all your past Claude Code sessions. Finds context by meaning and keywords. Searches the raw conversation transcripts, not compressed summaries, so Claude gets the full picture: reasoning, constraints, failed approaches, and decisions.
Setup
brew install bun ollama
bunx claude-find setupsetup starts Ollama, pulls the embedding model, sets session retention to permanent, and registers the MCP server with Claude Code. Sessions are indexed in the background on startup. Searches work immediately and return progressively more complete results as indexing continues.
Install Bun and Ollama, then run bunx claude-find setup. It detects your platform and guides you through anything missing.
Related MCP server: am-memory
Use it
In any Claude Code session:
/find that database migration we discussed last week
/find why we chose websockets over polling
/find the session where we kept getting timeout errors
/find refactoring the payment module across all projectsClaude searches your past sessions semantically, finds the relevant conversations, and synthesizes the context: what was tried, what failed, what constraints you set, and what decisions were made.
How it works
Indexes all Claude Code session JSONL files from
~/.claude/projects/Extracts user + assistant messages, compact summaries, file paths from tool calls
Enriches each chunk with metadata context (project, branch, files, date) for better retrieval
Embeds conversation chunks using qwen3-embedding via Ollama (GPU accelerated)
Searches with hybrid semantic + keyword (FTS5) merged via Reciprocal Rank Fusion
Returns raw conversation chunks so Claude can synthesize with full context
After upgrading, run bunx claude-find index to rebuild the index with the latest improvements.
What makes this different
Searches raw transcripts. Nothing lost through compression.
Retroactive: works on all existing sessions immediately. No hooks needed.
Permanent history: setup disables Claude Code's 30-day session cleanup so your sessions are searchable forever.
Non-blocking: indexes in the background at startup. Searches work instantly, even mid-indexing.
Uses compact summaries: Claude's own session understanding, boosted in ranking.
Indexes tool call metadata: search by files touched, errors encountered.
Fast: Ollama + GPU keeps indexing fast and memory bounded.
Requirements
License
MIT
Available Tools
1 toolsearch_sessionsA
Search the full conversation history from past Claude Code sessions stored in ~/.claude/projects/. This tool has access to the complete raw transcripts of all previous sessions — including the actual back-and-forth discussion, reasoning, failed approaches, user constraints, and code decisions. Use this tool FIRST whenever the user mentions anything from a past session, asks 'what did we discuss', 'pull in context from', 'remember when we', 'how did we handle', or references any prior work. This tool searches semantically — the user doesn't need to remember exact words. Much more detailed than built-in memory.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | What to search for — natural language description of the past session or topic | |
| max_sessions | No | Max sessions to return (default 3, max 5) | |
| max_chunks | No | Max conversation chunks per session (default 3, max 3) | |
| scope | No | 'current' searches only the current project (default), 'all' searches across all projects. Use 'all' when user says 'across all projects' or doesn't specify a project. | current |
| project_filter | No | Filter to a specific project by name (e.g. 'visk', 'myapp'). Use when user says 'in visk' or 'in the payments project'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the scope of data ('complete raw transcripts', 'discussion, reasoning, failed approaches') and the semantic search nature. It does not mention any destructive actions or potential privacy concerns, but for a read-only search tool, the disclosure is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with four sentences, starting with the core purpose and then usage guidance. Every sentence contributes meaning, though it could be slightly trimmed without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately explains the tool's function and when to use it, but it does not describe the return value format or content. The schema hints at output via parameters like max_sessions and max_chunks, but without an output schema, the description should explicitly state what is returned (e.g., matching sessions with chunks).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions. The tool description adds context about the underlying data ('complete raw transcripts') that enriches understanding of what the 'query' parameter searches over, going beyond the schema's literal description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches 'full conversation history from past Claude Code sessions' and specifies the exact storage location. It distinguishes itself from built-in memory by claiming to be 'much more detailed', which is useful even though no siblings are listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use the tool first, listing example phrases like 'what did we discuss' and 'remember when we'. It also explains that searches are semantic, reducing the need for exact words, which is a clear usage recommendation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
- First observed
search_sessions
TDQS
With only one tool, there is no possibility of confusion between tools. The tool's purpose is clearly defined.
The single tool name 'search_sessions' follows a consistent verb_noun pattern, though there are no other tools to compare against.
A single tool for searching is borderline thin; most servers of this scope would benefit from at least 2-3 tools (e.g., list_sessions, get_session). The count is at the low end of reasonable.
The tool covers the core search functionality well, but lacks complementary tools such as listing available sessions or retrieving full transcripts by ID, which would make the surface more complete.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Persistent cross-session memory shared by Codex, Claude Code, ChatGPT, and other AI agents.
Shared memory for coding agents. Stop re-explaining your codebase every session.
Shared memory for AI coding agents. Save once, reuse from Cursor, Claude Code, Codex.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to query and analyze past Claude Code sessions, providing structured insights like file changes, decisions, errors, and git history across projects.11201MIT
- AlicenseNot gradedqualityDmaintenancePersistent memory for Claude Code — a self-evolving knowledge layer that survives across sessions, grows from every conversation, and surfaces relevant context automatically.14MIT
- AlicenseNot gradedqualityCmaintenanceProvides persistent memory for Claude Code, automatically extracting and surfacing relevant context from past sessions to avoid re-explaining issues and decisions.MIT
- AlicenseNot gradedqualityAmaintenanceEnables Claude Code to search and retrieve past chat history from Claude.ai exports and Claude Code sessions, allowing the AI to reference previous conversations and decisions.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Cavinooo/claude-find'
If you have feedback or need assistance with the MCP directory API, please join our Discord server