personal-memory-mcp
Персональный MCP-сервер памяти
Без потерь, структурированное, запрашиваемое хранилище фактов о вашей жизни, которое Claude читает и записывает во время любого разговора. Одно развёртывание обслуживает одного человека. Полностью работает на бесплатном тарифе Cloudflare (Workers + D1 + KV). Полную спецификацию см. в requirements.md.
Факты, а не документы. Каждый факт — это одно датированное утверждение с указанием источника.
Только добавление. Исправления добавляют новый факт и выводят из обращения старый с указателем; ничего не удаляется.
Аутентификация: OAuth 2.1 с динамической регистрацией клиентов; идентификация через GitHub, привязана к одной учётной записи GitHub.
Транспорт: потоковый HTTP на
/mcp(без сохранения состоянияcreateMcpHandler, без Durable Objects).
Настройка
1. Создайте ресурсы Cloudflare
npm install
npx wrangler d1 create memory
npx wrangler kv namespace create OAUTH_KVВставьте возвращённые database_id для D1 и id для пространства имён KV в wrangler.jsonc, затем примените миграции:
npx wrangler d1 migrations apply memory --remote2. Создайте приложение GitHub OAuth
На https://github.com/settings/developers → New OAuth App:
Homepage URL:
https://personal-memory-mcp.<your-subdomain>.workers.devAuthorization callback URL:
https://personal-memory-mcp.<your-subdomain>.workers.dev/callback
Найдите свой числовой идентификатор GitHub на https://api.github.com/users/<your-login> (поле id).
3. Установите секреты
npx wrangler secret put GITHUB_CLIENT_ID
npx wrangler secret put GITHUB_CLIENT_SECRET
npx wrangler secret put COOKIE_ENCRYPTION_KEY # e.g. openssl rand -hex 32
npx wrangler secret put OWNER_GITHUB_ID # numeric id, not login(При развёртывании через Workers Builds CI/CD установите их один раз в панели управления Cloudflare в разделе Settings → Variables and Secrets вашего Worker; они сохраняются при развёртываниях.)
4. Разверните
npm run deployИли подключите репозиторий GitHub в панели управления Cloudflare (Workers Builds), чтобы каждый push развёртывался автоматически. Миграции не выполняются автоматически при развёртывании; либо продолжайте применять их вручную, либо задайте команду развёртывания Workers Builds:
npx wrangler d1 migrations apply memory --remote && npx wrangler deploy5. Подключение из Claude.ai
Settings → Connectors → Add custom connector → URL https://personal-memory-mcp.<your-subdomain>.workers.dev/mcp, оставьте Client ID/Secret пустыми (динамическая регистрация клиентов). Вы будете направлены через вход в GitHub; любая учётная запись, кроме OWNER_GITHUB_ID, получит 403. Затем коннектор работает из веб-версии Claude, Desktop и iOS.
Добавьте в настройки профиля Claude.ai:
У меня есть персональный MCP-сервер памяти с именем "memory". Он является источником истины о моей жизни и переопределяет встроенную память. Когда мы говорим о чём-то личном, используйте его в соответствии с описаниями инструментов. Если он недоступен, сообщите мне и отметьте, что ваш ответ может быть устаревшим.
6. Начальное заполнение (необязательно)
Попросите Claude составить
seed.jsonна основе его встроенной памяти:[{topic, content, fact_date?, tags?}], один факт на запись.Проверьте его, затем:
npm run seed # validates seed.json, writes seed-import.sql
npx wrangler d1 execute memory --remote --file=seed-import.sqlВ первом разговоре попросите Claude написать начальные сводки по темам (
update_summary).
Related MCP server: chronomem
Разработка
cp .dev.vars.example .dev.vars # separate GitHub OAuth app with callback http://localhost:8788/callback
npx wrangler d1 migrations apply memory --local
npm run dev # http://localhost:8788/mcp
npm test # vitest (workers runtime, real D1 + FTS5)
npm run typecheckТестируйте с помощью MCP-инспектора: npx @modelcontextprotocol/inspector@latest → подключитесь к http://localhost:8788/mcp. Перенаправление OAuth для localhost в инспекторе работает только с ALLOW_LOCALHOST_REDIRECTS=1 (установите в .dev.vars, никогда в продакшене — продакшен принимает только обратные вызовы коннектора Claude).
Примечания
Резервное копирование: используйте инструмент
export(markdown или json). Собственный экспорт D1 не работает, пока существуют виртуальные таблицы FTS5. D1 Time Travel обеспечивает восстановление на момент времени (30 дней на платном тарифе, меньше на бесплатном — проверьте текущий срок хранения).Сознательно отложено (решение владельца, а не упущение): еженедельное резервное копирование по cron в §11 в частный репозиторий GitHub и просмотрщик только для чтения
/viewиз §12. Пока cron не существует, периодически запускайтеexportи храните вывод в безопасном месте.Процесс одобрения OAuth принимает только обратные вызовы коннектора
claude.ai/claude.comв качестве URI перенаправления (localhost требует указанный выше флаг только для разработки).Строки никогда не удаляются при нормальной работе; владелец исправляет факты, сообщая об этом Claude.
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
- mcpOAuthai.butlerbrain
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
Person-owned AI memory that learns, not just stores — portable context for any MCP client.
- HeirmosOAuthcom.heirmos
Persistent memory shared across Claude, ChatGPT, Grok and other MCP clients.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceEnables persistent memory storage and retrieval for MCP clients, allowing AI assistants to remember facts and context across conversations.17 npmMIT- AlicenseAqualityCmaintenanceEnables AI agents and MCP clients to store, retrieve, and manage bi-temporal, graph-aware facts in an embedded SQLite memory engine with token-budgeted recall and contradiction tracking.61MIT
- AlicenseAqualityAmaintenanceEnables personal AI memory management through MCP tools for adding, searching, exporting, and deleting memories, with knowledge-graph retrieval and multi-hop association for clients like Claude Desktop and Cursor.6Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients such as Cursor, Claude, and Windsurf to store and recall user preferences, behaviors, and other text-based information across conversations, using vector similarity search so conceptually related items are found even when exact keywords differ.15 npmMIT