记忆管理服务

为LLM对话提供持久化内存和上下文窗口缓存的服务,支持记忆的保存、检索和管理,采用MongoDB存储。

  • by JamesANZ
  • TypeScript
  • 本地部署
  • 23 星标
  • 更新于
在 GitHub 查看 JamesANZ/memory-mcp

使用说明

🧠 内存MCP服务器

LLM会话的持久内存和上下文窗口缓存。 使用智能上下文归档保存、检索和管理内存。MongoDB支持的存储。

一 MCP(模型上下文协议) 该服务器为Cursor和Claude Desktop等AI编码环境提供内存管理和上下文窗口缓存。

为什么使用内存MCP?

  • 💾 永久存储 –MongoDB支持的内存可以在会话中生存
  • 🧠 上下文缓存 –对话上下文的智能存档和检索
  • 🏷️ 基于标签的搜索 –通过标签组织和查找记忆
  • 📊 相关性评分 –自动对存档内容的相关性进行评分
  • ⚡ 简易设置 –在Cursor中单击安装或简单的手动设置

快速开始

准备好为您的AI工作流程添加内存了吗?几秒钟内安装:

在Cursor中安装(推荐):

🔗 在游标中安装

或手动安装:

npm install -g @jamesanz/memory-mcp
# Or from source:
git clone https://github.com/JamesANZ/memory-mcp.git
cd memory-mcp && npm install && npm run build

特性

基本内存工具

  • save-memories –将内存保存到数据库(覆盖现有内存)
  • get-memories –检索所有存储的记忆
  • add-memories –添加新记忆而不覆盖
  • clear-memories –删除所有存储的记忆

上下文窗口缓存

  • archive-context –使用标签存档对话上下文
  • retrieve-context –检索相关的存档上下文
  • score-relevance –对存档内容的相关性进行评分
  • create-summary –创建存档内容的摘要
  • get-conversation-summaries –获取对话的所有摘要
  • search-context-by-tags –按标签搜索存档内容

安装

光标(单击一次)

单击上面的安装链接或使用:

cursor://anysphere.cursor-deeplink/mcp/install?name=memory-mcp&config=eyJtZW1vcnktbWNwIjp7ImNvbW1hbmQiOiJucHgiLCJhcmdzIjpbIi15IiwiQGphbWVzYW56L21lbW9yeS1tY3AiXX19

手动安装

要求: Node.js 18+、npm、MongoDB

# Clone and build
git clone https://github.com/JamesANZ/memory-mcp.git
cd memory-mcp
npm install
npm run build

# Set MongoDB connection string
export MONGODB_URI="mongodb://localhost:27017"

# Run server
npm start

克劳德桌面版

添加到 claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "memory-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/memory-mcp/build/index.js"],
      "env": {
        "MONGODB_URI": "mongodb://localhost:27017"
      }
    }
  }
}

配置后重新启动Claude Desktop。

配置

设置MongoDB连接字符串:

export MONGODB_URI="mongodb://localhost:27017"

违约: mongodb://localhost:27017

使用示例

保存记忆

存储对话中的回忆:

{
  "tool": "save-memories",
  "arguments": {
    "memories": ["User prefers TypeScript", "User works on blockchain projects"],
    "llm": "claude",
    "userId": "user123"
  }
}

找回记忆

获取所有存储的记忆:

{
  "tool": "get-memories",
  "arguments": {}
}

存档上下文

当对话内容过长时,将其存档:

{
  "tool": "archive-context",
  "arguments": {
    "conversationId": "conv-123",
    "contextMessages": ["Message 1", "Message 2"],
    "tags": ["coding", "typescript"],
    "llm": "claude"
  }
}

检索相关上下文

获取与当前对话相关的存档内容:

{
  "tool": "retrieve-context",
  "arguments": {
    "conversationId": "conv-123",
    "tags": ["coding"],
    "minRelevanceScore": 0.5,
    "limit": 10
  }
}

上下文窗口缓存

系统自动:

  • 档案内容 当上下文使用率达到80%时
  • 检索相关内容 当使用率降至30%以下时
  • 分数相关性 使用关键字重叠
  • 创建摘要 浓缩长篇对话

用例

  • 长对话 –管理扩展会话的上下文窗口
  • 内存持久性 –跨会话保存重要信息
  • 上下文检索 –带回过去的相关对话
  • 研究项目 –组织和标记研究对话

技术细节

内置: Node.js、TypeScript、MCP SDK、MongoDB
依赖关系: @modelcontextprotocol/sdk, mongodb, zod
平台: macOS、Windows、Linux

储存: MongoDB(默认值: mongodb://localhost:27017)

贡献

⭐ 如果这个项目对你有帮助,请在GitHub上加星! ⭐

欢迎投稿!请打开问题或提交拉取请求。

许可证

国际学生委员会

支持

如果你觉得这个项目有用,可以考虑支持它:

⚡ 闪电网络

lnbc1pjhhsqepp5mjgwnvg0z53shm22hfe9us289lnaqkwv8rn2s0rtekg5vvj56xnqdqqcqzzsxqyz5vqsp5gu6vh9hyp94c7t3tkpqrp2r059t4vrw7ps78a4n0a2u52678c7yq9qyyssq7zcferywka50wcy75skjfrdrk930cuyx24rg55cwfuzxs49rc9c53mpz6zug5y2544pt8y9jflnq0ltlha26ed846jh0y7n4gm8jd3qqaautqa

₿ 比特币: bc1ptzvr93pn959xq4et6sqzpfk2args22ewv5u2th4ps7shfaqrshe0xtp

※以太坊/EVM。: 0x42ea529282DDE0AA87B42d9E83316eb23FE62c3f