Cuba-Memorys
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DATABASE_URL | Yes | PostgreSQL connection string (e.g., postgresql://user:password@127.0.0.1:5488/brain) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cuba_almaA | CRUD knowledge graph entities (concepts, projects, technologies, patterns, people). Auto-boosts neighbors on access. For transient info use cuba_cronica instead. |
| memory_almaA | [alias of cuba_alma] CRUD knowledge graph entities (concepts, projects, technologies, patterns, people). Auto-boosts neighbors on access. For transient info use cuba_cronica instead. |
| cuba_cronicaB | Attach facts/lessons/decisions to entities. Also manages episodic memories (specific events with actors/artifacts) via episode_add/episode_list. Timeline view shows chronological history. Auto-creates entity if not found. Dedup gate blocks near-duplicates. |
| memory_cronicaB | [alias of cuba_cronica] Attach facts/lessons/decisions to entities. Also manages episodic memories (specific events with actors/artifacts) via episode_add/episode_list. Timeline view shows chronological history. Auto-creates entity if not found. Dedup gate blocks near-duplicates. |
| cuba_faroA | Search memory BEFORE answering to ground responses. Returns grounding scores. Mode 'verify' checks claims against evidence (confidence: verified/partial/weak/unknown). Session-aware: boosts results matching active session goals. Supports temporal filtering. Optional MMR diversification, OOD abstention and an exact tiktoken-based token budget. |
| memory_faroA | [alias of cuba_faro] Search memory BEFORE answering to ground responses. Returns grounding scores. Mode 'verify' checks claims against evidence (confidence: verified/partial/weak/unknown). Session-aware: boosts results matching active session goals. Supports temporal filtering. Optional MMR diversification, OOD abstention and an exact tiktoken-based token budget. |
| cuba_puenteC | Create edges between entities (uses, causes, implements, depends_on, related_to). 'traverse' explores connections, 'infer' does transitive reasoning (A→B→C), 'predict' suggests missing links via Adamic-Adar. Relations strengthen with use (Hebbian). |
| memory_puenteB | [alias of cuba_puente] Create edges between entities (uses, causes, implements, depends_on, related_to). 'traverse' explores connections, 'infer' does transitive reasoning (A→B→C), 'predict' suggests missing links via Adamic-Adar. Relations strengthen with use (Hebbian). |
| cuba_ecoB | RLHF feedback: positive boosts importance (Oja's rule), negative decreases, correct updates content. Also the quarantine gate: 'pending' lists memories withheld from search because they came from untrusted text, 'promote' makes one retrievable, 'quarantine' withdraws one. The gate covers observations, episodes and errors — pick which with 'kind'. |
| memory_ecoA | [alias of cuba_eco] RLHF feedback: positive boosts importance (Oja's rule), negative decreases, correct updates content. Also the quarantine gate: 'pending' lists memories withheld from search because they came from untrusted text, 'promote' makes one retrievable, 'quarantine' withdraws one. The gate covers observations, episodes and errors — pick which with 'kind'. |
| cuba_alarmaB | Report errors immediately. Auto-detects patterns (≥3 similar = warning). Hebbian: similar errors get boosted for easier retrieval. |
| memory_alarmaA | [alias of cuba_alarma] Report errors immediately. Auto-detects patterns (≥3 similar = warning). Hebbian: similar errors get boosted for easier retrieval. |
| cuba_remedioB | Mark an error as resolved with solution. Cross-references similar unresolved errors. |
| memory_remedioC | [alias of cuba_remedio] Mark an error as resolved with solution. Cross-references similar unresolved errors. |
| cuba_expedienteB | Search past errors/solutions. Use 'proposed_action' as anti-repetition guard: warns if similar approach previously failed. |
| memory_expedienteB | [alias of cuba_expediente] Search past errors/solutions. Use 'proposed_action' as anti-repetition guard: warns if similar approach previously failed. |
| cuba_jornadaB | Track working sessions with goals and outcomes. v0.8: optional 'project' arg binds the session to a named project (upserts in brain_projects); subsequent handlers will scope reads/writes to that project. |
| memory_jornadaB | [alias of cuba_jornada] Track working sessions with goals and outcomes. v0.8: optional 'project' arg binds the session to a named project (upserts in brain_projects); subsequent handlers will scope reads/writes to that project. |
| cuba_decretoC | Record and query architecture/design decisions. |
| memory_decretoC | [alias of cuba_decreto] Record and query architecture/design decisions. |
| cuba_vigiaC | Knowledge graph analytics: summary, health, drift, communities, bridges, structural. |
| memory_vigiaC | [alias of cuba_vigia] Knowledge graph analytics: summary, health, drift, communities, bridges, structural. |
| cuba_zafraC | Memory maintenance, scoped to the active project: decay, prune, merge, summarize, pagerank, find_duplicates, export, reembed, decay_episodes. |
| memory_zafraC | [alias of cuba_zafra] Memory maintenance, scoped to the active project: decay, prune, merge, summarize, pagerank, find_duplicates, export, reembed, decay_episodes. |
| cuba_forgetA | GDPR Right to Erasure: cascading hard-delete of an entity and ALL references across observations, relations, errors, and sessions. IRREVERSIBLE. Requires confirm=true. |
| memory_forgetA | [alias of cuba_forget] GDPR Right to Erasure: cascading hard-delete of an entity and ALL references across observations, relations, errors, and sessions. IRREVERSIBLE. Requires confirm=true. |
| cuba_reflexionB | Analyze the knowledge graph for structural gaps. Read-only. |
| memory_reflexionB | [alias of cuba_reflexion] Analyze the knowledge graph for structural gaps. Read-only. |
| cuba_hipotesisA | Abductive inference: find plausible causes of an observed effect. Read-only. |
| memory_hipotesisB | [alias of cuba_hipotesis] Abductive inference: find plausible causes of an observed effect. Read-only. |
| cuba_contradiccionB | Detect semantic contradictions between observations of the same entity. Uses embedding cosine distance + negation heuristics. Read-only. |
| memory_contradiccionA | [alias of cuba_contradiccion] Detect semantic contradictions between observations of the same entity. Uses embedding cosine distance + negation heuristics. Read-only. |
| cuba_centinelaC | Prospective memory: triggers that fire on entity access, session start, or error match. 'Remember to remind me about X when Y happens.' |
| memory_centinelaA | [alias of cuba_centinela] Prospective memory: triggers that fire on entity access, session start, or error match. 'Remember to remind me about X when Y happens.' |
| cuba_calibrarA | Bayesian confidence calibration: track verify predictions, mark outcomes, compute P(correct|level). Closes the feedback loop between faro verify and eco correct. |
| memory_calibrarB | [alias of cuba_calibrar] Bayesian confidence calibration: track verify predictions, mark outcomes, compute P(correct|level). Closes the feedback loop between faro verify and eco correct. |
| cuba_ingestaA | Bulk knowledge ingestion. 'ingest': array of {entity_name, content, observation_type} items. 'parse': split long text by paragraphs + heuristic classify. 'auto_extract' (v0.11): the calling client's LLM extracts salient durable facts from a turn/conversation via MCP Sampling ($0, no API key) and ingests them — the automatic-extraction that mem0/Zep have. All routes share the dedup/PE-gating/embedding pipeline; none delete. |
| memory_ingestaA | [alias of cuba_ingesta] Bulk knowledge ingestion. 'ingest': array of {entity_name, content, observation_type} items. 'parse': split long text by paragraphs + heuristic classify. 'auto_extract' (v0.11): the calling client's LLM extracts salient durable facts from a turn/conversation via MCP Sampling ($0, no API key) and ingests them — the automatic-extraction that mem0/Zep have. All routes share the dedup/PE-gating/embedding pipeline; none delete. |
| cuba_proyectoA | Project scoping (v0.8): isolate memories per project so multiple projects sharing one DB don't bleed into each other. Active project is bound to the current session (cuba_jornada start --project NAME). Legacy rows with NULL project_id remain visible from every scope. |
| memory_proyectoC | [alias of cuba_proyecto] Project scoping (v0.8): isolate memories per project so multiple projects sharing one DB don't bleed into each other. Active project is bound to the current session (cuba_jornada start --project NAME). Legacy rows with NULL project_id remain visible from every scope. |
| cuba_pre_compactA | Compaction-survival protocol: persist and restore a session summary across /compact. |
| memory_pre_compactA | [alias of cuba_pre_compact] Compaction-survival protocol: persist and restore a session summary across /compact. |
| cuba_syncA | Git-friendly export/import of the knowledge graph between machines that share no database. export/import/diff/status work on a local directory (default ./.cuba-memorys/); pull/notify/fetch/conflicts/resolve talk to a peer over HTTP with CUBA_PEER_TOKEN. |
| memory_syncA | [alias of cuba_sync] Git-friendly export/import of the knowledge graph between machines that share no database. export/import/diff/status work on a local directory (default ./.cuba-memorys/); pull/notify/fetch/conflicts/resolve talk to a peer over HTTP with CUBA_PEER_TOKEN. |
| cuba_archivoB | Tamper-evident audit log: append-only, SHA-256 hash chain, UPDATE/DELETE blocked at the PostgreSQL trigger level. |
| memory_archivoA | [alias of cuba_archivo] Tamper-evident audit log: append-only, SHA-256 hash chain, UPDATE/DELETE blocked at the PostgreSQL trigger level. |
| cuba_pizarraA | Working memory buffer (v0.9, Baddeley 1992): a TTL-bounded scratchpad orthogonal to episodic and semantic memory. Use for inter-step plan state during long-horizon agent tasks, tentative observations, cross-tool-call reminders inside one session. Auto-expire by ttl_seconds; bulk-purged by cuba_zafra REM cycle. |
| memory_pizarraA | [alias of cuba_pizarra] Working memory buffer (v0.9, Baddeley 1992): a TTL-bounded scratchpad orthogonal to episodic and semantic memory. Use for inter-step plan state during long-horizon agent tasks, tentative observations, cross-tool-call reminders inside one session. Auto-expire by ttl_seconds; bulk-purged by cuba_zafra REM cycle. |
| cuba_juezA | LLM-judge for semantically-conflicting observations in the ambiguous cosine-similarity band (0.6-0.8), where heuristics miss vocabulary-different conflicts. Verdicts are cached in brain_judgments. |
| memory_juezA | [alias of cuba_juez] LLM-judge for semantically-conflicting observations in the ambiguous cosine-similarity band (0.6-0.8), where heuristics miss vocabulary-different conflicts. Verdicts are cached in brain_judgments. |
| cuba_whoamiA | Identify this MCP client against the MemoryIndustry daemon: client id, project, session, node, LLM, graph-db, resource plan. Alias: memory_whoami. |
| memory_whoamiA | [alias of cuba_whoami] Identify this MCP client against the MemoryIndustry daemon: client id, project, session, node, LLM, graph-db, resource plan. Alias: memory_whoami. |
| cuba_artefactoB | Shared versioned artifacts between agents on the same daemon (and peers). put requires base_version (optimistic concurrency); lock is a short lease. Alias: memory_artifact. |
| memory_artifactB | [alias of cuba_artefacto] Shared versioned artifacts between agents on the same daemon (and peers). put requires base_version (optimistic concurrency); lock is a short lease. Alias: memory_artifact. |
| cuba_contextoA | Visible context window for the agent: working memory + agent notes (exact Mcp-Client-Id) + artifact index + recall of this session's recent writes (then WM mentions, then importance). Call at the start of a turn; call cuba_cronica add BEFORE editing. Alias: memory_context. |
| memory_contextA | [alias of cuba_contexto] Visible context window for the agent: working memory + agent notes (exact Mcp-Client-Id) + artifact index + recall of this session's recent writes (then WM mentions, then importance). Call at the start of a turn; call cuba_cronica add BEFORE editing. Alias: memory_context. |
| cuba_recetaA | PROCEDURAL MEMORY: how things are DONE here — bring up the dev services, run the test suite, deploy, migrate. The other tools remember what is TRUE; this one remembers what to DO, so an agent stops rediscovering it every session. Ranked by reliability, not by how often it is read: report the outcome with action='outcome' after running one, or the memory learns nothing. A recipe that keeps failing is worse than none, because it is trusted. |
| memory_recetaA | [alias of cuba_receta] PROCEDURAL MEMORY: how things are DONE here — bring up the dev services, run the test suite, deploy, migrate. The other tools remember what is TRUE; this one remembers what to DO, so an agent stops rediscovering it every session. Ranked by reliability, not by how often it is read: report the outcome with action='outcome' after running one, or the memory learns nothing. A recipe that keeps failing is worse than none, because it is trusted. |
| cuba_toolsA | Find cuba-memorys tools and load their schemas ON DEMAND. The server exposes 31 tools; under CUBA_TOOL_PROFILE=lean only the everyday core is pre-loaded and the rest live here. Search by capability ('audit', 'decay', 'contradiction', 'session'), then call what you find with cuba_call. detail='names' is cheapest, 'full' returns the exact argument schema. |
| memory_toolsA | [alias of cuba_tools] Find cuba-memorys tools and load their schemas ON DEMAND. The server exposes 31 tools; under CUBA_TOOL_PROFILE=lean only the everyday core is pre-loaded and the rest live here. Search by capability ('audit', 'decay', 'contradiction', 'session'), then call what you find with cuba_call. detail='names' is cheapest, 'full' returns the exact argument schema. |
| cuba_callA | Invoke any cuba-memorys tool by name — including the ones not pre-loaded in this session. Discover them first with cuba_tools (use detail='full' to see the exact arguments). Goes through the same dispatcher as a direct call, so behaviour is identical. |
| memory_callA | [alias of cuba_call] Invoke any cuba-memorys tool by name — including the ones not pre-loaded in this session. Discover them first with cuba_tools (use detail='full' to see the exact arguments). Goes through the same dispatcher as a direct call, so behaviour is identical. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| agent context | Working memory + notes + artifacts + top recall (budgeted) |
| daemon status | Same payload as cuba_whoami / memory_whoami |
| artifacts index | Shared multi-agent artifact paths |
TDQS
Scored across 62 tools
The 31 cuba_* tools have mostly distinct documented purposes, but each is duplicated verbatim by a memory_* alias, so the agent sees 62 near-identical entries and must rely on the '[alias of ...]' tag to avoid redundancy. Several core tools also overlap conceptually (alma vs cronica vs pizarra vs receta all store different memory types; faro/expediente/remedio all revolve around retrieval of prior knowledge), though the descriptions do draw boundaries.
Every tool follows an identical lowercase prefix_noun pattern (cuba_<domain> with a parallel memory_<domain> alias), using single Spanish domain nouns rather than verbs. There is no mixing of camelCase/snake_case or competing verb styles, so the pattern is perfectly predictable across the whole set.
There are 62 listed tools (31 functional tools each mirrored by an alias), which is far above a well-scoped surface and lands in the 'too many' band. The presence of cuba_tools/cuba_call to lazy-load schemas shows the authors know the surface is heavy, but the sheer number plus the alias doubling makes the set unwieldy.
The surface is exceptionally thorough: entity CRUD, observations/facts/episodes, relations, error tracking (record/search/resolve), sessions, decisions, maintenance (decay/prune/merge), GDPR erasure, graph analytics, contradiction detection, confidence calibration, bulk ingestion, project scoping, sync, audit log, working memory, artifacts, and a context-window view. Essentially every lifecycle stage of a memory domain is covered with no obvious dead ends.