/ 目录 / 演练场 / mcp-memory-service
● 社区 doobidoo ⚡ 即开即用

mcp-memory-service

作者 doobidoo · doobidoo/mcp-memory-service

为你的 AI 提供持久的长期记忆,具有语义搜索、标签、5ms 检索和云同步 — SQLite 本地存储,Cloudflare 支持多设备同步。

doobidoo/mcp-memory-service 是一个 Python MCP,为 agent 存储语义记忆。默认的 SQLite-vec 后端很快(5ms),Cloudflare 后端可跨设备同步,混合模式先写本地再异步复制。包含 REST API、web 仪表板和用于远程访问的 OAuth 2.0。

为什么要用

核心特性

实时演示

实际使用效果

memory-service.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "memory-service": {
      "command": "uvx",
      "args": [
        "mcp-memory-service"
      ],
      "_inferred": true
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "memory-service": {
      "command": "uvx",
      "args": [
        "mcp-memory-service"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "memory-service": {
      "command": "uvx",
      "args": [
        "mcp-memory-service"
      ],
      "_inferred": true
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "memory-service": {
      "command": "uvx",
      "args": [
        "mcp-memory-service"
      ],
      "_inferred": true
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "memory-service",
      "command": "uvx",
      "args": [
        "mcp-memory-service"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "memory-service": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-memory-service"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add memory-service -- uvx mcp-memory-service

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: mcp-memory-service

如何让 Claude 稳定记住你的偏好和上下文

👤 每天重复解释自己的高频用户 ⏱ ~10 min beginner

何时使用: 每次新对话都从零开始,你想要连贯性。

前置条件
  • 已安装 uvx — brew install uv
步骤
  1. 设置偏好
    memory_store:'我使用 iOS + Swift 项目。偏好使用 @Observable 的 MVVM 架构。注释总是用英文。' 标签 [preference, coding]。✓ 已复制
    → 存储确认
  2. 在未来的会话中检索
    memory_search:'我的编码风格偏好'。✓ 已复制
    → 返回偏好,agent 应用它们
  3. 衰减清理
    显示超过 90 天且最近没有点击的记忆 — 提供清理选项。✓ 已复制
    → 过时列表供审查

结果: Claude 表现得像是记住了你。

注意事项
  • 存储敏感 PII,一旦存储就永久可检索 — 不要这样做 — 把记忆当作公共笔记本。用标签来分类。

如何通过 Cloudflare 后端在团队中共享记忆池

👤 运行共享 AI 工作流的团队 ⏱ ~30 min advanced

何时使用: 你想让每个工程师的对话都记住相同的架构决策。

前置条件
  • 有 Workers KV 或 D1 的 Cloudflare 账户 — cloudflare.com,按照 Cloudflare 后端文档进行设置
步骤
  1. 切换后端
    配置 MCP_MEMORY_BACKEND=cloudflare 并在环境变量中设置 CF 凭据。✓ 已复制
    → 记忆端点指向 CF
  2. 设置团队共享记忆
    memory_store:'我们的认证在 services/auth。总是通过 rotate-keys Make target 轮换 JWT 密钥。' 标签 'team-arch'。✓ 已复制
    → 已存储
  3. 从另一台机器验证
    memory_search 'auth service' — 应该返回相同的条目。✓ 已复制
    → 跨设备命中

结果: 跨越团队更替的共享机构记忆。

注意事项
  • 共享记忆中的敏感数据跨团队泄露 — 每个团队运行单独的后端;不要存储密钥

如何在编码会话结束时自动收集学到的知识

👤 大量使用 agent 的独立开发者 ⏱ ~5 min beginner

何时使用: 在结对编程对话结束时,关闭之前。

步骤
  1. 运行收割器
    memory_harvest 这段对话 — 提取持久的事实(API 密钥模式、项目决策、已知陷阱)。忽略闲聊。✓ 已复制
    → 候选记忆的结构化列表
  2. 批准 + 保存
    将第 1、3、5 项保存为标签为 'project-x' 的记忆。丢弃其余的。✓ 已复制
    → 保存计数

结果: 捕获你学到的东西,低摩擦,仅此而已。

组合

与其他 MCP 搭配,撬动十倍杠杆

memory-service + contextplus

使用 Context+ 获取实时仓库状态,memory-service 用于持久的跨会话事实

将这个架构决策保存到 memory-service,并通过 Context+ 内存图链接到相关文件。✓ 已复制
memory-service + github

每次合并 PR 后,将学到的知识收集到记忆中

总结 org/repo 中最后 10 个合并的 PR,提取重复的错误,并将其存储为标签为 'code-review-lessons' 的记忆。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
memory_store content: str, tags?: str[] 保存持久的事实 1 embedding
memory_search query: str, tags?: str[], limit?: int 检索相关记忆 1 vector search (local)
memory_harvest transcript: str 会话结束时捕获 1 LLM call
memory_store_session session_id, messages 导入整个对话 N embeddings

成本与限制

运行它的成本

API 配额
SQLite-vec:本地无限。ChromaDB:本地。Cloudflare:Workers/KV/D1 免费层很慷慨。
每次调用 Token 数
Store:内容约 100 tokens。Search:每个结果约 50 tokens。
费用
免费(开源)。Cloudflare 后端:免费层通常足够。
提示
从 SQLite-vec 开始。仅在需要多设备同步时切换到混合模式。

安全

权限、密钥、影响范围

最小权限: SQLite 模式的本地文件系统 CF 模式的 Cloudflare API token
凭据存储: 通过环境变量的 CF 凭据
数据出站: 本地(SQLite)或你的 Cloudflare 账户(CF)
切勿授予: 不要让不受信任的 prompt 调用 memory_store — 中毒攻击

故障排查

常见错误与修复

ModuleNotFoundError: sqlite_vec

使用 sqlite-vec extra 通过 pip/uv 安装:uvx 'mcp-memory-service[sqlite]'

验证: python -c 'import sqlite_vec'
Cloudflare backend 403

Token 缺少 Workers/KV 权限。创建一个具有特定范围的新 CF API token。

返回的记忆不相关

使用更好的模型重新嵌入 — 默认为本地 MiniLM;通过环境变量升级到 nomic-embed。

memory_harvest 输出重复项

启用 dedup 配置;收割器将跳过与现有项 cosine 相似度 > 0.95 的项。

替代方案

mcp-memory-service 对比其他方案

替代方案何时用它替代权衡
mem0你想要一个托管的记忆 SaaS免费层之外需要付费;厂商锁定
contextplus memory graph你想要与代码理解紧密集成的记忆限制在仓库范围内,不是通用的

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills