claude-find
claude-find
在需要时,从你所有的 Claude Code 会话中提取深度记忆。

对你过去所有的 Claude Code 会话进行语义搜索。通过含义和关键词查找上下文。搜索原始对话记录,而不是压缩后的摘要,因此 Claude 可以获得完整的图景:推理过程、约束条件、失败的方法和决策。
设置
brew install bun ollama
bunx claude-find setupsetup 会启动 Ollama,拉取嵌入模型,将会话保留设置为永久,并向 Claude Code 注册 MCP 服务器。会话在启动时会在后台进行索引。搜索功能可立即使用,并随着索引的持续进行,返回的结果会越来越完整。
安装 Bun 和 Ollama,然后运行 bunx claude-find setup。它会自动检测你的平台并引导你完成缺失的配置。
Related MCP server: am-memory
使用方法
在任何 Claude Code 会话中:
/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 会对你过去的会话进行语义搜索,找到相关的对话,并综合上下文:尝试过什么、什么失败了、你设置了哪些约束条件以及做出了哪些决策。
工作原理
索引:从
~/.claude/projects/中索引所有 Claude Code 会话的 JSONL 文件提取:提取用户和助手的消息、紧凑摘要以及工具调用中的文件路径
丰富:使用元数据上下文(项目、分支、文件、日期)丰富每个数据块,以实现更好的检索
嵌入:通过 Ollama 使用 qwen3-embedding 对对话块进行嵌入(GPU 加速)
搜索:通过倒数排名融合(Reciprocal Rank Fusion)合并混合语义 + 关键词(FTS5)搜索
返回:返回原始对话块,以便 Claude 可以利用完整上下文进行综合
升级后,运行 bunx claude-find index 以使用最新的改进重建索引。
差异之处
搜索原始记录:不会因压缩而丢失任何信息。
追溯性:立即适用于所有现有会话。无需挂钩。
永久历史记录:设置会禁用 Claude Code 的 30 天会话清理功能,因此你的会话可以永久搜索。
非阻塞:在启动时于后台进行索引。搜索功能即时可用,即使在索引过程中也是如此。
使用紧凑摘要:Claude 自身的会话理解,在排名中得到提升。
索引工具调用元数据:按触及的文件、遇到的错误进行搜索。
快速:Ollama + GPU 保持索引快速且内存受限。
要求
许可证
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.
1 tool update
- First observed
search_sessions
TDQS
Scored across 1 tool
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
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.
- SeturosOAuthcom.seturos
Shared work memory for Claude Code, Codex, Cursor and chat, scoped to each repository.
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.119 npm1MIT
- 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 gradedqualityDmaintenanceProvides 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