mcp-memory
MCP server from rbownes/mcp-memory-server
claude mcp add --transport stdio rbownes-mcp-memory-server cargo run \ --env MCP_MEMORY_LOG_LEVEL="info" \ --env MCP_MEMORY_CHROMA_URL="" \ --env MCP_MEMORY_CHROMA_PATH="/path/to/chroma" \ --env MCP_MEMORY_EMBEDDING_SIZE="384" \ --env MCP_MEMORY_EMBEDDING_MODEL="dummy" \ --env MCP_MEMORY_STORAGE_BACKEND="inmemory" \ --env MCP_MEMORY_CHROMA_COLLECTION="memory_collection" \ --env MCP_MEMORY_EMBEDDING_MODEL_PATH=""
How to use
This MCP server provides a Rust-based memory service that stores, retrieves, and manages memory items for MCP clients. It exposes tools via the MCP protocol, including store_memory to save content with tags and metadata, retrieve_memory to fetch semantically similar memories, search_by_tag to filter memories by tags, and delete_memory to remove memories by their hash. The server communicates over stdio, making it straightforward to connect to MCP clients or testers that launch the server and interact through JSON-RPC on stdin. After starting the server, you can query the available tools, then call them with appropriate arguments to manage memory data and embeddings using either the in-memory or Chromadb-backed storage, and with embedding models such as dummy or ONNX depending on configuration.
How to install
Prerequisites:
- Rust and Cargo (1.75.0 or later)
- Node.js and npm (for testing with the MCP inspector)
- Optional: ChromaDB server (for production use)
Steps:
-
Install Rust/Cargo if you don’t have them installed.
- On Windows: install via rustup (https://rust-lang.org).
- On macOS/Linux: run the rustup installation command from https://rust-lang.org.
-
Clone the repository containing the MCP Memory Service (Rust implementation).
-
Build the project: cargo build
-
Run a release build (optional): cargo build --release
-
(Optional) Run with environment-based configuration as shown in the example: MCP_MEMORY_STORAGE_BACKEND=chromadb
MCP_MEMORY_CHROMA_PATH=/path/to/chroma
MCP_MEMORY_EMBEDDING_MODEL=onnx
cargo run -
Test the server using the included Node.js test script or npm test: npm install npm test
Additional notes
Environment variables control the behavior of the memory service. Common variables include:
- MCP_MEMORY_STORAGE_BACKEND: inmemory or chromadb
- MCP_MEMORY_CHROMA_PATH: path to ChromaDB data
- MCP_MEMORY_CHROMA_URL: optional ChromaDB server URL
- MCP_MEMORY_CHROMA_COLLECTION: collection name in ChromaDB
- MCP_MEMORY_EMBEDDING_MODEL: dummy or onnx
- MCP_MEMORY_EMBEDDING_MODEL_PATH: path to ONNX model file
- MCP_MEMORY_EMBEDDING_SIZE: embedding vector size
- MCP_MEMORY_LOG_LEVEL: logging level (e.g., info, debug) If using Chromadb, ensure the Chromadb server is running and accessible at the configured URL. The default configuration uses in-memory storage which is suitable for testing and development. When using ONNX embeddings, ensure the ONNX model and optional tokenizer are available at the configured paths.
Common issues:
- Mismatched environment variable names or missing model files can cause startup failures. Double-check all MCP_MEMORY_* variables.
- If building locally, ensure you have Rust toolchain installed and your PATH includes cargo.
- For testing with MCP clients, you may want to run tests that exercise all four tools: store_memory, retrieve_memory, search_by_tag, and delete_memory to confirm end-to-end behavior.
Related MCP Servers
goose
an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM
cunzhi
告别AI提前终止烦恼,助力AI更加持久
probe
AI-friendly semantic code search engine for large codebases. Combines ripgrep speed with tree-sitter AST parsing. Powers AI coding assistants with precise, context-aware code understanding.
mcp-center
A centralized platform for managing and connecting MCP servers. MCP Center provides a high-performance proxy service that enables seamless communication between MCP clients and multiple MCP servers.
backlog -rust
MCP server for Backlog, project management service.
perplexity-web-api
🔍 Perplexity AI MCP without API key