对话历史管理服务

一个提供对话历史搜索、代码片段检索和项目摘要功能的Claude Code MCP服务器。

  • by MatheusKindrazki
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 MatheusKindrazki/claude_memory_mcp

使用说明

克劳德存储器MCP

一种模型上下文协议(MCP)服务器,为Claude Code提供对其自己的对话历史的访问。搜索过去的会话,查找代码片段,并从以前的对话中检索上下文。

特性

  • 搜索对话:在所有过去的对话中进行全文搜索
  • 项目总结:了解所使用的技术、编辑的文件和调用的工具
  • 会话历史记录:使用摘要和元数据浏览最近的会话
  • 代码检索:按内容或编程语言查找代码片段
  • 跨项目:适用于所有Claude Code项目

安装

先决条件

  • Python 3.11或更高版本
  • 已安装Claude Code CLI

设置

# Clone the repository
git clone https://github.com/yourusername/claude-memory-mcp.git
cd claude-memory-mcp

# Create virtual environment
python3.11 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install the package
pip install -e .

配置

将MCP服务器添加到您的Claude Code设置中 ~/.claude/settings.json:

{
  "mcpServers": {
    "claude-memory": {
      "command": "/absolute/path/to/claude-memory-mcp/.venv/bin/python",
      "args": ["-m", "claude_memory_mcp.server"]
    }
  }
}

替换 /absolute/path/to/claude-memory-mcp 使用克隆存储库的实际路径。

可用工具

memory_list_projects

列出具有Claude Code对话历史记录的所有项目。

输出:项目名称、路径、会话计数、消息计数、上次活动时间。


memory_search

在所有对话中进行全文搜索。

参数 类型 必填 默认 说明
query string 是 - 搜索词
project string 否 - 按项目名称筛选
limit int 否 10 最大结果
include_context bool 否 true 包括周围的消息

输出:与项目、会话、时间戳、带突出显示的匹配文本和上下文匹配。


memory_get_project_summary

基于对话历史记录返回项目摘要。

参数 类型 必填 说明
project string 是 项目名称或路径

输出:检测到的技术、频繁编辑的文件、工具使用统计数据、日期范围。


memory_get_recent_sessions

列出项目的最近会话。

参数 类型 必填 默认 说明
project string 是 - 项目名称或路径
limit int 否 5 会话数

输出:会话列表,包括时间戳、持续时间、消息计数、摘要和触摸的文件。


memory_get_session_detail

获取特定会话的详细信息。

参数 类型 必填 默认 说明
session_id string 是 - 会话ID(支持部分匹配)
format string 否 “摘要” 输出格式: full, summary,或 code_only

输出:会话内容采用请求的格式。


memory_find_code_snippets

搜索在对话中讨论或生成的代码。

参数 类型 必填 默认 说明
query string 是 - 搜索词(函数名、模式等)
language string 否 - 按语言筛选(python、typescript等)
project string 否 - 按项目筛选
limit int 否 10 最大结果

输出:包含语言、上下文和源会话的代码片段。

使用示例

配置后,您可以向Claude Code自然语言问题提问:

"What did we discuss about authentication in this project?"
"Show me the last sessions for the backend project"
"Find that validation code we wrote last week"
"What was the decision about the database architecture?"
"Search for FastAPI implementations across all projects"

或者直接使用工具:

memory_list_projects
memory_search "error handling" --project myapp
memory_get_project_summary backend-api
memory_find_code_snippets "async def" --language python

运作原理

Claude Code将对话历史记录存储为JSONL文件 ~/.claude/projects/每个项目都有一个子目录,其中包含会话文件。

此MCP服务器:

  1. 使用流解析JSONL文件以提高内存效率
  2. 提取消息、工具调用和代码块
  3. 提供搜索和摘要功能
  4. 将格式化结果返回给Claude Code

项目结构

claude-memory-mcp/
├── pyproject.toml
├── README.md
└── src/
    └── claude_memory_mcp/
        ├── __init__.py
        ├── server.py      # FastMCP server with tool definitions
        ├── parser.py      # JSONL file parser with streaming
        ├── indexer.py     # Search and indexing logic
        ├── models.py      # Pydantic data models
        └── utils.py       # Formatting utilities

需求

  • Python>=3.11
  • mcp>=1.0.0
  • 媒染剂>=2.0.0

局限性

  • 搜索当前是基于文本的(还没有语义/嵌入搜索)
  • 首次访问时,大型会话可能需要一些时间来解析
  • 克劳德代码中的路径编码意味着路径中的某些连字符在显示中不会保留

贡献

欢迎投稿!请随时提交拉取请求。

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

致谢

内置于 FastMCP 用于模型上下文协议实现。