codex-agent-mem

codex-agent-mem: persistent local memory for MCP clients

Ask DeepWiki

Otros idiomas: English Deutsch Português do Brasil 中文 日本語

Memoria MCP portable, auditable y local-first para agentes de IA y flujos de coding compatibles con MCP.

codex-agent-mem conserva memoria duradera fuera del runtime del modelo, comprime continuidad en packs mas chicos, y arrastra estado operativo para que agentes de IA compatibles con MCP retomen con menos repeticion, menos cierres falsos y mas control sobre lo que entra en contexto.

Todo se guarda y procesa localmente en este MCP: base SQLite, indice FTS, snapshots, metadata de telemetria y UI opcional de inspeccion. codex-agent-mem no envia tu memoria, datos del proyecto, prompts ni telemetria a ningun servidor externo. Los clientes MCP pueden exponer resultados de herramientas al modelo o servicio que configures, asi que trata la memoria recuperada como salida local de herramienta entregada a ese cliente.

Nacido para Codex y flujos GPT, codex-agent-mem crecio hasta convertirse en una capa portable de memoria MCP para runtimes compatibles con MCP, incluidos Codex CLI/Desktop, Claude Code, Google Gemini CLI, flujos Qwen Code usando modelos Ollama y otros stacks locales o de terceros para agentes CLI. La validacion se registra por cliente/runtime y nivel de evidencia. Los detalles especificos por modelo quedan en los docs de validacion para que este README describa la superficie publica sin sobredimensionar ningun runtime.

codex-agent-mem vive en local, mantiene la memoria auditable y bajo demanda, y no envia tu memoria almacenada a ningun servicio externo.

Baseline publica. Construida en slices chicos y verificables, todavia en evolucion, pero ya pensada para uso real.

Novedades v1.0.x

Releases visibles: v1.0.2 Identity + Scope Patch v1.0.1 Transport + Local Security Hotfix v1.0.0 Low-Impact Runtime

Snapshot (fixtures sinteticos v1.0)

Escenario Perfil Tokens fuente Tokens pack Ahorro not_modified Tools Lazy init Read-only
Small project continuity minimal 1,841 253 86.26% true 4 false->true true
Medium agent workflow minimal 4,855 270 94.44% true 4 false->true true
Large repeated audit minimal 9,731 269 97.24% true 4 false->true true
Sub-agent handoff example minimal 6,523 276 95.77% true 4 false->true true

En estos fixtures reproducibles, el contexto operativo repetido se redujo de ~22,950 tokens fuente a ~1,068 tokens de pack, una reduccion aproximada de 95.35%. No es una garantia universal; muestra el efecto cuando el agente normalmente reenviaria la misma continuidad del proyecto.

Tools=4 corresponde al perfil minimal previo a session-aware usado en estos fixtures. En v1.0.1, minimal tambien incluye mem_session_list, mem_scope_resolve y mem_bootstrap_context, y el perfil standard expone 20 tools para recuperacion, gobernanza y auditoria mas amplias.

Snapshot de runtimes validados

Runtime Configuracion Metricas observadas Resultado
Default MCP writable Puentes locales Codex/Gemini/Claude, read_only=false; full cuando se requieren tools writable mem_note_create escribio notas manuales indexadas y mem_search / mem_context_pack las recuperaron; mem_snapshot_create(project_key, label, session_id) registro proveniencia de alta confianza Smokes writable de notas manuales y snapshot provenance aprobados
Codex Desktop Codex Desktop, MCP stdio, fixture retrieval-only v1.0 con minimal, read-only, compact ~22,950 tokens fuente -> ~1,068 tokens de pack, ~95.35% menos contexto repetido, not_modified=true en packs repetidos Validacion MCP de lectura mas verificacion publica reproducible; la continuidad writable se cubre en la fila anterior
Codex CLI / codex exec Ruta MCP stdio de Codex CLI, ejecucion corta / efimera mismo servidor MCP local y estilo de config que Desktop; el lifecycle corto de CLI fue validado por separado del comportamiento del host largo-vivo de Desktop Ruta Codex CLI validada
Google Gemini CLI MCP stdio codex-agent-mem, validacion retrieval-only explicita con standard, read-only; compact si el payload estructurado es visible, si no verbose proceso estable, contador de requests subio como se esperaba, payloads con raiz objeto verificados donde fueron visibles Validacion MCP de lectura con caveat de exposicion del cliente
Claude Code Claude Opus 4.7, solo MCP stdio codex-agent-mem, validacion retrieval-only explicita con standard, read-only, compact requests 3 -> 8, lazy init false -> true, same_db_process_count=2 con un host Claude Code activo, spawn_storm_warning=false, mem_search count=2 Validacion MCP de lectura aprobada
Qwen Code Qwen Code 0.15.0, Ollama local, qwen3.6:latest, validacion retrieval-only explicita con standard, read-only, compact llamadas MCP reales a mem_context_pack, mem_search, mem_open_work, mem_completion_check, mem_health_runtime; requests 8, lazy init true, spawn_storm_warning=false, not_modified=true Validacion MCP local de lectura aprobada
Smokes de modelos Qwen locales Qwen Code 0.15.0 con modelos Ollama qwen3.6:35b-a3b-q8_0 y qwen3.5:9b ambos modelos respondieron smoke CLI e invocaron mem_health_runtime via MCP stdio; retrieval-only read_only=true, cierres limpios por stdin_eof Smokes live locales de lectura aprobados
DeepSeek-V3.2 Qwen Code 0.15.0, deepseek-v3.2:cloud via Ollama Cloud, validacion retrieval-only explicita con standard, read-only, compact llamadas MCP reales a mem_context_pack, mem_search, mem_health_runtime; requests 6, spawn_storm_warning=false, not_modified=true Validacion MCP cloud-backed de lectura aprobada
Minimax M2.5 Qwen Code 0.15.0, minimax-m2.5:cloud via Ollama Cloud, validacion retrieval-only explicita con standard, read-only, compact llamadas MCP reales a mem_context_pack, mem_search, mem_health_runtime; requests 6, not_modified=true Validacion MCP cloud-backed de lectura aprobada
Kimi Code CLI Kimi Code CLI 1.38.0, MCP stdio codex-agent-mem, validacion retrieval-only explicita con standard, read-only, compact kimi mcp test codex-agent-mem conecto y listo las tools esperadas del perfil standard; la validacion completa con tool-calls de Kimi K2.5 / Kimi K2.6 sigue en evaluacion continua Conexion MCP de lectura validada; no se afirma validacion del modelo
Grok / xAI Nota de compatibilidad a nivel protocolo comportamiento MCP stdio / JSON-RPC revisado a nivel protocolo Nota de protocolo

Grok / xAI aparece como nota de compatibilidad a nivel protocolo, no como validacion live de tool-calls del modelo. Las filas validadas live son los pares cliente/modelo MCP medidos directamente: Codex Desktop/CLI, Google Gemini CLI, Claude Code, Qwen Code, smokes de modelos Qwen locales, DeepSeek-V3.2 via Ollama Cloud, Minimax M2.5 via Ollama Cloud y validacion de conexion de Kimi Code CLI. En general, codex-agent-mem es agnostico al modelo en la capa MCP; se agregan nuevos pares cuando sus mediciones live quedan capturadas.

Resultados verificables

codex-agent-mem incluye un sandbox reproducible de verificacion y un export publico de evidencia para v1.0.0. El uso de fixtures reproducibles es intencional: el MCP busca optimizar el manejo repetible del contexto operativo, por eso la evidencia publica mantiene controlado ese contexto repetido en vez de convertir cada corrida en una conversacion distinta.

La evidencia publica v1.0.x combina fixtures reproducibles de verificacion con validacion MCP live en los runtimes listados arriba. Mide compresion de contexto, evitacion de reenvio con known_pack_hash, inicializacion lazy, perfil minimo de tools, seguridad del modo read-only explicito, response diet, telemetria local, control de cierre y un ejemplo con sub-agentes.

Ver: Verification Evidence y v1.0.0 Results.

Claude Code y claude-mem

codex-agent-mem funciona en Claude Code como servidor MCP stdio estandar. No instala hooks de inicio de sesion, hooks de cierre ni resumen automatico post-turno. La memoria se recupera bajo demanda con tools MCP como mem_context_pack, mem_search, mem_open_work y mem_completion_check.

Si ya usas claude-mem, ambas herramientas pueden coexistir tecnicamente. Para flujos de menor overhead y menor latencia, conviene usar una sola capa de memoria activa a la vez. En validacion local con un host Claude Code activo, codex-agent-mem solo mantuvo el runtime compacto (same_db_process_count=2, spawn_storm_warning=false). Al correrlo junto a claude-mem, la superficie visible subio a 61 tools, se agrego un bloque de inicio de sesion de unos 6,995 tokens y aparecieron demoras post-turno por stop hooks. Esto no rompe codex-agent-mem, pero hace mas dificil comparar resultados y puede aumentar overhead y latencia.

Usa codex-agent-mem si prefieres memoria local-first, auditable, pull-based, con recuperacion explicita y cierre determinista. Usa plugins de memoria adicionales solo cuando busques intencionalmente su comportamiento automatico basado en hooks.

Para flujos Claude Code sensibles a tokens, codex-agent-mem esta pensado para operar con bajo overhead por defecto: sin inyeccion al inicio de sesion, sin resumen por stop hook, respuestas compactas, presupuestos explicitos y atajo pack_hash / not_modified cuando el pack no cambio.

Complemento opcional: clean-process-ended

codex-agent-mem v1.0.1 y clean-process-ended (GitHub) v0.7.2 funcionan de forma independiente, pero resuelven problemas vecinos en flujos locales con agentes.

Juntos mejoran los cierres de tarea: recuperar contexto, terminar el trabajo, revisar estado local de procesos y guardar evidencia compacta de cierre sin convertir ninguno de los dos MCP en dependencia obligatoria del otro.

Lo que ofrece

Continuidad

Control de cierre

Gobernanza y auditoria

Docs clave: AGENTS.md Quickstart Integracion Codex Nota Codex Desktop Support Matrix Design Decisions

Sirve para auditorias largas, continuidad de proyectos complejos y sesiones donde el problema no es solo recordar decisiones, sino no perder alcance ni dar por terminado algo que sigue abierto.

Estado

1.0.2 es la release actual de mantenimiento 1.0.x. 1.0.0 sigue siendo la base publica de verificacion para las metricas reproducibles de abajo.

Hoy funciona:

Lo que todavia queda fuera de alcance a proposito:

Por que existe este repositorio

Modelo de instalacion

codex-agent-mem se instala como paquete Python local y se expone a clientes compatibles con MCP mediante comandos stdio.

El patron estable es:

  1. instalar el paquete
  2. apuntar el cliente MCP al comando instalado
  3. mantener la base de memoria local y auditable

Los snippets especificos de Codex para notify y mcp_servers los genera codex-agent-mem-bootstrap-codex; otros clientes MCP usan sus propios archivos de configuracion.

Quickstart

Si quieres el camino mas corto desde clone hasta un setup local funcional:

PowerShell / Windows

git clone https://github.com/MarceloCaporale/codex-agent-mem.git
cd codex-agent-mem
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .[dev]
codex-agent-mem-smoke
codex-agent-mem-bootstrap-codex --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db

bash / macOS / Linux

git clone https://github.com/MarceloCaporale/codex-agent-mem.git
cd codex-agent-mem
python3 -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
codex-agent-mem-smoke
codex-agent-mem-bootstrap-codex --db-path "$HOME/.codex_agent_mem/codex_agent_mem.db"

En Codex, pega el snippet generado en ~/.codex/config.toml. En otros clientes MCP, usa el comando stdio comun de Configurar clientes MCP.

Instalacion

Opcion A: pipx desde GitHub

Instala directo desde la URL del repositorio:

pipx install "git+https://github.com/MarceloCaporale/codex-agent-mem.git"
codex-agent-mem-smoke
pipx install "git+https://github.com/MarceloCaporale/codex-agent-mem.git"
codex-agent-mem-smoke

Opcion B: instalacion local de desarrollo

git clone https://github.com/MarceloCaporale/codex-agent-mem.git
cd codex-agent-mem
python3 -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
pytest -q
codex-agent-mem-smoke
git clone https://github.com/MarceloCaporale/codex-agent-mem.git
cd codex-agent-mem
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .[dev]
pytest -q
codex-agent-mem-smoke

Configurar clientes MCP

El punto de entrada del servidor MCP es el mismo para cualquier cliente compatible:

codex-agent-mem-mcp --db-path "$HOME/.codex_agent_mem/codex_agent_mem.db"
codex-agent-mem-mcp --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db

Apunta tu cliente compatible con MCP a ese comando stdio instalado. Las rutas publicas validadas en v1.0.x incluyen Codex CLI/Desktop, Claude Code, Google Gemini CLI, Qwen Code con modelos Qwen locales via Ollama, DeepSeek-V3.2 y Minimax M2.5 via Ollama Cloud, ademas de validacion de conexion en Kimi Code CLI.

Helper para Codex

Genera un snippet listo para pegar:

codex-agent-mem-bootstrap-codex --db-path "$HOME/.codex_agent_mem/codex_agent_mem.db"
codex-agent-mem-bootstrap-codex --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db

Para Codex, eso imprime el bloque notify, el bloque [mcp_servers."codex-agent-mem"], un idle timeout explicito para stdio y las aprobaciones de las tools MCP para pegar en ~/.codex/config.toml.

Para sesiones largas de Codex Desktop, prefiere un MCP idle timeout mas largo, por ejemplo --idle-timeout-seconds 1800, para reducir la probabilidad de que el thread de Desktop conserve un transporte stdio cerrado. Para corridas CLI cortas o codex exec, 300 segundos suele ser suficiente y limpia mas rapido.

Si tambien quieres reinyeccion automatica en AGENTS.md, agrega --sync-project-doc al comando notify.

Como debe usarlo el agente

Una vez configurado, el agente debe usar codex-agent-mem de forma proactiva cuando la continuidad importa. No deberias tener que repetir “usa el MCP de memoria” cada pocos turnos.

Patron recomendado:

De ahi sale la economia practica de tokens: continuidad compacta primero, expansion puntual solo cuando hace falta, y no reenviar el mismo pack si nada cambio.

Tambien hay ejemplos en examples/codex y notas de flujos via Ollama en examples/ollama.

Ejecucion local

Levanta la API de inspeccion:

codex-agent-mem-api --db-path "$HOME/.codex_agent_mem/codex_agent_mem.db"
codex-agent-mem-api --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db

Luego abre:

http://127.0.0.1:37770/ui

Levanta el servidor MCP:

codex-agent-mem-mcp --db-path "$HOME/.codex_agent_mem/codex_agent_mem.db"
codex-agent-mem-mcp --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db

El transporte MCP actual es stdio. Eso significa que un proceso por conexion del host es normal; no es un daemon singleton. El idle timeout defensivo permite que instancias no usadas o huerfanas salgan limpiamente.

Defaults recomendados: usa un timeout mas largo para sesiones Codex Desktop, por ejemplo 1800 segundos, y uno mas corto para ejecuciones CLI/efimeras, por ejemplo 300 segundos.

Reconstruye manualmente el bloque de continuidad generado para un directorio:

codex-agent-mem-refresh-context --db-path "$HOME/.codex_agent_mem/codex_agent_mem.db" --project-key YOUR_PROJECT --cwd /path/to/project
codex-agent-mem-refresh-context --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db --project-key YOUR_PROJECT --cwd C:\Path\To\Project

Verificacion rapida

Corre el smoke test:

codex-agent-mem-smoke --db-path "$HOME/.codex_agent_mem/codex_agent_mem.db"
codex-agent-mem-smoke --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db

Eso inserta un turno de ejemplo, extrae observaciones y verifica recuperacion reciente y generacion de project_brief.

Economia de tokens: que ahorra tokens hoy

Esto es economia de tokens para flujos con agentes, no compresion magica. codex-agent-mem mejora la economia de contexto al reducir contexto repetido de proyecto, reutilizar packs sin cambios con known_pack_hash y permitir que el agente expanda solo la memoria que necesita.

Ahorro aproximado de tokens

En lenguaje simple: esto busca reducir la cantidad de contexto repetido que hay que volver a pasarle al agente. No lo elimina por completo, pero si puede recortarlo de forma util.

Lo que hoy podemos decir honestamente a partir de validaciones locales:

Ejemplos del sandbox publico v1.0:

Importante: no es una garantia fija por prompt. Si el pack generado no es realmente mas chico que el contexto fuente, codex-agent-mem no lo reinyecta y evita fingir un ahorro que no existe.

Que ayuda a detectar hoy

Estructura del repositorio

Mapa de documentacion

Superficie de release

Este repositorio incluye:

Autor

Creado y mantenido por Marcelo Caporale.