不再丢失你的Claude Code对话。 再也不用问“我们在哪里讨论过那个bug修复?”或者在终端关闭时丢失数小时的上下文。
npm install -g claude-code-conversation-search-mcp
在所有项目中查找任何对话:
"我们在哪里讨论了数据库问题?"
"找到那个身份验证对话"
"昨天讨论过的Docker配置"
获取确切的项目、日期和命令以立即恢复。
问题: Claude Code没有对话搜索功能。当你关闭终端或切换项目时,找到那个重要讨论变得不可能。你只能滚动浏览晦涩的对话标题,希望认出正确的那个。
解决方案: 在任何项目会话中搜索所有Claude Code对话。询问“我们在哪里讨论了身份验证?”并立即获得确切的对话和恢复命令。
claude --resume命令以继续你离开的地方安装后它会自动配置与Claude Code:
npm install -g claude-code-conversation-search-mcp
在任何项目中工作时跨所有项目进行搜索。
为了获得最佳搜索结果和更好的Claude Code交互,在全局~/.claude/CLAUDE.md文件中添加以下指令:
# 添加到 ~/.claude/CLAUDE.md
echo "- 当被要求使用conversation-search时,必须从非常宽泛的查询开始,逐步缩小范围。根据此MCP结果输出可读文本而不是格式化的JSON。" >> ~/.claude/CLAUDE.md
为什么这有帮助:
# 找回丢失的对话
"我们在哪里讨论了登录错误?"
"找到那个Docker对话"
"我们讨论过的数据库设置"
# 按记忆搜索
"我们修复的身份验证错误"
"昨天讨论的API端点"
"上周的性能问题"
# 从其他项目中寻找解决方案
"我们是如何解决CORS问题的?"
"起作用的Redis配置"
"我们编写的部署脚本"
每次搜索都会给你:
cd ~/.cs/project-name && claude --resume abc123搜索会自动生成目录快捷方式以加快导航速度:
~/.cs/代替长项目路径cd进入poc-fbf-v023-1-cc示例:
# 而不是:
cd '/Users/username/very/long/path/to/project'
# 你会得到:
cd ~/.cs/project-name
使用TypeScript构建,使用SQLite FTS5进行搜索,通过模型上下文协议集成。
系统需求:
性能:
存储:
~/.claude/conversation-search/# 克隆仓库
git clone https://github.com/TonySimonovsky/claude-code-conversation-search-mcp.git
cd claude-code-conversation-search-mcp
# 安装依赖
npm install
# 构建项目
npm run build
# 可选:全局链接
npm link
安装后,MCP服务器会自动配置与Claude Code。无需手动配置!
如果你需要自定义配置,请选择以下方法之一:
选项1:命令行(推荐)
# 对所有项目全局添加
claude mcp add conversation-search claude-code-conversation-search-mcp
# 仅对当前项目添加(创建.mcp.json)
claude mcp add --scope project conversation-search claude-code-conversation-search-mcp
选项2:直接编辑配置文件
全局配置(所有项目):
# 编辑全局Claude Code配置(从任何地方运行)
nano ~/.claude.json
# 或使用你喜欢的编辑器:code ~/.claude.json
{
"mcpServers": {
"conversation-search": {
"command": "claude-code-conversation-search-mcp",
"args": []
}
}
}
特定项目的配置(团队共享):
# 创建项目配置文件(从项目根目录运行)
nano .mcp.json
# 或:code .mcp.json
{
"mcpServers": {
"conversation-search": {
"command": "claude-code-conversation-search-mcp",
"args": []
}
}
}
MCP服务器支持通过环境变量进行广泛的配置。这里是最常用的选项:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
CONVERSATION_DB_PATH | SQLite数据库路径 | ~/.claude/conversation-search.db |
CLAUDE_PROJECTS_DIR | Claude项目目录路径 | ~/.claude/projects |
INDEX_INTERVAL | 自动索引间隔(毫秒) | 300000(5分钟) |
MAX_RESULTS | 返回的最大搜索结果数 | 20 |
DEFAULT_CONTEXT_SIZE | 默认上下文消息数量(前后) | 2 |
AUTO_INDEXING | 启用自动索引 | true |
DEBUG | 启用调试日志 | false |
📖 有关完整的配置选项和性能调优,请参阅配置指南
配置完成后,可以在Claude Code中使用以下工具:
使用自然语言搜索您的对话历史:
search_conversations("我们在哪里创建了auth.js?")
search_conversations("上周的数据库优化")
search_conversations("index.ts中的TypeError")
查询示例:
参数:
query(必需):自然语言搜索查询limit(可选):返回的最大结果数(默认:110)includeContext(可选):是否包含周围的消息(默认:true)获取所有已索引项目的统计信息:
list_projects()
返回项目名称、消息数量和最后活动日期。
检索特定消息周围的完整上下文:
get_message_context("msg_abc123", contextSize: 5)
参数:
messageId(必需):要获取上下文的消息IDcontextSize(可选):前后消息的数量(默认:5)从特定对话中检索消息:
get_conversation_messages("conv_456", limit: 50, startFrom: 0)
get_conversation_messages("conv_456", limit: 10, startFrom: -1) # 最后10条消息
get_conversation_messages("conv_456", limit: 20, startFrom: -10) # 从末尾第10条开始的20条消息
参数:
conversationId(必需):要获取消息的对话IDlimit(可选):返回的消息数量(默认:50)startFrom(可选):起始位置 - 0=第一个,-1=最后一个,-10=从末尾第10个开始(默认:0)显示所有可用工具及其签名:
list_tools()
返回自动生成的工具签名和描述。当添加新工具时会自动更新。
手动触发重新索引:
refresh_index()
在添加新项目或禁用自动索引后很有用。
显示服务器版本、变更日志和系统信息:
get_server_info()
显示当前版本、最近更改、系统状态和可用工具。
内置查询解析器支持复杂的自然语言模式:
# 查找特定的文件操作
"我们在哪里创建或修改了认证文件?"
# 根据多个标准搜索
"上周在项目backend中的数据库迁移"
# 查找特定的错误模式
"React组件中的TypeError或ReferenceError"
# 搜索工具操作
"包含npm或yarn的bash命令"
# 查找代码讨论
"我们在哪里讨论了实现缓存的问题?"
"auth login"查找同时包含两个词的消息)"auth or login")"auth -test"排除与测试相关的结果)"用户认证")"auth*"匹配auth、authentication等)支持的时间表达式:
今天,昨天上周,本周上个月,本月过去7天,过去30天"2024-01-15","自1月1日起"# 克隆并安装
git clone <repository>
cd claude-code-conversation-search-mcp
npm install
# 开发模式下运行,支持热重载
npm run dev
# 运行测试
npm test
# 为生产构建
npm run build
src/
├── index.ts # MCP服务器入口点
├── indexer/
│ ├── parser.ts # JSONL对话解析器
│ ├── database.ts # SQLite数据库操作
│ └── indexer.ts # 索引编排
├── search/
│ └── query.ts # 自然语言查询解析器
└── types/
└── index.ts # TypeScript类型定义
git checkout -b feature/amazing-feature)git commit -m '添加惊人的特性')git push origin feature/amazing-feature)如果搜索索引损坏:
# 删除数据库文件
rm ~/.claude/conversation-search.db
# 重启Claude Code以触发重新索引
对于大量的对话历史:
INDEX_INTERVAL以减少索引频率MAX_RESULTS以限制结果大小启用调试日志以排查问题:
{
"mcpServers": {
"conversation-search": {
"command": "npx",
"args": ["claude-code-conversation-search-mcp"],
"env": {
"DEBUG": "true"
}
}
}
}
MIT许可证 - 详情见LICENSE文件
使用Anthropic的模型上下文协议SDK构建。
Tony AI Champ & Claude Code,2025年9月
对于问题、功能请求或疑问: