Skip to main content
Glama
ady133t

Cloudflare Memory MCP

by ady133t

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), который привязывает каждое сообщение сессии к одному изоляту. Идентичность проекта определяется в следующем порядке:

  1. Аргумент инструмента project_root (рекомендуется) — вы передаёте рабочую папку в любой инструмент, например remember({ project_root: "D:/Projects/foo", content: ... }). Сервер хэширует нормализованную форму пути в стабильный id проекта и запоминает его на всю сессию, так что в последующих вызовах его можно не указывать. Инструмент identify_project существует для явной фиксации.

  2. Аргумент инструмента project_id — явный id (также кэшируется для сессии).

  3. Заголовки x-project-root / x-project-id — для клиентов, которые их настраивают.

  4. Корни 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

Инструмент

Назначение

identify_project

Зафиксировать идентичность проекта для сессии: по проектную директорию (project_root) или идентификатору (project_id); возвращает итоговый id

remember

Сохранить заметку (строит эмбеддинг для семантического поиска); при необходимости выполняет upsert сущностей и связей в графе

query_memory

Семантический/векторный поиск — извлечение по смыслу. Примечание: изменения Vectorize применяются асинхронно, поэтому заметка становится доступной по смыслу через несколько секунд после remember; для мгновенного поиска используйте search_memory

search_memory

Поиск по точным ключевым словам (D1 FTS5)

get_recent_memories

Последние заметки проекта

get_project_context

Собрать пакет: статистика + последние заметки + главные сущности + последние связи (вызывайте явно)

add_entity / add_relation

Намеренно строить граф знаний

query_graph

Соседи сущности (глубина 1–3) или наиболее связанные сущности

forget

Удалить заметку и её эмбеддинг

Все инструменты принимают опциональный project_root (путь к папке или URI file://) и project_id; при передаче одного из них в сессии он запоминается.

Бесплатные лимиты тарифа

Ресурс

Бесплатный лимит

Примечания

Durable Object

100 тыс. запросов/день, ~28 ч/день активного

Размещает MCP-сессии; ~1 запрос на сообщение MCP

Vectorize

5M сохранённых измерений на аккаунт

~1000 заметок с эмбеддингами @1024-мер; очистка — forget. Запросов ~29 тыс. в месяц

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 server
F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    16
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables 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
  • A
    license
    Not graded
    quality
    A
    maintenance
    Self-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 AI
    4
    737
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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