智能编码知识库

MCP Memory是一个专为软件开发工作流设计的智能知识库,能够跨会话和项目存储和检索编码模式、偏好和哲学。

  • by redaphid
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 redaphid/mcp-memory

使用说明

🤝 Show your support - give a ⭐️ if you liked the content

MCP内存-智能编码原理知识库

MCP存储器 是一个 MCP服务器 这给了 MCP客户端(Cursor、Claude、Windsurf等) 这 记忆力 编码模式、偏好和哲学 跨对话和项目它最初是一个简单的用户偏好存储系统,现已发展成为一个专门为软件开发工作流程设计的智能知识库。

🎯 项目目标

  1. 持久的编码知识:跨会话存储和检索编码模式、偏好和发现的解决方案
  2. 智能搜索:使用向量嵌入来查找概念上相关的信息,而不仅仅是关键字匹配
  3. 主动协助:在开始任务之前,提供上下文提示和提醒以搜索相关模式
  4. 学习系统:随着时间的推移,自动分类、扩展查询并提高相关性
  5. 开发工作流集成:与ADD/TDD实践和开发方法无缝集成

🚀 当前功能

核心功能

  • 基于矢量的内存存储:使用AI生成的嵌入来存储文本以进行语义搜索
  • 多命名空间支持:按用户、项目或系统范围组织内存
  • 软删除:安全删除内存,同时保持数据完整性
  • 跨命名空间搜索:在所有项目和环境中寻找模式

智能增强功能(新)

  • 自动分类:自动用语言、域和模式类型标记内存
  • 查询扩展:使用向量相似度自动扩展搜索以查找相关内容
  • 相关性评分:结果根据以下因素评分:
    • 用户偏好信号
    • 近期(较新的记忆得分较高)
    • 会话上下文(您一直在搜索的内容)
    • 代码示例存在
  • 会话上下文跟踪:系统在会话中从您的搜索模式中学习
  • MCP提示:常见开发任务的上下文提示
  • 聪明的建议:根据您的搜索结果获取相关搜索建议

MCP协议特性

  • 工具:
    • addToMCPMemory -使用自动分类存储模式
    • searchMCPMemory -通过查询扩展增强搜索
    • searchAllMemories -跨命名空间发现
    • deleteMemory -软删除特定记忆
    • deleteNamespace -清理整个命名空间
  • 鼓励 新
    • search_philosophy -开始任务前搜索
    • remember_pattern -存储发现的模式
    • session_start -使用相关模式初始化会话
  • 资源 新
    • memory://philosophy/guide -完整的使用指南
    • memory://philosophy/recent -最近添加的图案

技术实现

  • 使用Cloudflare Workers、D1、矢量化(RAG)、持久对象、Workers AI和代理构建
  • 用途 @cf/baai/bge-m3 嵌入模型(1024维)
  • 实施速率限制(100要求/分钟)以确保安全
  • 支持软删除 deleted_at 时间戳
  • 存储对话上下文和元数据,以获得更丰富的记忆

📺 视频

🚀 试试看

https://memory.mcpgenerator.com/

🛠️ 如何部署自己的MCP内存

选项1:一键将您自己的MCP内存部署到Cloudflare

在……里面 创建矢量化 部分选择:

  • 尺寸: 1024
  • 度量: 余弦

点击按钮 “创建和部署”

在Cloudflare仪表板中,转到“Workers&Pages”并单击“Visit”

选项2:使用此模板

  1. 单击此存储库顶部的“使用此模板”按钮
  2. 克隆您的新存储库
  3. 按照以下设置说明进行操作

选项3:使用CloudFlare CLI创建

npm create cloudflare@latest --git https://github.com/puliczek/mcp-memory

🔧 设置(仅选项2和3)

  1. 安装依赖项:
npm install
  1. 创建矢量化索引:
npx wrangler vectorize create mcp-memory-vectorize --dimensions 1024 --metric cosine
  1. 安装牧马人:
npm run dev
  1. 部署worker:
npm run deploy

🧠 运作原理

  1. 存储记忆:

    • 您的文本由处理 Cloudflare人工智能 使用开源 @cf/baai/bge-m3 生成嵌入的模型
    • 文本及其向量嵌入存储在两个位置:
      • Cloudflare矢量化:存储向量嵌入以进行相似性搜索
      • Cloudflare D1:存储原始文本和元数据以实现持久化
    • A. 耐用物体 (MyMCP)管理状态并确保一致性
    • 这 代理 框架处理 MCP协议 沟通
  2. 检索记忆:

    • 您的查询将通过以下方式转换为向量 工人AI 与相同 @cf/baai/bge-m3 模型
    • 矢量化执行相似性搜索以找到相关记忆
    • 结果按相似性得分排名
    • 这 D1数据库 为匹配的向量提供原始文本
    • 这 耐用物体 协调检索过程

该架构实现了:

  • 基于矢量化的快速矢量相似性搜索
  • D1的持久存储
  • 通过持久对象进行有状态的操作
  • 通过Workers AI实现标准化的AI交互
  • 通过代理框架遵守协议

即使单词不匹配,系统也会发现概念上相关的信息。

🔒 安全

MCP Memory实施了多种安全措施来保护用户数据:

  • 每个用户的记忆都存储在 隔离命名空间 在Vectorize中实现数据分离
  • 内建 速率限制 防止滥用(100需求/分钟 -您可以在wrangler.json中更改它)
  • 身份验证仅基于用户ID
    • 虽然由于速率限制,这足以提供基本保护
    • 如果需要,可以轻松添加其他身份验证层(如API密钥或OAuth)
  • 所有数据都存储在Cloudflare的安全基础设施中
  • 所有通信均采用行业标准的TLS加密进行保护(由Cloudflare的SSL/TLS认证自动提供)

💰 成本信息-对大多数用户免费

MCP内存可用于正常使用级别:

  • 免费套餐允许1000个记忆,每月约28000次查询
  • 使用Cloudflare为Workers、Vectorize、Worker AI和D1数据库提供的免费配额

有关Cloudflare定价的更多详细信息,请参阅:

❓ 常见问题解答

  1. 我可以使用memory.mcpgenerator.com来存储我的记忆吗?

    • 是的,您可以使用memory.mcpgenerator.com存储和检索您的记忆
    • 这项服务是免费的
    • 您的记忆被安全地存储,只有您才能访问
    • 我不能保证服务总是可用的
  2. 我可以主持吗?

    • 是的,您可以托管自己的MCP内存实例 在Cloudflare上免费
    • 您需要一个Cloudflare帐户和以下服务:
      • 工人
      • 矢量化
      • D1数据库
      • 工人AI
  3. 我可以在本地运行它吗?

    • 是的,您可以在本地运行MCP Memory进行开发
    • 使用 wrangler dev 在当地管理工人
    • 您需要为Cloudflare服务设置本地开发凭据
    • 请注意,矢量搜索或workers AI等一些功能需要连接到Cloudflare的服务
  4. 我可以使用不同的主机吗?

    • 不,MCP内存是专门为Cloudflare的基础设施设计的
  5. 你为什么建造它?

    • 我想要一个开源解决方案
    • 对我来说,控制自己的数据很重要
  6. 我可以为多人使用它吗?

    • 是的,MCP Memory可以集成到您的应用程序中,为您的所有用户提供服务
    • 每个用户都有自己的隔离内存空间
  7. 我可以用它来存储记忆以外的东西吗?

    • 是的,MCP存储器可以存储任何类型的基于文本的信息
    • 一些实际例子:
      • 知识库:存储技术文档、程序和故障排除指南
      • 用户行为:跟踪用户如何与功能和常见使用模式进行交互
      • 项目说明:决策和项目更新
    • 无论内容类型如何,矢量搜索都将帮助查找相关项目

🤝 表示支持

🤝 Show your support - give a ⭐️ if you liked the content