Overview
What is MCP Memory Service (Rust Implementation)?
A Rust implementation of the Model Context Protocol (MCP) Memory Service that provides memory storage and retrieval functionality for MCP clients. It stores, retrieves, searches, and deletes memories with content, tags, and metadata using configurable storage backends and embedding models.
How to use MCP Memory Service (Rust Implementation)?
Build and run the server with cargo run. Configure via environment variables (e.g., MCP_MEMORY_STORAGE_BACKEND, MCP_MEMORY_EMBEDDING_MODEL). The server communicates over stdio and can be registered with an MCP client (like Claude) by adding it to the client’s MCP configuration JSON.
Key features of MCP Memory Service (Rust Implementation)
- Implements an MCP server with memory storage and retrieval tools
- Communicates over stdio for integration with MCP clients
- Supports in‑memory and ChromaDB storage backends
- Supports dummy and ONNX‑based embedding models
- Provides tools:
store_memory,retrieve_memory,search_by_tag,delete_memory - Configurable via environment variables with sensible defaults
Use cases of MCP Memory Service (Rust Implementation)
- Give an MCP client persistent, searchable memory during a session
- Store facts, preferences, or conversation history with tags for later recall
- Enable semantic retrieval of memories based on natural language queries
- Use ChromaDB backend for production‑grade, persistent, scalable memory
- Develop and test memory features locally with the in‑memory backend
FAQ from MCP Memory Service (Rust Implementation)
What dependencies are required?
Rust and Cargo 1.75.0 or later, and Node.js and npm for testing with the MCP inspector. For production use, an optional ChromaDB server.
Where does data live?
By default, the in‑memory backend stores data only in RAM. When using the ChromaDB backend, data is stored at the path specified in MCP_MEMORY_CHROMA_PATH (or a platform‑specific default directory).
What transport does the server use?
The server communicates over stdio only. HTTP, WebSocket, and other transports are not yet implemented (noted as future improvements).
How do I register the server with an MCP client?
Add the server to the client’s MCP configuration JSON, specifying the command (path to the compiled binary), environment variables, and other settings. The README provides examples for Claude Desktop and Claude VSCode.
Is authentication or authorization supported?
No. The README lists authentication and authorization as future improvements. The current implementation has no built‑in auth.