apocrypha
Apocrypha
Apocrypha es la memoria MCP remota de un solo usuario y solo de adición de Jensen, para contexto personal útil que un asistente juzgue que no debe colocar en su memoria integrada normal. Claude y ChatGPT comparten el mismo endpoint estándar Streamable HTTP en /mcp. Admite OAuth 2.1 basado en estándares para clientes como Claude, mientras conserva un token portador estático separado para clientes que pueden establecer un encabezado de autorización directamente.
Alcance: solo memoria excepcional
Apocrypha sigue la semántica general de memoria y compresión de OptMem con una especialización: no es un segundo almacén de memoria de propósito general. Un asistente debe escribir aquí solo cuando el contexto personal vale la pena recordarlo, pero el asistente juzga que no debe guardar ese contexto en su propio banco de memoria personal—por ejemplo, vivienda, ingresos, colchón financiero, circunstancias socioeconómicas o contexto relacionado con el flujo de trabajo. Los hechos elegibles para la memoria integrada ordinaria pertenecen allí y no deben copiarse también en Apocrypha. Esta separación evita memorias redundantes o conflictivas entre sistemas.
LOG.txt es la autoridad. Utiliza registros de ancho fijo de 320 bytes de OptMem (una memoria terminada en nueva línea por registro), y TREE/<size> utiliza sus registros de fusión binaria de ancho fijo de 288 bytes. Las correcciones son entradas de registro posteriores; las memorias sin procesar nunca se editan ni se eliminan. Google Drive es solo un espejo legible desde el teléfono.
Related MCP server: JauMemory MCP Server
Herramientas
apocrypha_wake: lectura obligatoria de contexto permanente, paginada por debajo de los límites de respuesta del cliente; se niega mientras haya alguna compresión pendiente.apocrypha_note: registra solo contexto duradero que de otro modo no está permitido, colapsa espacios en blanco, añade una memoria con fecha, refleja Drive y devuelve la siguiente compresión recién posible.apocrypha_sleep: obtiene o resuelve la siguiente compresión del árbol de fusión.apocrypha_recall: búsqueda regex insensible a mayúsculas y minúsculas del registro sin procesar completo.apocrypha_forget: trunca un resumen incorrecto y todos los resúmenes por encima de él, sin tocar el registro.
Wake devuelve intencionalmente cada registro sin procesar mientras el registro quepa dentro de su presupuesto de renderizado de 96 líneas. Una vez que el registro supera ese presupuesto, cubre el historial completo con resúmenes de árbol almacenados hacia el pasado y detalles progresivamente más finos hacia el presente. Una nota devuelve solo la primera compresión recién posible; cada respuesta de sleep devuelve la siguiente tarea en la cascada. Vaciar esa cascada antes de wake es deliberado, porque wake nunca renderiza desde un árbol parcialmente construido.
La compresión sigue la regla neutral de categoría de OptMem: conservar lo que tiene efecto duradero, descartar lo que no, y no inventar nada. El registro sin procesar sigue siendo autoritativo independientemente de lo que omita un resumen.
Verificación local
npm install
npm testLas pruebas incluyen una ejecución de estrés de OptMem con 2,000 memorias, invariantes de registros fijos y árbol, paginación, detalle creciente hacia el presente, identidad de bytes de olvidar/reconstruir, persistencia de reinicio, esquemas MCP y la solicitud batchUpdate de Drive.
Flujo de trabajo de desarrollo e implementación
C:\Users\Jensen\code\apochrypha es el checkout de desarrollo. La rama pública main de GitHub es la fuente de lanzamiento, y Alpha implementa esa rama publicada en lugar de archivos locales no publicados.
Realiza cambios en el checkout local y ejecuta
npm test.Confirma los cambios y empuja
maina GitHub.Desde PowerShell, ejecuta
./scripts/deploy-alpha.ps1.
El script de implementación rechaza un árbol sucio, una rama que no sea main, o un commit local que difiera de origin/main. En Alpha realiza una actualización solo de avance rápido, instala dependencias de producción bloqueadas, reinicia el servicio y verifica el endpoint de salud local. El estado de ejecución permanece separado: las credenciales viven en /etc/apocrypha.env, mientras que el registro de solo adición, el árbol de resúmenes y el estado de OAuth viven en /var/lib/apocrypha; ninguno es parte de Git.
Autorización de Google (una vez, en el portátil)
En Google Cloud, habilita la API de Google Docs y crea un cliente OAuth de escritorio.
Configura la pantalla de consentimiento de OAuth y publícala en Producción. Dejarla en Pruebas hace que el token de actualización expire después de siete días.
Añade
http://127.0.0.1:53682/oauth2callbacksi la configuración del cliente solicita una URI de redirección autorizada.Ejecuta:
GOOGLE_CLIENT_ID='...' GOOGLE_CLIENT_SECRET='...' npm run oauth:googleEl asistente solicita access_type=offline, prompt=consent, y solo https://www.googleapis.com/auth/documents. Coloca el token de actualización impreso en /etc/apocrypha.env; no lo confirmes.
El espejo apunta a GOOGLE_DOC_ID, no al título del documento. Renombrar el documento de Google no rompe la sincronización y no debe reemplazarse con una búsqueda basada en el título.
Implementar en Alpha
Copia este proyecto a /srv/apocrypha, luego ejecuta como root:
cd /srv/apocrypha
npm ci --omit=dev
useradd --system --home /var/lib/apocrypha --shell /usr/sbin/nologin apocrypha || true
chown -R apocrypha:apocrypha /var/lib/apocrypha
install -o root -g root -m 600 deploy/apocrypha.env.example /etc/apocrypha.env
install -o root -g root -m 644 deploy/apocrypha.service /etc/systemd/system/apocrypha.service
systemctl daemon-reload
systemctl enable --now apocryphaEdita /etc/apocrypha.env con valores reales e independientes de MCP_BEARER_TOKEN y OAUTH_ACCESS_KEY antes de iniciar el servicio. El proceso siempre se vincula a 127.0.0.1; nginx es el único oyente público.
Conectar Claude
En el diálogo de conector personalizado de Claude, ingresa https://mcp.jensenabler.com/mcp y deja en blanco los campos opcionales de ID de cliente OAuth y Secreto de cliente. Claude descubre los metadatos OAuth de Apocrypha y se registra dinámicamente. Cuando se abra la página de autorización de Apocrypha, pega la clave privada OAUTH_ACCESS_KEY y aprueba el acceso. No uses las credenciales del cliente OAuth de Google aquí.
La clave de aprobación solo se usa en la página de autorización. Claude recibe un token de acceso con alcance y caducidad, y un token de actualización rotatorio; nunca recibe la clave de aprobación ni el token portador estático.
Conectar un cliente con token portador
Para un cliente MCP que admita encabezados personalizados, usa Streamable HTTP en https://mcp.jensenabler.com/mcp con Authorization: Bearer <MCP_BEARER_TOKEN>. El token estático es independiente de las credenciales OAuth de Claude.
Llamadas de aceptación
curl https://mcp.jensenabler.com/healthz
curl -i -X POST https://mcp.jensenabler.com/mcpPara una verificación a nivel de protocolo, usa el Inspector MCP con Streamable HTTP, URL https://mcp.jensenabler.com/mcp, y ya sea su flujo OAuth o el encabezado de solicitud Authorization: Bearer <MCP_BEARER_TOKEN>.
This 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 gradedqualityDmaintenanceEnables AI assistants to save and recall information from files or free-form notes using natural language, acting as a long-term memory system.MIT

JauMemory MCP Serverofficial
AlicenseAqualityCmaintenanceProvides persistent memory capabilities for AI assistants, enabling storage, recall, and analysis of information across conversations with intelligent memory management.2538MIT- AlicenseBqualityCmaintenanceProvides persistent memory for AI assistants, enabling storage, recall, and analysis of information across conversations with intelligent memory management.5038MIT
- AlicenseAqualityBmaintenanceGives AI assistants a persistent memory across conversations, allowing them to remember user preferences, notes, and facts between chats.6123MIT
Related MCP Connectors
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.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
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/JensenAbler/apocrypha'
If you have feedback or need assistance with the MCP directory API, please join our Discord server