Skip to main content
Glama
miguelvictor

personal-memory-mcp

by miguelvictor

Personal Memory MCP Server

Un almacén de hechos sobre tu vida, sin pérdidas, estructurado y consultable, que Claude lee y escribe durante cualquier conversación. Un despliegue sirve a una sola persona. Se ejecuta por completo en el nivel gratuito de Cloudflare (Workers + D1 + KV). Consulta requirements.md para la especificación completa.

  • Hechos, no documentos. Cada hecho es una declaración fechada con procedencia.

  • Solo añadir. Las correcciones insertan un hecho nuevo y retiran el anterior con un puntero; nada se elimina.

  • Autenticación: OAuth 2.1 con registro dinámico de clientes; identidad mediante GitHub, vinculada a una única cuenta de GitHub.

  • Transporte: Streamable HTTP en /mcp (createMcpHandler sin estado, sin Durable Objects).

Configuración

1. Crear los recursos de Cloudflare

npm install
npx wrangler d1 create memory
npx wrangler kv namespace create OAUTH_KV

Coloca el database_id de D1 y el id del espacio de nombres KV devueltos en wrangler.jsonc y luego aplica las migraciones:

npx wrangler d1 migrations apply memory --remote

2. Crear la aplicación OAuth de GitHub

En https://github.com/settings/developersNew OAuth App:

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

  • URL de devolución de llamada de autorización: https://personal-memory-mcp.<your-subdomain>.workers.dev/callback

Encuentra tu id numérico de GitHub en https://api.github.com/users/<your-login> (el campo id).

3. Establecer los secretos

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

(Al desplegar mediante Workers Builds CI/CD, establécelos una vez en el panel de Cloudflare en Configuración del Worker → Variables y secretos; sobreviven a los despliegues).

4. Desplegar

npm run deploy

O conecta el repositorio de GitHub en el panel de Cloudflare (Workers Builds) para que cada push se despliegue. Las migraciones no se ejecutan automáticamente en el despliegue; sigue aplicándolas manualmente o configura el comando de despliegue de Workers Builds como:

npx wrangler d1 migrations apply memory --remote && npx wrangler deploy

5. Conectar desde Claude.ai

Configuración → Conectores → Añadir conector personalizado → URL https://personal-memory-mcp.<your-subdomain>.workers.dev/mcp, deja en blanco el ID de cliente/Secreto (registro dinámico de clientes). Se te redirigirá al inicio de sesión de GitHub; cualquier cuenta que no sea OWNER_GITHUB_ID recibirá un 403. El conector funciona entonces desde la web de Claude, el escritorio e iOS.

Añade a las preferencias de tu perfil de Claude.ai:

Ejecuto un servidor MCP de memoria personal llamado "memory". Es la fuente de verdad sobre mi vida y anula tu memoria integrada. Cuando hablemos de algo personal, úsalo según las descripciones de las herramientas. Si no está disponible, dímelo y ten en cuenta que tu respuesta puede estar desactualizada.

6. Datos iniciales (opcional)

  1. Pide a Claude que redacte seed.json a partir de su memoria integrada: [{topic, content, fact_date?, tags?}], un hecho por entrada.

  2. Revísalo y luego:

npm run seed              # validates seed.json, writes seed-import.sql
npx wrangler d1 execute memory --remote --file=seed-import.sql
  1. En una primera conversación, pide a Claude que escriba los resúmenes iniciales de los temas (update_summary).

Related MCP server: Clark MCP Server

Desarrollo

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

Prueba con el inspector MCP: npx @modelcontextprotocol/inspector@latest → conéctate a http://localhost:8788/mcp. La redirección OAuth de localhost del inspector solo funciona con ALLOW_LOCALHOST_REDIRECTS=1 (configurado en .dev.vars, nunca en producción; producción solo acepta las devoluciones de llamada del conector de Claude).

Notas

  • Copias de seguridad: usa la herramienta export (markdown o json). La exportación nativa de D1 no funciona mientras existan tablas virtuales FTS5. D1 Time Travel permite restaurar a un punto en el tiempo (30 días en el plan de pago, menos en el gratuito; verifica la retención actual).

  • Diferido deliberadamente (decisión del propietario, no descuidos): el cron de copia de seguridad semanal del §11 a un repositorio privado de GitHub y el visor de solo lectura /view del §12. Hasta que exista el cron, ejecuta export periódicamente y guarda la salida en un lugar seguro.

  • El flujo de aprobación de OAuth solo acepta las devoluciones de llamada del conector claude.ai/claude.com como URI de redirección (localhost requiere la bandera de solo desarrollo anterior).

  • Las filas nunca se eliminan en el funcionamiento normal; el propietario corrige los hechos diciéndoselo a 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