AI代理持久记忆服务

mcp-memory是一个为AI代理提供持久记忆功能的本地服务器,通过语义搜索实现跨会话的记忆存储与检索。

  • by oneKn8
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 oneKn8/mcp-memory

使用说明

mcp存储器

你的AI代理在会话之间会忘记一切。这解决了这个问题。

一个MCP服务器,为任何AI代理提供具有语义搜索的持久内存。一次性存储决策、上下文和知识——在未来的任何会话中用自然语言查询回忆它们。

基于ChromaDB嵌入构建,按项目范围划分,完全在本地运行。

为什么

每个基于MCP的代理(Claude Desktop、Claude Code、Cursor)在每次会话开始时都会失忆。昨天做出的决定已经过去了。上周的背景已经消失了。你每次都重复解释同样的事情。

mcp内存添加了四个工具-- remember, recall, forget, list_memories --通过向量相似性搜索在会话中持久化知识。你的代理人会记住重要的事情,并在相关的时候找到它。

特性

  • 语义回忆 --向量嵌入(全MiniLM-L6-v2)可以找到相关的记忆,而不仅仅是关键字匹配
  • 根据项目范围 --项目之间不会泄露记忆
  • 重要性评分 --优先考虑关键决策(1-5分)
  • 基于标签的过滤 --按类别组织记忆
  • 完全本地化 --ChromaDB在磁盘上,没有云,没有API密钥,没有遥测

安装

pip install -e .

配置

环境变量 默认值 描述
MCP_MEMORY_DATA_DIR ~/.mcp-memory/ 内存存储在磁盘上的位置
MCP_MEMORY_DEFAULT_PROJECT global 默认项目范围
MCP_MEMORY_MAX_RESULTS 10 默认召回结果数量

MCP客户端设置

克劳德桌面版

添加 ~/.config/claude/claude_desktop_config.json:

{
  "mcpServers": {
    "memory": {
      "command": "mcp-memory",
      "env": {
        "MCP_MEMORY_DATA_DIR": "~/.mcp-memory"
      }
    }
  }
}

克劳德代码

添加 .claude/settings.json:

{
  "mcpServers": {
    "memory": {
      "command": "mcp-memory"
    }
  }
}

工具

记住

储存一段记忆以备后用。

Arg 类型 默认值 描述
content string 必填 要记住的文本
project string “全局” 项目范围
tags list[string] [] 筛选标签
source string “” 这段记忆是从哪里来的
importance int 3 优先级1-5

召回

通过语义相似性搜索记忆。

Arg 类型 默认值 描述
query string 必填 自然语言搜索
project string all 仅限于项目
tags list[string] none 按标签筛选
n_results int 10 最大结果
min_relevance float 无 最小相关性0.0-1.0

忘记

删除存储的记忆。

Arg 类型 默认值 描述
memory_ids list[string] none 要删除的特定ID
project string none 删除项目中的所有内容
tags list[string] none 按标签删除

list_memories

通过分页浏览存储的内存。

Arg 类型 默认值 描述
project string 全部 筛选到项目
tags list[string] none 按标签筛选
page int 1 页码
page_size int 20 每页结果

发展

pip install -e ".[dev]"
pytest              # run tests
ruff check .        # lint
ruff format .       # format
mypy mcp_memory     # type check

许可证

麻省理工学院