MCP server · Org-owned · Audited from source
Basic Memory MCP server
by basicmachines-co/basic-memoryAGPL-3.0 licenceAudited 22 Sep 2026 · source 66cdcaa927f9
Is it safe? No — BLOCK, grade F (36/100). It exposes 18 tools: 14 read, 3 write and 1 destructive. The audit recorded 57 findings (0 critical, 2 high, 16 medium, 39 low). Maintainer's description: AI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN
Cite
Cite this page
ModelsAtlas. “Basic Memory MCP server (basicmachines-co/basic-memory)”. Retrieved 22 Sep 2026. https://modelsatlas.com/mcp/basicmachines-co/basic-memory
Why this is BLOCK. The audit found 0 critical and 2 high findings; the most severe is Hard-coded secrets at .env.example:12. Each finding is listed below with its file and line.
Why this page is still public. People search for this server by name. Hiding it would leave them with the README's word alone; here they see what the code does. We list it so you can decide, and we do not show connect commands for BLOCK servers.
Trust audit
Audit 0.4.1 · full source read 22 Sep 2026
57 findings, listed below with the file and line each was found on. Grade A needs a sandboxed behavioural run too; this audit read the source only.
What the source does
- FilesystemDeclared4 observations
- NetworkDeclared3 observations
- ShellDeclared1 observation
- DependenciesNot pinnedSome ranges float
- SecretsFoundSee the findings
Findings (57)
Sorted by severity · the 25 most severe of 57 are listed
HIGHHard-coded secretssecret.db_uri · .env.example:12
Excerpt withheld: it is a secret, and we never print one.
- Why
- No further detail recorded for this rule.
- Fix
- —
HIGHPrompt injectionprompt.hide_from_user · .agents/skills/cmux-settings/SKILL.md:68
- Never tell the user to restart cmux. The file watcher reloads on save.
- Why
- asks the agent to act without the user's knowledge
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · .claude/skills/adversarial-review
.claude/skills/adversarial-review
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · .claude/skills/basic-machines-review
.claude/skills/basic-machines-review
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · .claude/skills/cmux
.claude/skills/cmux
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · .claude/skills/cmux-markdown
.claude/skills/cmux-markdown
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · .claude/skills/cmux-settings
.claude/skills/cmux-settings
- Why
- link not followed
- Fix
- —
MEDIUMInformation disclosuredisclose.log_secret · src/basic_memory/cli/commands/cloud/shares.py:180
console.print(f" Token: {data.get('token', 'unknown')}")- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMInformation disclosuredisclose.log_secret · src/basic_memory/cli/commands/cloud/shares.py:457
console.print(f"[red]Share not found: {token}[/red]")- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMInformation disclosuredisclose.log_secret · src/basic_memory/cli/commands/cloud/shares.py:514
console.print(f"[green]Share {token} revoked successfully[/green]")- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMInformation disclosuredisclose.log_secret · src/basic_memory/cli/commands/cloud/shares.py:525
console.print(f"[red]Share not found: {token}[/red]")- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMNetwork egressnet.raw_ip · .agents/skills/cmux-workspace/SKILL.md:35
cmux new-pane --workspace "${CMUX_WORKSPACE_ID}" --type browser --direction right --url "http://127.0.0.1:8765"- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.db_uri · .github/workflows/test.yml:264
Excerpt withheld: it is a secret, and we never print one.
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.db_uri · .github/workflows/test.yml:338
Excerpt withheld: it is a secret, and we never print one.
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.db_uri · tests/cli/test_config_command.py:334
Excerpt withheld: it is a secret, and we never print one.
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.db_uri · tests/mcp/test_tool_basic_memory_diagnostics.py:106
Excerpt withheld: it is a secret, and we never print one.
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.private_key · integrations/tau/tests/test_recovery.py:248
Excerpt withheld: it is a secret, and we never print one.
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMFilesystem / pathmcp.destructive_tools
delete_project
- Why
- 1 tool(s) can delete or overwrite
- Fix
- prefer a read-only mode or scoped tokens; the page states the blast radius
LOWCode injectioncode.dynamic_import · tests/mcp/tools/test_mutating_memory_url_routing.py:51
tool_module = importlib.import_module(module_name)
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInsecure cryptocrypto.weak_hash · src/basic_memory/cli/commands/cloud/webdav_transfer.py:350
digest = hashlib.md5(usedforsecurity=False)
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInsecure cryptocrypto.weak_hash · tests/cli/cloud/test_webdav_transfer.py:34
return hashlib.md5(data, usedforsecurity=False).hexdigest()
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWInformation disclosuredisclose.log_secret · tests/markdown/test_task_detection.py:17
print(f"{token.type}: {token.content}")- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.credential_store · tests/mcp/test_tool_move_note.py:776
"../../../root/.ssh/id_rsa",
- Why
- touches a credential store
- Fix
- —
LOWFilesystem / pathfs.credential_store · tests/mcp/test_tool_move_note.py:844
"/root/.ssh/id_rsa",
- Why
- touches a credential store
- Fix
- —
Tools it exposes
18 declared in source · 1 destructive
1 tool can delete or overwrite. An agent that can be talked into calling a tool can be talked into calling this one, so give it a token scoped to what you need.
| Tool | What it does | Risk |
|---|---|---|
delete_project | Delete a Basic Memory project. | destructive |
bm-setup | Install or update the Basic Memory CLI (requires uv) | write |
create_memory_project | No description in the source | write |
remember | Save something to the Basic Memory knowledge graph | write |
basic_memory_diagnostics | No description in the source | read |
cat | Print a note | read |
fetch | ChatGPT/OpenAI MCP fetch adapter returning a single text content item. | read |
grep | Search note content, semantically by default. | read |
list_memory_projects | No description in the source | read |
ls | List the immediate contents of one directory. | read |
man | Look up one manual page, search the manual, or render the index. | read |
recall | Search the Basic Memory knowledge graph | read |
schema_diff | Detect drift between a schema definition and actual note usage. | read |
schema_infer | Analyze existing notes and suggest a schema definition. | read |
schema_validate | Validate notes against their resolved schema. | read |
search | ChatGPT/OpenAI MCP search adapter returning a single text content item. | read |
tail | Show the most recently changed notes in a project. | read |
view_note | View a markdown note as a formatted artifact. | read |
Safer alternatives
All memory & knowledge servers →mpazik/binder
Headless knowledge base with bidirectional Markdown sync
ahmad-a0/silverbullet-mcp
A Model Context Protocol (MCP) server to interact with your SilverBullet notes and data.
shinytoyrobots/rutter
A record of what your AI sessions decided — and the receipts behind it. An MCP memory-of-use server over markdown notes: append-only, content-hashed, no model inside.
Audit history
- ✕BLOCK F 36 / 100
Source changed, verdict held ·
66cdcaa927f9
README badge
Badges show the current verdict, BLOCK included
A badge cannot be hidden by the maintainer while the verdict is BLOCK. Fix the findings, push, and the re-audit updates it.
Questions about Basic Memory MCP server
What is the Basic Memory MCP server?
What tools does Basic Memory expose?
Is Basic Memory safe to connect to an agent?
What credentials does Basic Memory need?
How does Basic Memory run?
How current is this page?
I already installed Basic Memory. What should I do?
Can the verdict change?
Sources
- basicmachines-co/basic-memory on GitHub — the source we read, its licence, stars and activityObserved · 22 Sep 2026
- ModelsAtlas trust audit — BLOCK verdict for commit 66cdcaa927f9Observed · 22 Sep 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What is the Basic Memory MCP server?
- What tools does Basic Memory expose?
- Is Basic Memory safe to connect to an agent?