会话历史搜索工具

一个本地MCP服务器,用于将Claude对话历史导出并索引到SQLite中,使新会话可以自动搜索旧对话内容。

  • by sneg55
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 sneg55/old-claude-mcp

使用说明

老克劳德·麦克普

Anthropic允许您导出克劳德的对话历史记录,但无法将其导入新帐户。这是一个本地MCP服务器,它使导出变得非常有用——将您的旧对话索引到SQLite中,Claude可以在新会话中自动搜索它们。

背景 Claude允许您导出数据,但不允许您使用它

为什么

如果你切换了Claude帐户,失去了对电子邮件地址的访问权限,或者只是想让你的旧上下文继续可用,你就会陷入一个无法处理的JSON文件。此工具对该文件进行索引,并将其作为Claude在对话期间自动调用的三个MCP工具公开。

设置

1.导出您的克劳德历史记录

转到claude.ai→ 设置→ 导出数据。您将获得一个包含以下内容的ZIP conversations.json.

2.安装依赖项

git clone https://github.com/sneg55/old-claude-mcp
cd old-claude-mcp
pip install -r requirements.txt

3.为您的出口建立索引

python indexer.py ~/Downloads/conversations.json --db history.db

4.添加到Claude桌面配置

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "chat-history": {
      "command": "/usr/local/bin/python3",
      "args": [
        "/path/to/old-claude-mcp/server.py",
        "--db",
        "/path/to/old-claude-mcp/history.db"
      ]
    }
  }
}

使用Python解释器的绝对路径。找到它 which python3.

5.重新启动克劳德桌面

用法

正常说话。Claude在相关时自动调用这些工具:

  • “我们对X做了什么决定?”→ search_history("X") → get_conversation(uuid)
  • “加载项目Y的上下文”→ search_history("Y")
  • “查找有关Z公司的所有对话”→ search_history("Z")

工具

工具 说明
search_history(query, limit?) 在所有对话中进行全文搜索,返回带有片段的排名结果
get_conversation(uuid) 对话的完整消息线程(截断为50k个字符)
list_conversations(limit?, after?) 按日期降序浏览对话

添加新提供商

实施 ConversationParser 从 parsers/base.py 并将其传递给 insert_conversations() 在 indexer.py.ChatGPT导出支持(ChatGPTParser)这是自然而然的下一步——欢迎公关。

未来

  • 语义/向量搜索(ChromaDB+句子转换)
  • ChatGPT导出支持
  • 更新出口的增量索引