Cloudflare Memory MCP
Cloudflare Memory MCP
MCP-сервер памяти для отдельных проектов, предназначенный для opencode и размещённый целиком на бесплатном тарифе Cloudflare:
Notes — простые записи с ключами, тегами и типами
Vector — семантический поиск через Vectorize (эмбеддинги от Workers AI
@cf/bge-m3, 1024-мерные, мультиязычные)Graph — сущности и связи в базе D1 (SQLite) с рекурсивным обходом
Web dashboard — откройте
/в браузере, чтобы увидеть все проекты с заметками. Каждая карточка проекта открывает детальный вид с интерактивным силовым графом его сущностей и связей (колесо = масштаб, перетаскивание = панорамирование, двойной клик или кнопки = сброс, наведение = подсветка соседей) и кнопкой Delete project, которая удаляет проект вместе с его заметками, графом, строками FTS, кэшами и векторными эмбеддингами
opencode ── MCP (streamable HTTP + Bearer auth) ──> Worker
├─ Vectorize memory-vectors (namespace per project)
├─ D1 projects / notes / nodes / edges / FTS5
├─ Workers AI bge-m3 embeddings
└─ KV recent-memories cacheСкриншоты
Список проектов
Дашборд показывает все проекты, известные аккаунту, включая количество заметок, сущностей, связей и время последней активности.
Граф знаний
Откройте проект, чтобы посмотреть его заметки и граф. Граф поддерживает изогнутые направленные рёбра, подсветку при наведении, масштаб колесом мыши, панорамирование перетаскиванием и кнопки сброса.
Related MCP server: MCP Memory
Как устроена изоляция папок
Сервер запускает свои MCP-сессии внутри Durable Object (бесплатный тариф, бэкенд SQLite), который привязывает каждое сообщение сессии к одному изоляту. Идентичность проекта определяется в следующем порядке:
Аргумент инструмента
project_root(рекомендуется) — вы передаёте рабочую папку в любой инструмент, напримерremember({ project_root: "D:/Projects/foo", content: ... }). Сервер хэширует нормализованную форму пути в стабильный id проекта и запоминает его на всю сессию, так что в последующих вызовах его можно не указывать. Инструментidentify_projectсуществует для явной фиксации.Аргумент инструмента
project_id— явный id (также кэшируется для сессии).Заголовки
x-project-root/x-project-id— для клиентов, которые их настраивают.Корни MCP — автоматическое определение папки, если клиент это поддерживает.
Поскольку идентичность — это просто хеш нормализованного пути, одна и та же папка, открытая через другой абсолютный путь, всё равно будет соответствовать тому же проекту. Каждое чтение и каждая запись ограничены этим id: запросы Vectorize используют namespace на проект, а каждый запрос D1 фильтруется по project_id — поэтому две папки никогда не увидят память друг друга.
Использование в opencode
opencode знает свою рабочую папку (ваш bash cwd). Агент должен передавать её один раз за сессию. В этом репозитории есть готовый шаблон для копирования — AGENTS.md. Скопируйте его в любой проект, где нужна память, укажите в переменной PROJECT_ROOT директорию этого проекта — и агент сам разберётся с идентификацией:
When using the memory MCP tools, pass project_root (your bash cwd) on the first
memory call of the session.Настройка
Предварительные требования: Node 18+, аккаунт Cloudflare и один раз выполненная команда npx wrangler login.
npm install
npm run setup # creates D1 db, KV namespace, Vectorize index; patches wrangler.toml
npm run db:migrate:remote
npx wrangler secret put MEMORY_AUTH_TOKEN # optional but strongly recommended
npm run deployВаши эндпоинты:
MCP:
https://cloudflare-memory-mcp.<your-subdomain>.workers.dev/mcpДашборд:
https://cloudflare-memory-mcp.<your-subdomain>.workers.dev/
Локальная разработка:
npm run dev # wrangler dev --local (AI + Vectorize are remote-only)
npm run db:migrate:localПодключение к opencode
Одна запись — одинаковая конфигурация работает во всех проектах. Никаких значений для отдельных проектов не нужно:
// ~/.config/opencode/opencode.jsonc
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"memory": {
"type": "remote",
"url": "https://cloudflare-memory-mcp.<your-subdomain>.workers.dev/mcp",
"oauth": false,
"headers": {
"Authorization": "Bearer {env:MEMORY_AUTH_TOKEN}"
}
}
}
}Дальше идентификацию проекта определяет сам агент: при первом обращении к памяти в каждой сессии он передаёт свою рабочую папку как project_root (см. совет в AGENTS.md выше), и сервер ограничивает все данные этой папкой.
Дашборд (/) один раз запрашивает тот же MEMORY_AUTH_TOKEN и хранит его в localStorage. Если оставить MEMORY_AUTH_TOKEN пустым, всё будет открыто — допускается это только для личных или одноразовых экспериментов.
Инструменты MCP
Инструмент | Назначение |
| Зафиксировать идентичность проекта для сессии: по проектную директорию ( |
| Сохранить заметку (строит эмбеддинг для семантического поиска); при необходимости выполняет upsert сущностей и связей в графе |
| Семантический/векторный поиск — извлечение по смыслу. Примечание: изменения Vectorize применяются асинхронно, поэтому заметка становится доступной по смыслу через несколько секунд после |
| Поиск по точным ключевым словам (D1 FTS5) |
| Последние заметки проекта |
| Собрать пакет: статистика + последние заметки + главные сущности + последние связи (вызывайте явно) |
| Намеренно строить граф знаний |
| Соседи сущности (глубина 1–3) или наиболее связанные сущности |
| Удалить заметку и её эмбеддинг |
Все инструменты принимают опциональный project_root (путь к папке или URI file://) и project_id; при передаче одного из них в сессии он запоминается.
Бесплатные лимиты тарифа
Ресурс | Бесплатный лимит | Примечания |
Durable Object | 100 тыс. запросов/день, ~28 ч/день активного | Размещает MCP-сессии; ~1 запрос на сообщение MCP |
Vectorize | 5M сохранённых измерений на аккаунт | ~1000 заметок с эмбеддингами @1024-мер; очистка — |
Workers AI | 10 тыс. нейронов/день | Эмбеддинг bge-m3 для заметки из 1k токенов ≈ 1 нейрон → тысячи в день |
D1 | 5 ГБ / 500 МБ на базу данных | Заметки + граф + FTS практически без ограничений для личного использования |
KV / Worker | 1 ГБ / 100 тыс. запросов/день | Кэши + отдача; несколько запросов за сессию opencode |
Расчётные рычаги на случай приближения к потолку векторного хранилища: индексируйте только устойчивые заметки (remember с type: "decision" | "fact"), а длинный хвост отдайте search_memory (FTS5 без лимита); либо пересоздайте индекс с bge-small (384-мерный, только английский) — это даст примерно 3× прирост ёмкости.
Структура проекта
src/index.ts fetch router: dashboard, /api/*, /mcp -> Durable Object
src/session-do.ts MCP session host (Durable Object): sessions, SSE, roots, identity
src/tools.ts the 10 tool definitions (zod schemas + implementations)
src/store.ts D1 / Vectorize / KV data layer
src/identity.ts project-id derivation from folder roots
src/embed.ts Workers AI bge-m3 embeddings
src/api.ts dashboard API (projects, detail, graph, delete)
src/web.ts dashboard page (token-gated)
migrations/ D1 schema
scripts/setup.mjs creates Cloudflare resources and patches wrangler.toml
AGENTS.md template to copy into projects that use this memory serverThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to remember user information and preferences across conversations using vector search technology. Built on Cloudflare infrastructure with isolated user namespaces for secure, persistent memory storage.16MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to remember and retrieve user information across conversations using vector search technology. Built on Cloudflare infrastructure with isolated user namespaces for secure, persistent memory storage.16
- FlicenseNot gradedqualityDmaintenanceProvides cross-device access to a persistent knowledge graph via Cloudflare Workers, enabling memory storage and retrieval through both MCP protocol and REST API with full-text search capabilities.
- AlicenseNot gradedqualityAmaintenanceSelf-hosted semantic memory layer for Claude and MCP-compatible AI clients. Store notes, search by meaning not keywords, and recall relevant context automatically across sessions. Runs free on Cloudflare Workers, D1, Vectorize, and Workers AI4737MIT
Related MCP Connectors
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Cross-session, cross-device memory for your agent: remember and recall notes. No key to start.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ady133t/Cloudflare-Memory-Mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server