Atlas / MCP servers / leandropg19 / Cuba-Memorys

Cuba-MemorysBLOCK

mcp/leandropg19/cuba-memorys-1

Persistent memory MCP server for AI agents — Rust, 19 tools, knowledge graph, Hebbian learning, episodic memory, contradiction detection, prospective triggers, Bayesian calibration, zero-config Docker setup.

Verdict
BLOCK
Grade
F
Trust score
51 /100
Exposed tools
—
Transport
stdio
License
Apache-2.0
Stars
29
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Formerly cuba-memorys. Same daemon, same cuba_* MCP tools, new product name.

[](https://github.com/LeandroPG19/Memorys/actions/workflows/ci.yml) [](https://pypi.org/project/memory-industry/) [](https://www.npmjs.com/package/memory-industry) [](https://registry.modelcontextprotocol.io) [](https://rust-lang.org) [](https://postgresql.org) [](https://www.apache.org/licenses/LICENSE-2.0)

Long-term memory for AI coding agents. An MCP server that gives your agent a knowledge graph it can search, reason over, and be corrected by — so it stops forgetting your codebase between sessions.

Written in Rust. Backed by PostgreSQL + pgvector. 31 MCP tools (32 with CUBA_DOCS=1), 26 CLI commands, and every number below measured on a benchmark that — as of v0.12 — actually measures what it claims to. (The previous one did not. See Measured.)

Install

pip install memory-industry        # or: npm install -g memory-industry
claude mcp add memory-industry -- memory-industry

# Previous names still install the same binary:
#   pip install cuba-memorys
#   npm install 
Read from source at commit 428144eac549OBSERVED · 2026-10-09
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (npm)
claude mcp add memory-industry -- npx -y [email protected]
claude-code (pypi)
claude mcp add memory-industry -- None memory-industry==1.30.0
claude-code (npm)
claude mcp add cuba-memorys -- npx -y [email protected]
03

Trust audit

BLOCKgrade F · trust 51/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (7 observation(s))
Network
declared (11 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
found

Findings (25)

CRITICALHard-coded secrets · secret.anthropic · CWE-798, CWE-321
rust/src/cognitive/judge.rs:1582
"Authorization sk-ant-api03-abcdefghijklmnopqrstuvwxyz rejected",
CRITICALHard-coded secrets · secret.anthropic · CWE-798, CWE-321
rust/src/cognitive/judge.rs:1602
"sk-ant-api03-abcdefghijklmnopqrstuvwxyz",
CRITICALHard-coded secrets · secret.github · CWE-798, CWE-321
rust/src/cognitive/judge.rs:1705
stderr.push_str(" ghp_abcdefghijklmnopqrstuvwxyz0123456789 ");
CRITICALHard-coded secrets · secret.slack · CWE-798, CWE-321
rust/src/redact.rs:534
("xoxb-canary0123456789", "slack token"),
CRITICALHard-coded secrets · secret.slack · CWE-798, CWE-321
rust/src/redact.rs:535
("xoxp-canary0123456789", "slack token"),
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
rust/src/handlers/docs.rs:194
"http://169.254.169.254/",
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
rust/src/net/guard.rs:71
Rechazado: 169.254.169.254 es donde AWS/GCP/Azure sirven credenciales, y \
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
rust/src/net/guard.rs:88
let err = check("http://169.254.169.254/latest/meta-data/iam/security-credentials/")
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
rust/src/net/guard.rs:91
format!("{err:#}").contains("169.254.169.254"),
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
rust/src/net/guard.rs:126
is_forbidden(&"::ffff:169.254.169.254".parse::<IpAddr>().unwrap()),
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHHard-coded secrets · secret.db_uri · CWE-798, CWE-321
.env.example:2
# DATABASE_URL=postgresql://cuba:memorys2026@localhost:5488/brain
HIGHHard-coded secrets · secret.db_uri · CWE-798, CWE-321
.env.example:38
# DATABASE_URL=postgresql://cuba:memorys2026@localhost:5488/brain
MEDIUMInventory / provenance · inv.binary · CWE-1104
packaging/windows/memory-industry-task.xml
memory-industry-task.xml
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
.env.example:25
# MEMORY_INDUSTRY_LLM_BASE_URL=http://127.0.0.1:11434/v1
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
rust/src/cognitive/judge.rs:373
base_url: "http://127.0.0.1:11434/v1",
MEDIUMHard-coded secrets · secret.db_uri · CWE-798, CWE-321
.github/workflows/ci.yml:173
DATABASE_URL: postgresql://cuba:[email protected]:5488/brain
MEDIUMHard-coded secrets · secret.db_uri · CWE-798, CWE-321
.github/workflows/ci.yml:174
CUBA_PEER_DATABASE_URL: postgresql://cuba:[email protected]:5488/brain_ci_peer
MEDIUMHard-coded secrets · secret.db_uri · CWE-798, CWE-321
.github/workflows/ci.yml:183
psql "postgresql://cuba:[email protected]:5488/postgres" -q \
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
rust/tests/v028_two_node_convergence.rs:895
.bind("el token de deploy es ghp_abcdefghijklmnopqrstuvwxyz0123456789")
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
rust/tests/v031_rem_wiring.rs:401
.bind("el token es ghp_0123456789abcdefghijklmnopqrstuvwxyzAB y no se puede procesar")
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
rust/tests/v031_rem_wiring.rs:409
"el token es ghp_0123456789abcdefghijklmnopqrstuvwxyzAB y no se puede procesar",
LOWInventory / provenance · inv.hidden_file · CWE-1104
.pre-commit-config.yaml
.pre-commit-config.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
rust/src/handlers/docs.rs:195
"../../etc/passwd",
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
rust/src/sync/paths.rs:267
for escape in ["../elsewhere", "sub/../../elsewhere", "./../.."] {
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:88
"url": "http://127.0.0.1:8787/mcp",

Gates applied: critical_finding, no_behavioural_pass.

Audited 2026-10-09 · audit v0.4.1 · source sha 428144eac549full audit observations/trust-audit/mcp-server/leandropg19__cuba-memorys-1.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-09428144eac549BLOCKF51first audit
05

Questions

What is the Cuba-Memorys MCP server?

Persistent memory MCP server for AI agents — Rust, 19 tools, knowledge graph, Hebbian learning, episodic memory, contradiction detection, prospective triggers, Bayesian calibration, zero-config Docker setup.

Is Cuba-Memorys safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (51/100) and found 12 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does Cuba-Memorys need?

It reads LINKEDIN_ACCESS_TOKEN, LINKEDIN_CLIENT_SECRET, LINKEDIN_REFRESH_TOKEN, REDDIT_CLIENT_SECRET and REDDIT_REFRESH_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Cuba-Memorys run?

It speaks stdio, so it runs as a local process your client starts. It is published on npm as memory-industry at 0.28.0.

How current is this page?

The grade is for one exact copy of the source (428144eac549), read on 2026-10-09. The repository is watched and re-audited when it changes.

Advertisement