Vector Memory MCP Server
An MCP server that gives AI assistants the ability to save and recall information from files or free-form notes. Works like a long-term memory system where you can store documents and retrieve relevant information later using natural language.
📖 Complete Usage Guide | 🔗 PyPI Package | 🌐 MCP Registry
Features
- 🧠 Semantic Memory: Save and recall text using natural language
- 📄 Multi-Format Support: PDF, TXT, and Markdown files
- ✍️ Free-Form Notes: Store ad-hoc text snippets without creating files
- 🔄 Auto-Update: Re-saving a file automatically removes old versions
- 🎯 Smart Chunking: Optimizes chunk size based on file type
- 🔍 Semantic Search: Find information even without exact word matches
- 🗂️ Memory Management: Built-in tools to list, search, and clean up memory
- 🔒 Data Isolation: Separate Redis databases and namespaces
Prerequisites
- Python 3.12 or higher
- Redis server running locally on port 6379
- UV package manager
Start Redis
# Using Docker
docker run -d -p 6379:6379 redis:latest
# Or using Homebrew on macOS
brew install redis
brew services start redis
Quick Start
Installation
# Via pip
pip install mcp-server-vector-memory
# Via uvx (isolated environment)
uvx mcp-server-vector-memory
# From source
git clone https://github.com/NeerajG03/vector-memory.git
cd vector-memory
uv sync
Basic Usage
After pip install:
# Run the server
mcp-server-vector-memory
# Manage memory
vector-memory-manage list
vector-memory-cleanup stats
From source:
uv run vector_memory.py
uv run manage_memory.py list
uv run cleanup.py stats
Integration with AI Clients
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"vector-memory": {
"command": "uvx",
"args": ["mcp-server-vector-memory"]
}
}
}
Codex CLI (~/.config/codex/mcp_config.toml):
[servers.vector-memory]
command = "uvx"
args = ["mcp-server-vector-memory"]
See USAGE.md for complete integration examples and advanced configuration.
Configuration
You can customize the server using environment variables or by editing vector_memory.py:
Environment Variables
REDIS_URL: Redis connection string (default:redis://localhost:6379/0)- Format:
redis://host:port/db_number - Example:
redis://localhost:6379/1(use database 1)
- Format:
Constants in Code
INDEX_NAME: Vector store index name (default:mcp_vector_memory)- All keys are prefixed with this namespace to avoid conflicts
MODEL_NAME: Embedding model (default:sentence-transformers/all-MiniLM-L6-v2)
Data Isolation
The server uses multiple layers of isolation:
- Database number: Uses Redis DB 0 by default (configurable via URL)
- Index namespace: All keys prefixed with
mcp_vector_memory:* - Metadata tagging: Each document tagged with source file path
This ensures your vector memory data won't conflict with other Redis applications.
Architecture
┌─────────────────┐
│ Claude/Client │
└────────┬────────┘
│ MCP Protocol
│
┌────────▼────────┐
│ Vector Memory │
│ MCP Server │
└────────┬────────┘
│
├─────► HuggingFace Embeddings
│
└─────► Redis Vector Store
Memory Management
Two management tools are included:
vector-memory-manage- Interactive tool with search and selective deletionvector-memory-cleanup- Quick cleanup commands
See USAGE.md for complete documentation and examples.
Development
To run in development mode with auto-reload:
uv run --reload vector_memory.py
Troubleshooting
Redis Connection Error
Ensure Redis is running:
redis-cli ping
# Should return: PONG
Model Download
The first time you run the server, it will download the embedding model (~80MB). This is normal and only happens once.
File Not Found Errors
The server accepts both absolute and relative file paths, but automatically converts them to absolute paths for storage. If a file is not found, check that the path is correct relative to where the server is running.
Path Handling
- Input: Accepts both absolute (
/full/path/to/file.txt) and relative (./docs/file.txt) paths - Storage: All paths are converted to absolute paths before being saved to memory
- Output:
recall_from_memoryalways returns absolute paths to source files
This ensures consistent path references regardless of how files were originally added to memory.
Metadata
Release files for mcp-server-vector-memory 0.4.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_server_vector_memory-0.4.4.tar.gz | 12.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_server_vector_memory-0.4.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.7 kB
Release files / mcp_server_vector_memory-0.4.4.tar.gz
| Download URL | mcp_server_vector_memory-0.4.4.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c22a503ec9cd4318963d2848bbecc3207aa6909c83e53cbb13ad4202a6f7f5e6
|
|
BLAKE2b-256 checksum How to use checksums |
20f847378831d2d86e3e3c58047648e0db410ee87b42117679d1c8883861f778
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|
Release files / mcp_server_vector_memory-0.4.4-py3-none-any.whl
| Download URL | mcp_server_vector_memory-0.4.4-py3-none-any.whl |
|---|---|
| Size | 12.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3a9299dc9a567b4b4e7f8d06bafa05d16e5922358775b2638fc8d64fd3c93b63
|
|
BLAKE2b-256 checksum How to use checksums |
e507dcd02f8d1c9cf80fe896d08cfd7a0a0194f4eb17865ddc84bf89cadc149c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.7
|