
Memory MCP Server
github.com/modelcontextprotocol/servers-memory- Category
- Developer Tools
- Rank
- No. 325Tools index
- Pricing
- Free
- Type
- TOOL
- Builder
- modelcontextprotocol
- GitHub
- 89.6k stars
- Latest release
- 2026.7.10
- Added
- Jul 4, 2026
About
The official Memory MCP reference server gives an agent persistent memory across sessions using a local knowledge graph of entities, relations, and observations, through the Model Context Protocol.
What it does
Memory MCP Server gives an assistant a small, editable store for named things and their connections. It keeps descriptive notes on each thing, saves everything in a JSON Lines file, and supports creating, finding, reading, and deleting graph data through an MCP client.
Why it's ranked here
A strong educational reference with unusually transparent storage. The graph model, plain-text persistence, typed validation, structured responses, and change notifications make the design easy to understand and adapt. The repository explicitly warns that reference servers are not production-ready, and this implementation shows why at larger scale.
What's good
The data stays inspectable and portable instead of disappearing behind a database service. Duplicate entities, relations, and observations are filtered. Deleting an entity also removes its connected relations. Searches cover names, types, and observations, while returned relations help callers discover connected nodes outside the matched set.
Tradeoffs
Each operation reads the complete file, and mutations rewrite the complete graph. Search is only case-insensitive substring matching. The shown storage manager has no locking or transaction layer, so concurrent writers could conflict. Security safeguards are left to adopters, consistent with the repository's explicit reference-only warning.
How to use it well
Use it to teach MCP server design, prototype assistant memory, or support a small single-user workflow where inspectable local data matters. Set a deliberate storage location and keep observations concise and structured. Choose another system when you need production hardening, concurrent access, remote shared storage, or richer retrieval than substring search.
Technical notes+
src/memory/index.ts implements KnowledgeGraphManager over a JSONL file, loading every nonblank line into KnowledgeGraph and serializing all entities before all relations on writes. MEMORY_FILE_PATH accepts absolute paths or paths relative to the module directory; otherwise defaultMemoryPath targets memory.jsonl. Startup renames a legacy memory.json when the new file is absent. searchNodes performs case-insensitive substring matching and includes relations touching matched entities. The MCP server uses StdioServerTransport, Zod schemas, structured content, memory://knowledge-graph, subscription tracking, and resource update notifications. src/memory/vitest.config.ts configures Node-based Vitest discovery and V8 coverage.
Observed
- License
- Apache License 2.0 for new contributions, with existing code under MIT.
- Primary language
- TypeScript using ECMAScript modules.
- Packaging
- Published for direct execution through npx as @modelcontextprotocol/server-memory.
- Interface
- MCP server with tool and resource interfaces over standard input and output.
- Storage
- Local JSON Lines file containing entity and relation records.
- Platform note
- Windows configuration wraps npx with cmd /c.
Read from README.md, package.json, src/memory/index.ts, src/filesystem/lib.ts, src/everything/index.ts, src/filesystem/index.ts, src/memory/vitest.config.ts, src/filesystem/path-utils.ts, src/sequentialthinking/lib.ts, src/filesystem/roots-utils.ts, src/sequentialthinking/index.ts, src/everything/vitest.config.ts, src/filesystem/vitest.config.ts, src/filesystem/path-validation.ts, src/sequentialthinking/vitest.config.ts.
Tags
Tech Stack
Comments (0)
No comments yet
Indexed by a proprietary survey. Corrections welcome.