🤝 Show your support - give a ⭐️ if you liked the content
______________________________________________________________________
MCP存储器
MCP存储器 是一个 MCP服务器 这给了 MCP客户端(Cursor、Claude、Windsurf等) 这 记忆力 用户信息(偏好、行为) 跨对话它使用矢量搜索技术,根据意义而不仅仅是关键字来查找相关记忆。它由Cloudflare Workers、D1、矢量化(RAG)、持久对象、Workers AI和代理构建。
📺 视频
🚀 试试看
https://memory.mcpgenerator.com/
🛠️ 如何部署自己的MCP内存
选项1:一键将您自己的MCP内存部署到Cloudflare

在……里面 创建矢量化 部分选择:
- 尺寸: 1024
- 度量: 余弦
点击按钮 “创建和部署”
在Cloudflare仪表板中,转到“Workers&Pages”并单击“Visit”
选项2:使用此模板
- 单击此存储库顶部的“使用此模板”按钮
- 克隆您的新存储库
- 按照以下设置说明进行操作
选项3:使用CloudFlare CLI创建
npm create cloudflare@latest --git https://github.com/puliczek/mcp-memory🔧 设置(仅选项2和3)
- 安装依赖项:
npm install- 创建矢量化索引:
npx wrangler vectorize create mcp-memory-vectorize --dimensions 1024 --metric cosine- 安装牧马人:
npm run dev- 部署worker:
npm run deploy🧠 运作原理
- 存储记忆:
- 您的文本由处理 Cloudflare人工智能 使用开源 @cf/baai/bge-m3 生成嵌入的模型 - 文本及其向量嵌入存储在两个位置: - Cloudflare矢量化:存储向量嵌入以进行相似性搜索 - Cloudflare D1:存储原始文本和元数据以实现持久化 - A. 耐用物体 (MyMCP)管理状态并确保一致性 - 这 代理 框架处理 MCP协议 沟通
- 检索记忆:
- 您的查询将通过以下方式转换为向量 工人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定价的更多详细信息,请参阅:
❓ 常见问题解答
- 我可以使用memory.mcpgenerator.com来存储我的记忆吗?
- 是的,您可以使用memory.mcpgenerator.com存储和检索您的记忆 - 这项服务是免费的 - 您的记忆被安全地存储,只有您才能访问 - 我不能保证服务总是可用的
- 我可以主持吗?
- 是的,您可以托管自己的MCP内存实例 在Cloudflare上免费 - 您需要一个Cloudflare帐户和以下服务: - 工人 - 矢量化 - D1数据库 - 工人AI
- 我可以在本地运行它吗?
- 是的,您可以在本地运行MCP Memory进行开发 - 使用 wrangler dev 在当地管理工人 - 您需要为Cloudflare服务设置本地开发凭据 - 请注意,矢量搜索或workers AI等一些功能需要连接到Cloudflare的服务
- 我可以使用不同的主机吗?
- 不,MCP内存是专门为Cloudflare的基础设施设计的
- 你为什么建造它?
- 我想要一个开源解决方案 - 对我来说,控制自己的数据很重要
- 我可以为多人使用它吗?
- 是的,MCP Memory可以集成到您的应用程序中,为您的所有用户提供服务 - 每个用户都有自己的隔离内存空间
- 我可以用它来存储记忆以外的东西吗?
- 是的,MCP存储器可以存储任何类型的基于文本的信息 - 一些实际例子: - 知识库:存储技术文档、程序和故障排除指南 - 用户行为:跟踪用户如何与功能和常见使用模式进行交互 - 项目说明:决策和项目更新 - 无论内容类型如何,矢量搜索都将帮助查找相关项目
Cloudflare浏览器渲染实验和MCP服务器
此项目演示了如何使用Cloudflare浏览器渲染为LLM上下文提取web内容。它包括REST API和Workers Binding API的实验,以及可用于向LLM提供web上下文的MCP服务器实现。
项目结构
cloudflare-browser-rendering/
├── examples/ # Example implementations and utilities
│ ├── basic-worker-example.js # Basic Worker with Browser Rendering
│ ├── minimal-worker-example.js # Minimal implementation
│ ├── debugging-tools/ # Tools for debugging
│ │ └── debug-test.js # Debug test utility
│ └── testing/ # Testing utilities
│ └── content-test.js # Content testing utility
├── experiments/ # Educational experiments
│ ├── basic-rest-api/ # REST API tests
│ ├── puppeteer-binding/ # Workers Binding API tests
│ └── content-extraction/ # Content processing tests
├── src/ # MCP server source code
│ ├── index.ts # Main entry point
│ ├── server.ts # MCP server implementation
│ ├── browser-client.ts # Browser Rendering client
│ └── content-processor.ts # Content processing utilities
├── puppeteer-worker.js # Cloudflare Worker with Browser Rendering binding
├── test-puppeteer.js # Tests for the main implementation
├── wrangler.toml # Wrangler configuration for the Worker
├── cline_mcp_settings.json.example # Example MCP settings for Cline
├── .gitignore # Git ignore file
└── LICENSE # MIT License先决条件
- Node.js(v16或更高版本)
- 启用浏览器渲染的Cloudflare帐户
- TypeScript
- Wrangler CLI(用于部署Worker)
安装
- 克隆存储库:
git clone https://github.com/yourusername/cloudflare-browser-rendering.git
cd cloudflare-browser-rendering- 安装依赖项:
npm installCloudflare工作程序设置
- 安装Cloudflare Puppeteer软件包:
npm install @cloudflare/puppeteer- 配置牧马人:
# wrangler.toml
name = "browser-rendering-api"
main = "puppeteer-worker.js"
compatibility_date = "2023-10-30"
compatibility_flags = ["nodejs_compat"]
[browser]
binding = "browser"- 部署Worker:
npx wrangler deploy- 测试工人:
node test-puppeteer.js运行实验
REST API基础实验
本实验演示了如何使用Cloudflare浏览器渲染REST API来获取和处理web内容:
npm run experiment:rest木偶绑定API实验
本实验演示了如何使用Cloudflare浏览器渲染工人绑定API与Puppeteer实现更高级的浏览器自动化:
npm run experiment:puppeteer内容提取实验
本实验演示了如何提取和处理专门用作LLM上下文的web内容:
npm run experiment:contentMCP服务器
MCP服务器提供使用Cloudflare浏览器渲染获取和处理web内容的工具,以用作LLM中的上下文。
构建MCP服务器
npm run build运行MCP服务器
npm start或者,为了发展:
npm run devMCP服务器工具
MCP服务器提供以下工具:
fetch_page-获取并处理LLM上下文的网页search_documentation-搜索Cloudflare文档并返回相关内容extract_structured_content-使用CSS选择器从网页中提取结构化内容summarize_content-总结网络内容,以获得更简洁的法学硕士背景
配置
要使用Cloudflare浏览器渲染端点,请设置 BROWSER_RENDERING_API 环境变量:
export BROWSER_RENDERING_API=https://YOUR_WORKER_URL_HERE替换 YOUR_WORKER_URL_HERE 使用您部署的Cloudflare Worker的URL。您需要在多个文件中替换此占位符:
- 在测试文件中:
test-puppeteer.js,examples/debugging-tools/debug-test.js,examples/testing/content-test.js - 在MCP服务器配置中:
cline_mcp_settings.json.example - 在浏览器客户端中:
src/browser-client.ts(如果未设置环境变量,则作为回退)
与Cline整合
要将MCP服务器与Cline集成,请复制 cline_mcp_settings.json.example 文件到适当的位置:
cp cline_mcp_settings.json.example ~/Library/Application\ Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json或者将配置添加到现有配置中 cline_mcp_settings.json 文件。
主要学习内容
- Cloudflare浏览器渲染需要
@cloudflare/puppeteer包与浏览器绑定进行交互。 - 使用浏览器绑定的正确模式是:
import puppeteer from '@cloudflare/puppeteer';
// Then in your handler:
const browser = await puppeteer.launch(env.browser);
const page = await browser.newPage();- 部署使用浏览器渲染绑定的Worker时,需要启用
nodejs_compat兼容性标志。 - 使用后务必关闭浏览器,以避免资源泄漏。
cloudflare api mcp
这是一个轻量级的模型控制协议(MCP)服务器,由以下代码引导 创建mcp 并部署在Cloudflare Workers上。
此MCP服务器允许代理(如Cursor)与 Cloudflare REST API.
它仍在开发中,当我发现自己需要时,我会添加更多的工具。
可用工具
看 src/index.ts 查看当前工具列表。类中的每个方法都是一个MCP工具。
安装
- 运行自动安装脚本克隆此MCP服务器并将其部署到您的Cloudflare帐户:
bun create mcp --clone https://github.com/zueai/cloudflare-api-mcp- 打开
Cursor Settings -> MCP -> Add new MCP server并将复制的命令粘贴到剪贴板。
- 上传您的Cloudflare API密钥和电子邮件至您的员工机密:
bunx wrangler secret put CLOUDFLARE_API_KEY
bunx wrangler secret put CLOUDFLARE_API_EMAIL地方发展
将您的Cloudflare API密钥和电子邮件添加到 .dev.vars 文件:
CLOUDFLARE_API_KEY=
CLOUDFLARE_API_EMAIL=部署
- 运行部署脚本:
bun run deploy- 重新加载光标窗口以查看新工具。
如何创建新的MCP工具
要创建新的MCP工具,请向 MyWorker 类在 src/index.ts。每个功能都将自动成为您的代理可以使用的MCP工具。
例子:
/**
* Create a new DNS record in a zone.
* @param zoneId {string} The ID of the zone to create the record in.
* @param name {string} The name of the DNS record.
* @param content {string} The content of the DNS record.
* @param type {string} The type of DNS record (CNAME, A, TXT, or MX).
* @param comment {string} Optional comment for the DNS record.
* @param proxied {boolean} Optional whether to proxy the record through Cloudflare.
* @return {object} The created DNS record.
*/
createDNSRecord(zoneId: string, name: string, content: string, type: string, comment?: string, proxied?: boolean) {
// Implementation
}JSDoc评论很重要:
- 第一行成为工具的描述
@param标签通过类型和描述定义工具的参数@return标记指定返回值和类型
