MCP-Memory-LanceDB-Pro
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., "@MCP-Memory-LanceDB-ProWhat did I decide about logging last time?"
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.
š§ MCP-Memory-LanceDB-Pro
Give your AI coding assistant a brain that actually remembers.
Full-featured long-term memory system for Claude Code via the Model Context Protocol (MCP).
The Problem
Every time you start a new Claude Code session, your AI assistant forgets everything ā your preferences, past decisions, project context, lessons learned. You end up repeating yourself, wasting time, and losing momentum.
Related MCP server: claude-recall
The Solution
MCP-Memory-LanceDB-Pro is a standalone MCP server that gives Claude Code persistent, intelligent long-term memory. It runs alongside Claude Code as an independent process, automatically capturing important information and recalling it when needed ā across sessions, across projects, across time.
Before & After
Without memory ā every session starts from zero:
You: "Use tabs for indentation, always add error handling."
(next session)
You: "I already told you ā tabs, not spaces!"
(next session)
You: "...seriously, tabs. And error handling. Again."With MCP-Memory-LanceDB-Pro ā your assistant learns and remembers:
You: "Use tabs for indentation, always add error handling."
(next session ā assistant auto-recalls your preferences)
Assistant: (silently applies tabs + error handling)
You: "Why did we pick PostgreSQL over MongoDB last month?"
Assistant: "Based on our discussion on Feb 12, the main reasons were..."Features
Feature | Description |
Hybrid Retrieval | Vector similarity + BM25 full-text search with RRF fusion |
Cross-Encoder Reranking | Jina / SiliconFlow / Voyage / Pinecone rerankers |
Smart Extraction | LLM-powered 6-category classification: preferences, decisions, facts, entities, events, patterns |
Intelligent Forgetting | Weibull decay model ā important memories stay, noise naturally fades |
Auto-Capture | Claude Code hooks automatically store important info after each response |
Auto-Recall | SessionStart hook automatically injects relevant context |
Multi-Scope Isolation | Agent-private, global shared, and project-scoped boundaries |
Noise Filtering | Embedding-based noise prototype bank + regex filters |
Reflection Pipeline | Extract invariant rules and derived knowledge |
Self-Improvement | Structured learning/error logging with skill extraction |
14 MCP Tools | Complete memory management API |
Quick Start
1. Clone & Install
git clone https://github.com/bcornish1797/MCP-Memory-LanceDB-Pro.git \
~/.claude/mcp-servers/memory
cd ~/.claude/mcp-servers/memory
npm install2. Configure Claude Code
Add to ~/.claude.json under projects.<your-project>.mcpServers:
{
"memory": {
"command": "node",
"args": ["~/.claude/mcp-servers/memory/server-full.mjs"],
"env": {
"JINA_API_KEY": "your-jina-api-key",
"LLM_API_KEY": "your-llm-api-key",
"LLM_BASE_URL": "https://api.openai.com/v1",
"LLM_MODEL": "gpt-4o-mini",
"RERANK_API_KEY": "your-reranker-key",
"RERANK_PROVIDER": "jina",
"RERANK_MODEL": "jina-reranker-v3",
"RERANK_ENDPOINT": "https://api.jina.ai/v1/rerank"
}
}
}3. Set Up Automation Hooks (Optional)
Add to ~/.claude/settings.json for fully automatic memory capture:
{
"hooks": {
"SessionStart": [{
"matcher": "",
"hooks": [{"type": "command", "command": "path/to/hooks/session-start.sh"}]
}],
"Stop": [{
"matcher": "",
"hooks": [{"type": "command", "command": "path/to/hooks/auto-capture.sh"}]
}],
"PostCompact": [{
"matcher": "",
"hooks": [{"type": "command", "command": "path/to/hooks/post-compact.sh"}]
}],
"SessionEnd": [{
"matcher": "",
"hooks": [{"type": "command", "command": "path/to/hooks/session-end.sh"}]
}]
}
}4. Restart Claude Code
The memory server loads automatically on next session.
MCP Tools
Core Memory
Tool | Description |
| Hybrid search with vector + BM25 + cross-encoder reranking |
| Store with auto-chunking, smart metadata, and auto-categorization |
| Delete by ID or search query |
| Update text, importance, or category (triggers re-embedding) |
| Usage statistics by scope and category |
| List recent memories with scope/category filters |
Intelligent Processing
Tool | Description |
| LLM-powered smart extraction from conversation text |
| Weibull intelligent forgetting ā clean stale memories |
| Reflection pipeline ā extract invariant rules and derived knowledge |
| Bulk delete by scope, category, or age |
| Legacy database migration |
Self-Improvement
Tool | Description |
| Log structured learnings or errors |
| Governance backlog summary |
| Transform learning entries into skill scaffolds |
Architecture
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā MCP Server (server-full.mjs) ā
ā stdio JSON-RPC <--> Claude Code ā
āāāāāāāāāā¬āāāāāāāāāāā¬āāāāāāāāāāā¬āāāāāāāāāāā¬āāāāāāāāāāāāā
| | | |
āāāāāvāāāā āāāāāvāāāā āāāāvāāāāā āāāvāāāāāāāāāāā
| Store | |Embedder| |Retriever| | Scopes |
|LanceDB | | Jina | |Hybrid | | Isolation |
āāāāāāāāāā āāāāāāāāāā āāāāāāāāāā āāāāāāāāāāāāāāā
| | |
āāāāāvāāāā āāāāāvāāāāā āāāvāāāāāāāāāāā
| Smart | | Decay | | Noise |
|Extract | | Engine | | Filter |
| (LLM) | |(Weibull)| |(Prototypes) |
āāāāāāāāāā āāāāāāāāāāā āāāāāāāāāāāāāāā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
| Claude Code Hooks |
| SessionStart | Stop | PostCompact |
| (auto-recall)|(auto-|(re-inject) |
| |capture) |
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāKey Components
Module | Files | Purpose |
Storage |
| LanceDB vector storage with FTS/BM25 indexing |
Embedding |
| Jina/OpenAI-compatible embeddings with task-aware API |
Retrieval |
| Hybrid vector+BM25 with RRF fusion and 6-stage scoring pipeline |
Smart Extraction |
| LLM-powered 6-category memory classification |
Decay |
| Weibull stretched-exponential decay with tier-based lifecycle |
Scopes |
| Multi-scope access control and isolation |
Noise Filter |
| Regex + embedding-based noise rejection |
Reflection |
| Session reflection and knowledge distillation |
Self-Improvement |
| Structured learning/error governance |
Configuration
Environment Variables
Variable | Required | Default | Description |
| Yes | ā | Jina AI API key for embeddings |
| No | ā | LLM API key for smart extraction |
| No |
| LLM model for extraction |
| No |
| LLM API endpoint |
| No | ā | Reranker API key |
| No |
|
|
| No |
| Reranker model name |
| No |
| Reranker API endpoint |
| No |
| LanceDB database path |
| No |
| Default memory scope |
Supported Providers
Embedding:
Provider | Model | Notes |
Jina AI |
| Recommended, task-aware |
OpenAI |
| Widely available |
Ollama |
| Free, local |
Reranking:
Provider | Model | Notes |
Jina AI |
| High quality |
SiliconFlow |
| Free tier available |
Voyage AI |
| Alternative |
LLM (for smart extraction):
Any OpenAI-compatible API ā OpenAI, Anthropic, z.ai, MiniMax, Ollama, etc.
Memory Scopes
Scope | Purpose |
| Private to your primary agent |
| Private to a secondary agent |
| Shared across all agents |
| Project-specific context |
How Auto-Capture Works
The Stop hook runs after every Claude response:
Reads
last_assistant_messagefrom hook stdinFilters through
shouldCapture()(length, noise, CJK-aware)Auto-categorizes via
detectCategory()Embeds via Jina API
Stores in LanceDB with scope and metadata
This happens automatically ā no manual tool calls needed.
Retrieval Pipeline
Query --> Embed --> Vector Search --+
+--> RRF Fusion --> Rerank --> Recency
Query --> BM25 Full-Text Search ---+ --> Importance --> LengthNorm
--> TimeDecay --> HardMin --> MMR
--> Final ResultsBased On
Built on memory-lancedb-pro by CortexReach ā an enhanced LanceDB memory plugin for OpenClaw. All 29 source modules are included and loaded at runtime via jiti.
What this project adds:
Standalone MCP server (no OpenClaw dependency)
Claude Code hooks for true automation
14 MCP tools (vs 9 in original)
Portable to any MCP-compatible AI client
License
Based on memory-lancedb-pro (MIT License, Copyright (c) 2026 win4r).
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/bcornish1797/MCP-Memory-LanceDB-Pro'
If you have feedback or need assistance with the MCP directory API, please join our Discord server