Genesys Memory
Resumen
Descripción del creador (original en inglés)
Open-source causal memory for AI agents: persistent, explainable, MCP-native memory (13 tools).
Los tres pilares de PopNx MCP
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
- Opinión de usuariosiAún no hay reseñasLas reseñas se abrirán junto con las cuentas en una etapa posterior
- Nuestras revisiones básicasi1 de 1 superadasRevisado con información pública; el código aún no se ha escaneado
- UsoiMuy nuevo↓ 18/sem · ★ –
Qué puedes hacer con él
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
- Conexión: Se ejecuta en tu computadora
- Transporte: stdio
- Categoría: Búsqueda y memoria de IA
- Debes completar: OPENAI_API_KEY, ANTHROPIC_API_KEY
Instalación
Elige la app de IA que usas y copia la configuración.
Antes de instalar
- Revisiones básicas: 1 de 1 superadas
- Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
- Debes completar tú:
OPENAI_API_KEY,ANTHROPIC_API_KEY,GENESYS_EMBEDDER
Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
- PyPIuv de Python instalado (para el comando uvx)
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"genesys-memory": {
"command": "uvx",
"args": [
"genesys-memory"
],
"env": {
"OPENAI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"GENESYS_EMBEDDER": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add genesys-memory --env OPENAI_API_KEY=your-value --env ANTHROPIC_API_KEY=your-value --env GENESYS_EMBEDDER=your-value -- uvx genesys-memoryCompleta los valores vacíos antes de ejecutarlo.
O copia la configuración tú
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"genesys-memory": {
"command": "uvx",
"args": [
"genesys-memory"
],
"env": {
"OPENAI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"GENESYS_EMBEDDER": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
O copia la configuración tú
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"genesys-memory": {
"type": "stdio",
"command": "uvx",
"args": [
"genesys-memory"
],
"env": {
"OPENAI_API_KEY": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"GENESYS_EMBEDDER": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Valores que debes completar
- OpenAI API key for embedding generation (optional — use GENESYS_EMBEDDER=local for no API key)
- Anthropic API key for LLM-based memory processing (optional)
GENESYS_EMBEDDERenvEmbedding provider: 'openai' or 'local' (default: openai)
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Qué puede hacer
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisiones básicasi
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
- ✓ Superada
El creador coincide con el repo
El nombre en el registro se verificó con la cuenta de GitHub Astrix-Labs, dueña del repo
- … Aún sin revisar
Sigue en mantenimiento
Todavía no hemos leído este repo en GitHub
- … Aún sin revisar
Tiene licencia
Todavía no hemos leído este repo en GitHub
- – No aplica
El endpoint responde
Este se ejecuta en tu computadora; no hay endpoint en internet
- – No aplica
Inicio de sesión con OAuth
Se ejecuta en tu computadora y usa ajustes locales en su lugar
- … Aún sin revisar
Sin instrucciones ocultas en las descripciones de herramientas
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con otros en Búsqueda y memoria de IAi
- Más estrellas que el 0% de los otros 5714 servidores de esta categoría
- Publicado en el registro más recientemente que el 23% de los otros 5714 servidores de esta categoría
- Revisiones básicas iguales o mejores que el 100% de los otros 5714 servidores de esta categoría
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Preguntas frecuentes
¿Es seguro Genesys Memory?
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
¿Qué claves o códigos necesita?
Debes completar: OPENAI_API_KEY, ANTHROPIC_API_KEY
¿Se ejecuta en mi computadora o en la nube?
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
¿Sigue en mantenimiento?
El repo de GitHub cambió por última vez –, y la última versión (0.5.2) llegó al registro hace 4 meses.
¿Qué apps pueden usarlo?
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
¿Qué puedo usar en su lugar?
En la misma categoría: Context7, Codebase Memory, Exa
Alternativas
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
README del creador
Abrir el README
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Papez
The intelligence layer for AI memory.
Papez doesn't just remember what happened; it remembers why. A scoring engine + causal graph + lifecycle manager for AI agent memory. Speaks MCP natively.
LoCoMo benchmark (certified)
| System | Score | Protocol |
|---|---|---|
| Papez | 85.55 ± 0.37 | Frozen: gpt-4o-mini answerer + judge, temp 0, n=1,540, cats 1–4, 10 runs (July 2026) |
| Zep | 75.14 | Comparable published setup |
| Mem0 | 66.9 | Comparable published setup (Mem0 paper) |
Self-reported vendor figures above ~90 use different answerers/judges and are not comparable — the oracle retrieval ceiling under this frozen protocol is 94.9. Reproduce it yourself: Astrix-Labs/locomo-harness · full methodology · per-run results.
Hosted product: papez.ai — your personal memory for AI, carried across ChatGPT, Claude, and every MCP app · Pricing · Developer docs · Benchmark methodology (85.55 on LoCoMo, certified over 10 runs, receipts published)
What is this
Papez is a scoring engine, causal graph, and lifecycle manager for AI memory. Memories are scored by a multiplicative formula (relevance × connectivity × reactivation), connected in a causal graph, and actively forgotten when they become irrelevant.
This package (papez) is the core library: an in-memory causal graph engine with optional JSON persistence, plus a stdio MCP server. It has no database dependency and no REST API. A hosted product built on top of this library — with Postgres, additional storage backends, and a REST/HTTP MCP API — is available separately at api.papez.ai; it is not part of this package.
Why
- Flat memory doesn't scale. Dumping everything into a vector store gives you recall with zero understanding. The 500th memory buries the 5 that matter.
- No forgetting = no intelligence. Real memory systems forget. Without active pruning, your AI drowns in stale context.
- No causal reasoning. Vector similarity can't answer "why did I choose X?" — you need a graph.
Your AI remembers everything but understands nothing. Papez fixes that.
Quick Start
Requires Python 3.11 or newer.
Install the package. The base install has zero database dependencies — state lives in memory and is optionally persisted to a JSON file.
pip install papez
Optional extras:
pip install 'papez[openai]' # OpenAI embeddings
pip install 'papez[local]' # Local embeddings (sentence-transformers, no API key) pip install 'papez[anthropic]' # LLM-based causal inference (consolidation, contradiction detection)
Run the stdio MCP server directly:
python3 -m papez
From source
git clone https://github.com/Astrix-Labs/papez.git
cd papez pip install -e '.[dev]' pytest tests/
Connect to your AI
Claude Code
claude mcp add papez -- python -m papez
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": { "papez": { "command": "python", "args": ["-m", "papez"] } } }
Reliability & retries
The stdio server is a single local process. Under load — or during a restart or redeploy of a hosted transport in front of it — a tool call can transiently fail or the connection can briefly go unresponsive. Memory writes and reads are not worth crashing an agent turn over, so clients should degrade gracefully rather than treat a memory call as fatal:
- The server degrades gracefully too: a tool exception (or a missing required argument) is returned as a structured
{"error": "...", "retryable": bool}payload instead of a protocol-level MCP failure, so a memory hiccup never crashes the transport. Theretryableflag encodes the guidance below:truefor the read tools, and for amemory_store_batchcall in which every item carries anexternal_id. - Retry reads (
memory_recall,memory_search,memory_traverse,memory_explain,memory_stats,list_core_memories,space_list,space_get,space_member_list) with a short bounded backoff (e.g. 2–3 attempts). These have no side effects worth worrying about beyond reactivation bookkeeping. - Retry any write that carries an `external_id`.
memory_storewith anexternal_id, andmemory_store_batchwhen every item has one, are idempotent: a resend returnsunchanged(oramendedif the content really changed) with the same node ids, never a duplicate. See Idempotent writes and batches. - Do not blindly retry `memory_store` without an `external_id`, `memory_amend`, or a batch with any item lacking an `external_id` on an ambiguous timeout: a silent success followed by a retry creates a duplicate node. Prefer to continue the turn and reconcile on the next
memory_recall, or pass a stablesource_sessionso duplicates are easy to spot. (retryablestaysfalseformemory_storeeven with anexternal_id, because the flag is per tool; the call itself is safe to resend.) - Treat memory as best-effort context, not a hard dependency. If a call fails, proceed with whatever context you already have and try again next turn rather than aborting. The graph is durable; a missed write is recoverable, a crashed agent turn is not.
MCP Tools
| Tool | Description |
|---|---|
memory_store | Store a new memory. Use related for writer-specified typed edges ({id, type}); related_to is legacy and always creates caused_by. Optional category, refs, tags, space, external_id, on_existing (amend default, skip, error). May return possible_conflicts (heuristic hints). |
memory_amend | Record a correction: creates a new memory that supersedes an existing one. The old memory is kept (decayed in recall), not deleted. Optional refs / tags (omitted: copied from the old memory; given: replace). Stays in the old memory's space. |
memory_recall | Recall memories by natural language query (vector + keyword + graph spreading activation). Supports verbosity: "concise" or "light" for lightweight payloads. Optional tags_any, ref_type, space, spaces, include_personal, category, exclude_superseded. |
memory_search | Filtered vector search by status, category, date (since), last-active date (active_since), entity, and now tags_any, tags_all, ref_type, ref_id. Pass an empty query to enumerate by recency instead (no embedder needed) — with since/active_since this answers "what's new since I last looked" without knowing what to query for. Optional space, spaces, include_personal. |
memory_traverse | Walk the causal graph from a node. Returns reachable nodes and the edges of the induced subgraph (source/target/type/weight/created_by) — a superset of the BFS tree, so paths can be reconstructed. Honors edge_types. Optional space, spaces, include_personal. An invisible start node returns not_found. |
memory_explain | Explain a memory's score. Includes a score_model block (formula + live per-force breakdown + staleness note), removal_impact, and the memory's refs, tags, space. |
memory_stats | Get memory system statistics over what you can see. Optional space. |
pin_memory | Pin a memory so it's never forgotten (writer+ for space memories) |
unpin_memory | Unpin a previously pinned memory (writer+ for space memories) |
delete_memory | Permanently delete a memory (writer+ for space memories) |
list_core_memories | List core memories, optionally filtered by category. Optional space. |
set_core_preferences | Set user preferences for core memory categories |
promote_to_org | Promote a private memory to org visibility (not for space memories) |
memory_store_batch | Store up to 100 memories into one space in one call. Validates every item first (all or nothing), supports ref_index links to earlier items, returns one result per item. Safe to retry when every item has an external_id. |
memory_retire_by_ref | Retire the memories citing a removed source (ref_type, ref_id). mode="amend" (default) or "delete". Optional space. |
space_create | Create a Mind Space; you become its owner. name, optional slug, org_id, description, forgetting_policy, llm_inference_enabled, show_service_names. |
space_list | List your spaces with your role and counts. Optional include_archived. |
space_get | One space, with member and memory counts (reader+) |
space_update | Change name, description, forgetting_policy, llm_inference_enabled, show_service_names (owner) |
space_member_add | Add a user or service with a role, or change an existing member's role (owner) |
space_member_remove | Remove a member (owner; the last user owner can't be removed) |
space_member_list | List members (reader+) |
space_archive / space_unarchive | Make a space read-only and hidden from default recall, or undo it (owner) |
space_erase | Permanently delete a space and everything in it (owner, confirm_slug, optional dry_run) |
promote_to_space | Copy one of your personal memories into a space (writer+). Optional keep_original. |
Writer-specified edges & corrections
memory_store's related argument lets the writer set edge semantics instead of guessing. Each entry is {"id": " ", "type": " "}, directed new_node --type--> target (so supersedes means the new node supersedes the target). Invalid types are rejected before the node is created — explicit writes never half-succeed. related_to still exists but always creates caused_by; prefer related.
To correct a fact, use memory_amend(node_id, content, reason=...): it stores the new version, links it SUPERSEDES → old, and keeps the old memory for audit. Recall automatically deprioritizes superseded hits and tags them with superseded_by.
When you memory_store something that lexically disagrees with an auto-link candidate (a changed number, a negation), the result may include possible_conflicts — heuristic hints, not verified contradictions, and never materialized as edges. Use them to decide whether to memory_amend.
References and tags
Every memory can say where it came from (refs) and carry labels (tags):
{"content": "Manual payments over $10K ship overnight via FedEx Priority.",
"tags": ["Manual Payments", "bank-a"], "refs": [{"type": "document", "id": "doc_8812", "label": "Mail Matrix.pdf", "url": "https://docs.example.com/d/doc_8812"}]}
- Tags are normalized: trimmed, lowercased, runs of whitespace become
-("Manual Payments"->manual-payments), empty tags dropped, duplicates removed in order. Onlya-z 0-9 - _ . :are allowed ("q2/2026"is rejected withinvalid_tag). At most 20 tags of 50 cha
Solo se muestra el principio; lee el resto en el repo