loading…
Search for a command to run...
loading…
An MCP server that provides a persistent memory layer for AI agents by wrapping the memvid CLI. It enables users to manage memory files, perform hybrid searches
An MCP server that provides a persistent memory layer for AI agents by wrapping the memvid CLI. It enables users to manage memory files, perform hybrid searches, and conduct RAG-based question answering through 40 specialized tools.
MCP (Model Context Protocol) server for memvid - a memory layer for AI agents.
This server wraps the memvid Rust CLI, exposing 40 tools for persistent memory management with hybrid search (lexical + vector), temporal indexing, knowledge graphs, and RAG capabilities.
git clone https://github.com/Tapiocapioca/memvid-mcp.git
cd memvid-mcp
npm install
npm run build
# Test the server starts
node dist/index.js
# Should output: "memvid-mcp server started"
# Press Ctrl+C to exit
| Variable | Default | Description |
|---|---|---|
MEMVID_PATH |
memvid |
Path to the memvid binary |
MEMVID_LOG_LEVEL |
warning |
Log level: debug, info, warning, error |
MEMVID_VERBOSE |
0 |
Set to 1 for verbose CLI output |
Add to your VS Code MCP settings:
{
"servers": {
"memvid": {
"command": "node",
"args": ["/path/to/memvid-mcp/dist/index.js"],
"env": {
"MEMVID_PATH": "/path/to/memvid"
}
}
}
}
Add to claude_desktop_config.json:
{
"mcpServers": {
"memvid": {
"command": "node",
"args": ["/path/to/memvid-mcp/dist/index.js"],
"env": {
"MEMVID_PATH": "/path/to/memvid"
}
}
}
}
Add to MCP settings:
{
"memvid": {
"command": "node",
"args": ["/path/to/memvid-mcp/dist/index.js"],
"env": {
"MEMVID_PATH": "/path/to/memvid"
}
}
}
Add to opencode.json:
{
"mcp": {
"memvid": {
"type": "stdio",
"command": "node",
"args": ["/path/to/memvid-mcp/dist/index.js"],
"env": {
"MEMVID_PATH": "/path/to/memvid"
}
}
}
}
The server implements multiple layers of path security:
.. patterns/etc/, /proc/, \windows\, etc.)Memory files can be encrypted using AES-256-GCM:
memvid_lock { "file": "data.mv2", "output": "data.mv2e", "password": "secret" }
memvid_unlock { "file": "data.mv2e", "output": "data.mv2", "password": "secret" }
.mv2e) for sensitive data| Tool | Description | Annotations |
|---|---|---|
memvid_create |
Create a new .mv2 memory file | write |
memvid_open |
Open and display file metadata | read-only |
memvid_stats |
Show detailed statistics (frame count, index sizes) | read-only |
memvid_verify |
Verify file integrity with optional deep check | read-only |
memvid_doctor |
Diagnose and repair corrupted indexes | destructive |
| Tool | Description | Annotations |
|---|---|---|
memvid_put |
Add content from file/directory with optional embeddings | write |
memvid_put_many |
Batch add with progress tracking | write |
memvid_view |
View frame content by ID | read-only |
memvid_update |
Replace frame content | destructive |
memvid_delete |
Delete a frame | destructive |
memvid_correct |
Amend frame with audit trail | write |
memvid_api_fetch |
Fetch URL content and add to memory | network |
| Tool | Description | Annotations |
|---|---|---|
memvid_find |
Hybrid/lexical/vector search | read-only |
memvid_vec_search |
Vector-only semantic search | read-only |
memvid_ask |
RAG question answering | read-only |
memvid_timeline |
Chronological frame view | read-only |
memvid_when |
Temporal search (find when something was mentioned) | read-only |
| Tool | Description | Annotations |
|---|---|---|
memvid_audit |
Generate audit report with citations | read-only |
memvid_debug_segment |
Debug internal index segments | read-only |
memvid_export |
Export to JSON/CSV/JSONL | write |
memvid_tables |
List internal SQLite tables | read-only |
memvid_schema |
Schema inference and summary | read-only |
memvid_models |
List available embedding models | read-only |
| Tool | Description | Annotations |
|---|---|---|
memvid_enrich |
NER entity extraction | write |
memvid_memories |
Memory card operations | read-only |
memvid_state |
Show current memory state | read-only |
memvid_facts |
Fact extraction and listing | read-only |
memvid_follow |
Traverse entity relationships | read-only |
memvid_who |
Entity lookup | read-only |
| Tool | Description | Annotations |
|---|---|---|
memvid_session |
Start/stop/list/replay sessions | write |
memvid_binding |
Memory binding operations | destructive |
memvid_status |
System status (version, model status) | read-only |
memvid_sketch |
SimHash sketch operations | write |
memvid_nudge |
Trigger background processing | write |
| Tool | Description | Annotations |
|---|---|---|
memvid_lock |
Encrypt memory file (AES-256-GCM) | write |
memvid_unlock |
Decrypt memory file | write |
| Tool | Description | Annotations |
|---|---|---|
memvid_process_queue |
Process pending operations | write |
memvid_verify_single_file |
Verify single frame integrity | read-only |
memvid_config |
Show current configuration | read-only |
memvid_version |
Print version information | read-only |
# 1. Create a new memory file
memvid_create { "file": "project.mv2" }
# 2. Ingest documentation
memvid_put {
"file": "project.mv2",
"input": "./docs",
"recursive": true,
"embed": true # Generate vector embeddings
}
# 3. Check statistics
memvid_stats { "file": "project.mv2" }
# Hybrid search (lexical + vector)
memvid_find {
"file": "project.mv2",
"query": "authentication flow",
"mode": "hybrid",
"limit": 5
}
# Semantic search only
memvid_vec_search {
"file": "project.mv2",
"query": "how to handle user sessions"
}
# RAG question answering
memvid_ask {
"file": "project.mv2",
"question": "What authentication methods are supported?"
}
# Extract entities from all frames
memvid_enrich { "file": "project.mv2", "all": true }
# Look up an entity
memvid_who { "file": "project.mv2", "query": "OAuth" }
# Follow entity relationships
memvid_follow {
"file": "project.mv2",
"entity": "AuthService",
"hops": 2
}
# Generate audit report with sources
memvid_audit {
"file": "project.mv2",
"query": "security requirements",
"include_snippets": true
}
# Export for backup
memvid_export {
"file": "project.mv2",
"output": "backup.json",
"format": "json"
}
# Start recording a session
memvid_session { "file": "project.mv2", "start": "debug-session-1" }
# ... agent interactions ...
# Stop recording
memvid_session { "file": "project.mv2", "stop": true }
# Replay later
memvid_session { "file": "project.mv2", "replay": "debug-session-1" }
For vector search capabilities, create ~/.config/memvid/embedder.toml:
[embedder]
provider = "openai"
model = "text-embedding-3-large"
api_key_env = "OPENAI_API_KEY"
dimensions = 3072
Or for A4F/OpenRouter compatible APIs:
[embedder]
provider = "openai"
model = "provider-3/text-embedding-3-large"
base_url = "https://api.a]4f.co/v1"
api_key_env = "A4F_API_KEY"
| Operation | Typical Latency | Notes |
|---|---|---|
memvid_create |
< 100ms | Creates empty SQLite database |
memvid_put (single file) |
100-500ms | Depends on file size |
memvid_put (with embed) |
500ms-2s | Includes API call for embedding |
memvid_find (lexical) |
< 50ms | Tantivy full-text search |
memvid_find (hybrid) |
100-500ms | Combines lexical + vector |
memvid_ask (RAG) |
1-5s | Includes LLM API call |
Timeouts are configured per operation type:
npm run dev # Run with tsx (hot reload)
npm run build # Compile TypeScript
npm start # Run compiled version
npm run clean # Remove dist/
node --version (requires 18+)npm run buildmemvid --versionSet the environment variable to the full path:
export MEMVID_PATH=/path/to/memvid
# or on Windows
set MEMVID_PATH=C:\path\to\memvid.exe
memvid_stats shows vector_count > 0memvid_configmemvid_put { ..., "embed": true }The server validates all paths against:
..)Ensure your paths are within allowed directories.
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"memvid-mcp": {
"command": "npx",
"args": []
}
}
}Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also