MemMCP
Provides a persistent storage layer with write-ahead logging and Merkle-root signatures for data integrity.
Formats responses in XML using defensive RAG formatting to mitigate prompt injection attacks.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MemMCPstore the fact that Paris is the capital of France"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π€ The Problem with Agentic Memory
When dozens of autonomous agents operate in parallel, standard vector memory stores break down:
Race conditions: Simultaneous writes cause index corruption.
Data duplication: Agents save the same observations repeatedly, polluting context windows.
Context hallucination: Lexical keywords are ignored in favor of vague semantic matches.
Related MCP server: agent-memory
π‘ The MemMCP Solution
MemMCP is a lightweight, zero-latency, local memory daemon. It runs silently over STDIO via the Model Context Protocol, offering a robust engine that guarantees:
ACID-Compliant State: Backed by SQLite in Write-Ahead Log (WAL) mode.
Deduplication Gate: Uses Bloom-Filter idempotency tracking to drop duplicate records before vectorization.
Hybrid RRF Retrieval: Blends FAISS vector search with SQLite FTS5 lexical keyword matching under Reciprocal Rank Fusion (RRF).
β‘ Quick Start
Prerequisites
Python 3.11+
uv (recommended for package management) or standard pip
1. Clone & Install
git clone https://github.com/axtontc/MemMCP.git
cd MemMCP
# Sync virtual environment using uv (fastest)
uv sync
# Or using pip
python -m venv .venv
.venv/Scripts/activate # On Windows
source .venv/bin/activate # On Linux/macOS
pip install .2. Verify with the Test Suite
Ensure everything is working correctly:
# Run unit tests
uv run python -m pytest tests/test_memmcp.py -v
# Run E2E STDIO integration tests
uv run python tests/e2e_test.pyπ MCP Integration (Cursor & Claude)
MemMCP integrates seamlessly into MCP-compatible editors and clients like Cursor or Claude Desktop.
1. Claude Desktop Config
Add the following to your claude_desktop_config.json (located at %APPDATA%\Claude\claude_desktop_config.json on Windows or ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"memmcp": {
"command": "uv",
"args": [
"--directory",
"C:/absolute/path/to/MemMCP",
"run",
"python",
"src/server.py"
],
"env": {
"MEMMCP_DB_PATH": "C:/absolute/path/to/memmcp.db",
"MEMMCP_LOG_PATH": "C:/absolute/path/to/memory_wal.log"
}
}
}
}2. Cursor IDE Config
Navigate to Settings β Features β MCP.
Click + Add New MCP Server.
Fill out the dialog:
Name:
memmcpType:
commandCommand:
uv --directory "C:/path/to/MemMCP" run python src/server.py
Click Save.
π Architecture
graph TD
A[MCP Client / Agent] --> B{Bloom-Filter Idempotency}
B -->|Duplicate Request| C[Fast Return / Drop]
B -->|New Request| D[SentenceTransformer Vectorizer]
D --> E[FAISS Vector Matching]
D --> F[SQLite FTS5 Keyword Match]
E & F --> G[Reciprocal Rank Fusion RRF]
G --> H[SQLite WAL Transaction Ledger]
H --> I[XML-Bounded RAG Output]
I --> J[MCP Response]
style A fill:#1a1a2e,stroke:#0969DA,color:#fff
style B fill:#16213e,stroke:#0969DA,color:#fff
style E fill:#0f3460,stroke:#2ea043,color:#fff
style F fill:#0f3460,stroke:#2ea043,color:#fff
style G fill:#1a1a2e,stroke:#F5A800,color:#fff
style H fill:#1a1a2e,stroke:#F5A800,color:#fffKey Subsystems
Module | File | Responsibility |
MCP Server |
| Exposes standard stdio transport, handles incoming JSON-RPC tool calls. |
Database Manager |
| Transaction safe SQLite WAL ledger with thread-safe write loop. |
Hybrid Retriever |
| FAISS CPU vector index synced with SQLite FTS5 full-text indexing. |
Context Pruner |
| Trims redundant tokens from search context to optimize LLM input boundaries. |
π MCP Tool Reference
MemMCP automatically registers the following tools with the connected LLM:
store_memory
Saves a single string memory block.
Arguments:
content(string, required): The memory string to store.idempotency_key(string, optional): A unique key to prevent duplicate writes.
Returns: A confirmation string containing the generated unique memory ID.
store_memories_batch
Stores multiple memories atomically in a single transaction, rebuilding the vector index only once at the end of the batch.
Arguments:
memories(array of strings, required): List of memory strings to insert.
Returns: A JSON array of generated memory IDs.
recall_memories
Retrieves memories matching a search query using Reciprocal Rank Fusion.
Arguments:
query(string, required): The search text.limit(integer, optional): Maximum number of memories to return (default: 5).
Returns: A JSON array of matching records containing ID, content, and scores.
π API & Core Functions Reference
src/database.py
These functions manage SQLite connection states, memory inserts, and migrations:
Function / Routine | Parameters | Description |
|
| Initializes the SQLite database, executes migration scripts, and enables WAL mode. |
|
| Inserts a raw memory record into the table and updates the FTS5 search index. |
|
| Deletes a memory record by its primary key. |
src/retrieval.py
These functions run queries against the semantic and keyword indices:
Function / Routine | Parameters | Description |
|
| Runs semantic and lexical search, blends results via Reciprocal Rank Fusion, and returns top nodes. |
| None | Reads all table records, recomputes vector embeddings, and serializes the FAISS index. |
π Comparison
Metric / Capability | Pinecone / Cloud Vector | FAISS-only | MemMCP |
Offline First (Zero-Network) | β | β | β |
Deduplication Handling | β (Manual) | β (Manual) | β (Bloom Gate) |
ACID Transaction Safety | β οΈ Eventual | β None | β (SQLite WAL) |
Hybrid Keyword Search | β οΈ Partial | β (Vector only) | β (RRF + FTS5) |
MCP Out-of-the-box | β | β | β |
Average Query Latency |
|
|
|
π§° Tech Stack
Language: Python 3.11+
Vector Search: FAISS CPU
Embeddings:
sentence-transformers(all-MiniLM-L6-v2)Database: SQLite 3 (WAL mode + FTS5 full-text extension)
Dev tools: pytest, pytest-asyncio, Ruff, mypy
πΊοΈ Roadmap
SentencesTransformer semantic vector indexing
Full-Text-Search FTS5 keyword matching
Deduplication gate with Bloom filters
Reciprocal Rank Fusion (RRF) blending algorithm
Distributed Replication β Sync memory states across swarm nodes using Raft consensus
Multi-tenant Spaces β Provide isolated user space environments and custom credentials keys
Timeline Visualizer Dashboard β Open-source local dashboard showing memories timeline maps
π€ Contributing & Security
Contributions are welcome! Please read our Contributing Guide and Code of Conduct before submitting pull requests.
For reporting security vulnerabilities, please refer to SECURITY.md.
π Related Projects
MemMCP belongs to a suite of interconnected AI agent utilities:
Project | Description |
Zero-latency cross-process UI automation for Windows and Web | |
Monolithic API gateway and orchestrator for local LLMs | |
MCP-compatible low-latency registry for 6,000+ agent skills | |
Mathematically optimal state-machine agent swarm orchestration | |
Memory daemon and compactor for Antigravity swarms | |
PostgreSQL hybrid memory system for large enterprise swarms |
π License
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details. Copyright (c) 2026 Axton Carroll.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceA local, fully-offline MCP memory server that enables persistent storage and retrieval of information using SQLite with both keyword and semantic vector search capabilities.Last updated103813MIT
- Alicense-qualityCmaintenanceMCP server providing persistent memory management for AI agents using SQLite and FTS5, enabling storage, full-text search, and recall of memories with namespace isolation.Last updated1MIT
- Alicense-qualityDmaintenanceA SQLite-backed MCP memory server providing persistent memory storage with full-text search and knowledge graph capabilities for AI assistants.Last updated19MIT
- Alicense-qualityDmaintenanceA local-first MCP server for persistent memory with vector search, metadata filtering, fact tracking, and graceful degradation when dependencies fail.Last updated27MIT
Related MCP Connectors
Cloud-hosted MCP server for durable AI memory
Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.
Local-first RAG engine with MCP server for AI agent integration.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/axtontc/MemMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server