Basic Memory
BLOCKgrade F · trust 36/100AI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN
aiclaudeknowledge managementknowlege graphllmlocal firstmarkdownmcpOverview
From the repository's own README, as read at the audited commit.
<!-- mcp-name: io.github.basicmachines-co/basic-memory -->[](https://mcptoplist.com/server/io.github.basicmachines-co%2Fbasic-memory)[](https://www.gnu.org/licenses/agpl-3.0)[](https://badge.fury.io/py/basic-memory)[](https://www.python.org/downloads/)[](https://github.com/basicmachines-co/basic-memory/actions)[](https://github.com/astral-sh/ruff)[](https://deepwiki.com/basicmachines-co/basic-memory)## Skip the install — try Basic Memory in the cloudClaude, Codex, or Cursor connected in 30 seconds. No Python, no JSON, noterminal. **$15.00/mo locked in for life** (12.50/mo yearly pricing). 7-day freetrial — cancel any time before day 7 if it's not for you. Beta pricing —sign up now and your rate never goes up. OSS users: code `BMFOSS` takesanother 20% off for 3 months.[Start free trial →](https://basicmemory.com?utm_source=github&utm_medium=referral&utm_campaign=readme&utm_content=banner)### Basic Memory Teams is now available!Give your team a single, shared cloud workspace. Knowledge isn't confined to one person — anything a teammate writes is immediately available to everyone else and to their AI assistants. Edit a note together in real time, hand work off between humans and agents, and build one connected knowledge base instead of scattered copies. Same pricing - start with one user and add more as needed. ---# Basic Memory### Your AI neve
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 mcp add basic-memory -- uvx basic-memory==0.23.2
Exposed tools (18) 14 read · 3 write · 1 destructive
Blast radius: 1 tool can delete or overwrite. An agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
basic_memory_diagnostics | read | |
bm-setup | write | Install or update the Basic Memory CLI (requires uv) |
cat | read | Print a note |
create_memory_project | write | |
delete_project | destructive | Delete a Basic Memory project. |
fetch | read | ChatGPT/OpenAI MCP fetch adapter returning a single text content item. |
grep | read | Search note content, semantically by default. |
list_memory_projects | read | |
ls | read | List the immediate contents of one directory. |
man | read | Look up one manual page, search the manual, or render the index. |
recall | read | Search the Basic Memory knowledge graph |
remember | write | Save something to the Basic Memory knowledge graph |
schema_diff | read | Detect drift between a schema definition and actual note usage. |
schema_infer | read | Analyze existing notes and suggest a schema definition. |
schema_validate | read | Validate notes against their resolved schema. |
search | read | ChatGPT/OpenAI MCP search adapter returning a single text content item. |
tail | read | Show the most recently changed notes in a project. |
view_note | read | View a markdown note as a formatted artifact. |
Details
- Source
- basicmachines-co/basic-memory
- npm
@basicmemory/pi-basic-memory@0.23.2- PyPI
basic-memory- Transports
- stdio · streamable-http
- Credentials it reads
GITHUB_TOKENMEM0_OPENAI_COMPAT_API_KEYOPENAI_API_KEYSUPERMEMORY_API_KEY- License
- AGPL-3.0
- Stars
- 3,971 · pushed 0d ago
Trust audit
Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (4 observation(s))
- Network
- declared (3 observation(s))
- Shell
- declared (1 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
# By default, tests use: postgresql://basic_memory_user:dev_password@localhost:5433/basic_memory_test
- Never tell the user to restart cmux. The file watcher reloads on save.
.claude/skills/adversarial-review
.claude/skills/basic-machines-review
.claude/skills/cmux
.claude/skills/cmux-markdown
.claude/skills/cmux-settings
console.print(f" Token: {data.get('token', 'unknown')}")console.print(f"[red]Share not found: {token}[/red]")console.print(f"[green]Share {token} revoked successfully[/green]")console.print(f"[red]Share not found: {token}[/red]")cmux new-pane --workspace "${CMUX_WORKSPACE_ID}" --type browser --direction right --url "http://127.0.0.1:8765"BASIC_MEMORY_TEST_POSTGRES_URL: postgresql://basic_memory_user:[email protected]:5432/basic_memory_test
BASIC_MEMORY_TEST_POSTGRES_URL: postgresql://basic_memory_user:[email protected]:5432/basic_memory_test
"redis://cache-user:[email protected]:6379/0"
"redis://cache-user:[email protected]:6379/0"
"-----BEGIN RSA PRIVATE KEY-----private-----END RSA PRIVATE KEY-----"
delete_project
.coveragerc
tool_module = importlib.import_module(module_name)
digest = hashlib.md5(usedforsecurity=False)
return hashlib.md5(data, usedforsecurity=False).hexdigest()
print(f"{token.type}: {token.content}")"../../../root/.ssh/id_rsa",
"/root/.ssh/id_rsa",
Gates applied: instruction_override, no_behavioural_pass.
Audited 2026-09-16 · audit v0.4.0 · source sha 66cdcaa927f9 · full audit: observations/trust-audit/mcp-server/basicmachines-co__basic-memory.json · Report an issue or request a re-scan
Audit history
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-16 | 66cdcaa927f9 | BLOCK | F | 36 | first audit |
Alternatives
Other servers in the same categories, safer ones first.
Questions
What is the Basic Memory MCP server?
AI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN
What tools does Basic Memory expose?
18 in total: 14 read-only, 3 that write, and 1 that can delete or overwrite (delete_project). Every one is listed on this page with its risk.
Is Basic Memory safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (36/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Basic Memory need?
It reads GITHUB_TOKEN, MEM0_OPENAI_COMPAT_API_KEY, OPENAI_API_KEY and SUPERMEMORY_API_KEY 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 Basic Memory run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @basicmemory/pi-basic-memory at 0.23.2.
How current is this page?
The grade is for one exact copy of the source (66cdcaa927f9), read on 2026-09-16. The repository is watched and re-audited when it changes.
Provenance: OBSERVED · read 2026-09-16 · job trust-audit-2026-09-16