Skip to main content
Glama
miguelvictor

personal-memory-mcp

by miguelvictor

Персональный 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 --remote

2. Создайте приложение GitHub OAuth

На https://github.com/settings/developersNew OAuth App:

  • Homepage URL: https://personal-memory-mcp.<your-subdomain>.workers.dev

  • Authorization 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 deploy

5. Подключение из 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. Начальное заполнение (необязательно)

  1. Попросите Claude составить seed.json на основе его встроенной памяти: [{topic, content, fact_date?, tags?}], один факт на запись.

  2. Проверьте его, затем:

npm run seed              # validates seed.json, writes seed-import.sql
npx wrangler d1 execute memory --remote --file=seed-import.sql
  1. В первом разговоре попросите Claude написать начальные сводки по темам (update_summary).

Related MCP server: Clark MCP Server

Разработка

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.

A
license - permissive license
Not graded
quality - not tested
C
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

View all related MCP servers

Related MCP Connectors

  • Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.

  • Cross-AI personal memory. Save once in ChatGPT, recall in Claude, Mistral, Grok, or any MCP client.

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

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/miguelvictor/personal-memory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server