Letta (formerly MemGPT) builds stateful agents — memory blocks, archival search, sleep-time agents, subagents. ReadmeDB is infrastructure: versioned markdown files any MCP host can read and write. Different layers of the stack.
| Dimension | ReadmeDB | Letta |
|---|---|---|
| Primary model | Hosted markdown files + optional distilled memories | Agent harness with core / archival / recall memory |
| Best job | Cross-tool project truth (Cursor ↔ Claude ↔ Windsurf) | Long-running autonomous agents that learn over time |
| Human-readable store | Plain .md in your namespace | Memory blocks + message history |
| Works inside your existing IDE agents | One MCP config line | Letta Agent SDK / hosted agents |
| File versioning / diffs | 10 snapshots per file | Filesystem tools on attached files |
| Semantic memory search | Keyword + hybrid_recall | Archival + vector search |
| Agent self-edits memory | Via MCP write/patch tools | Core blocks + sleep-time agents |
| Multi-agent subagents | Shared namespace, not agent runtime | First-class subagents + skills |
| Self-host option | Hosted SaaS only | App Server + local Agent SDK |
You are building a product around a persistent agent persona — core memory blocks, archival recall, sleep-time consolidation, subagents, and the Letta Agent SDK. Letta is the runtime; memory is inside the agent harness.
You already use Cursor, Claude Code, or Windsurf and want one decisions.md every tool updates — without migrating to a new agent framework. You want diffs, trash, bootstrap templates, and a dashboard humans can skim. That is project brain infrastructure, not an agent OS.
Yes. Letta agents can call ReadmeDB over MCP for durable project files while Letta manages in-agent persona and archival memory. Letta’s own filesystem tools overlap for attached files; ReadmeDB wins when multiple hosts must share the same namespace.
{
"mcpServers": {
"readmedb": {
"url": "https://app.readmedb.com/api/mcp",
"headers": {
"Authorization": "Bearer rdb_your_key"
}
}
}
}Start free project brain →