Letta (the platform that grew out of MemGPT) is about stateful agents: managed memory tiers, long-lived agent identity, and runtimes that keep context beyond a single prompt. Brain OS is an MCP server for project operational state (decisions, plans, blockers, focus) that any MCP client can read. Different layers of the stack, often complementary.
Letta focuses on the agent as a long-lived process. Memory is tiered and managed so the agent can keep persona, tools, and conversation-scale state without stuffing everything into one context window. In practice: an agent platform for building assistants that persist, not only a plugin that stores project decisions.
That works well when the product is the agent: support bots, personal agents, multi-step autonomous workers with their own memory architecture.
Brain OS assumes you already have an agent client (Claude Code, Cursor, Zed, Copilot, ChatGPT connector, etc.). It does not replace that runtime. It adds a local, typed project state layer those clients call via MCP: decisions, plans, blockers, focus, patterns, with decision_check to stop re-opening rejected directions.
The difference: Letta answers "how does this agent stay stateful as a system?" Brain OS answers "what is true about this project's work across any agent that opens it?"
.brain/ folder, open source, tool-agnosticdecision_check surfaces conflict / caution / clear with prior reasoningyou need a stateful agent platform: custom agents with their own memory hierarchy, tools, and long-running identity as the product surface.
you already work in MCP-capable coding agents and want project decisions and plans to survive tool switches without building a new agent runtime.
The two are complementary, not competing. A Letta agent could, in principle, call operational tools; Brain OS users typically keep their existing IDE agents and add state underneath.
vs Mem0 · vs Zep · vs Cognee · vs claude-mem · vs Hindsight
Install Brain OS · Join the beta · See decision_check demo