A self-contained Rust MCP server for local persistent semantic, graph, and code-indexed memory.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Memory MCP 1file.
A high-performance, pure Rust Model Context Protocol (MCP) server that provides persistent, semantic, and graph-based memory for AI agents.
Works perfectly with:
Unlike other memory solutions that require a complex stack (Python + Vector DB + Graph DB), this project is a single, self-contained executable.
It combines:
The server uses rmcp 3.2 and supports both protocol lifecycles:
server/discover; every request carries the protocol version and client
metadata in _meta. The process stores no MCP session, Mcp-Session-Id, or
mutable currentProject.initialize/initialized lifecycle remain supported.This binary exposes MCP over stdio. Run one process per local workspace and
mount that workspace at /project when using Docker. Streamable HTTP is not
enabled or advertised by this release, so it introduces no HTTP session
management or shared-server authentication surface. Code indexing receives an
explicit path through index_project; code search can be narrowed with
project_id when one process contains multiple indexed projects. Roots
negotiation is not used.
Memory is useless if your agent doesn't check it. To get the "Long-Term Memory" effect, you must instruct your agent to follow a strict protocol.
We provide a battle-tested Memory Protocol (AGENTS.md) that you can adapt.
The protocol implements specific flows to handle Context Window Compaction and Session Restarts:
TASK: in_progress immediately. This restores the full context of what was happening before the last session ended or the context was compacted.TASK:, DECISION:, RESEARCH:) so semantic search can precisely target the right type of information, reducing noise.These workflows turn the agent from a "stateless chatbot" into a "stateful worker" that survives restarts and context clearing.
Instead of scattering instructions across IDE-specific files (like .cursorrules), establish AGENTS.md as the Single Source of Truth.
Instruct your agent (in its base system prompt) to:
AGENTS.md at the start of every session.Here is a minimal reference prompt to bootstrap this behavior:
Without this protocol, the agent loses context after compaction or session restarts. With this protocol, it maintains the full context of the current task, ensuring no steps or details are lost, even when the chat history is cleared.
To use this MCP server with any client (Claude Code, OpenCode, Cline, etc.), use the following Docker command structure.
Key Requirements:
-v mcp-data:/data (Persists your graph, embeddings, and cached model weights)-v $(pwd):/project:ro (Allows the server to read and index your code)--init (Ensures the server shuts down cleanly)[!TIP] One volume persists everything: The single
-v mcp-data:/datamount covers both the SurrealDB database and the ~1.2 GB embedding model (stored under/data/models/). There is no need for a separate volume for/data/modelsโ it is already a subdirectory of/dataand is preserved automatically. Without a named volume, Docker creates a new anonymous volume on eachdocker run, causing the model to re-download (~1.2 GB) every time.
Add this to your configuration file (e.g., claude_desktop_config.json):
Note: Replace
/absolute/path/to/your/projectwith the actual path you want to index. In some environments (like Cursor or VSCode extensions), you might be able to use variables like${workspaceFolder}, but absolute paths are most reliable for Docker.
stdiomemoryYou can run the server directly via npx or bunx. The npm package automatically downloads the correct pre-compiled binary for your platform.
Add to claude_desktop_config.json:
commandmemorynpx -y memory-mcp-1fileOr add to .cursor/mcp.json:
Add to your MCP settings:
Note: Unlike Docker,
npx/bunxruns the binary locally โ it already has access to your filesystem, so no directory mounting is needed. To customize the data storage path, pass--data-dirvia args:
Add to your ~/.gemini/settings.json:
Or with Docker:
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/pomazanbohdan-memory-mcp-1file)<a href="https://allmcps.com/mcp/pomazanbohdan-memory-mcp-1file"><img src="https://allmcps.com/api/badge/pomazanbohdan-memory-mcp-1file?style=directory" alt="Memory MCP 1file on AllMCPs" /></a>