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_proyectoB | 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 NULL project_id rows are hidden while a project is active unless faro include_unscoped=true or you backfill them. |
| memory_proyectoB | [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 NULL project_id rows are hidden while a project is active unless faro include_unscoped=true or you backfill them. |
| 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, ./.memory-industry/ by default and otherwise as the dir parameter describes; 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, ./.memory-industry/ by default and otherwise as the dir parameter describes; 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 MemoryIndustry 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 MemoryIndustry 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 MemoryIndustry 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 MemoryIndustry 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
Descriptions carefully partition the memory space into semantic (alma), episodic (cronica), procedural (receta), working (pizarra), prospective (centinela), error (alarma/remedio/expediente) and analytics (vigia/reflexion) roles, so most tools are distinguishable. However, every tool is duplicated under both cuba_ and memory_ prefixes, and search/context tools (faro vs contexto vs cronica) have fuzzy boundaries, which can cause occasional misselection.
All names use consistent snake_case with clear prefix families (cuba_*, memory_*), and the domain nouns are stable. The only inconsistency is that each tool appears twice under two different prefixes, which is systematic but creates duplicate naming for identical functionality.
62 tools is far too many for a clean surface; even discounting the alias duplicates, roughly 31 distinct tools exceeds the 25-tool heavy threshold. The cuba_tools on-demand loading profile mitigates this, but the exposed set is still bloated for an agent to navigate.
The surface covers an unusually wide lifecycle: entity CRUD, observations, errors, decisions, sessions, artifacts, sync, audit, ingestion, maintenance, calibration, GDPR erasure, and compaction survival. Minor gaps remain, such as no obviously dedicated read/list tool for every resource type, but core workflows are well supported.