Mnemotree
Integrates with LangChain to provide memory capabilities for LangChain agents via MCP.
Provides Neo4j as a memory store for graph-based memory storage and retrieval.
Uses OpenAI API for embedding generation and LLM-powered memory analysis.
Integrates with spaCy for named entity recognition in memory contents.
Provides SQLite with sqlite-vec as a memory store for lightweight vector search.
Click on "Deploy 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., "@Mnemotreestore that the user prefers dark mode in settings"
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.
🌳 Mnemotree
Memory module for LLMs and Agents with MCP
Mnemotree gives LLM agents biologically-inspired memory. Store, retrieve, and analyze structured knowledge with semantic search, importance scoring, and relationship tracking. Integrates with LangChain, Autogen, and any MCP-compliant tool.
⚡ MCP Quickstart
Run mnemotree as an MCP server with zero setup:
uvx --from "git+https://github.com/kurcontko/mnemotree.git" --with "mnemotree[mcp_server]" mnemotree-mcpClaude Desktop / Claude Code
Add to your config (claude_desktop_config.json, .mcp.json, or ~/.claude.json):
{
"mcpServers": {
"mnemotree": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/kurcontko/mnemotree.git",
"--with", "mnemotree[mcp_server]",
"mnemotree-mcp"
],
"env": {
"MNEMOTREE_MCP_PERSIST_DIR": "/Users/yourname/.mnemotree/chromadb"
}
}
}
}Codex CLI
Add to your ~/.codex/config.toml:
[mcp_servers.mnemotree]
command = "uvx"
args = [
"--from", "git+https://github.com/kurcontko/mnemotree.git",
"--with", "mnemotree[mcp_server]",
"mnemotree-mcp",
]
startup_timeout_sec = 120
env = { MNEMOTREE_MCP_PERSIST_DIR = "/Users/yourname/.mnemotree/chromadb" }Local Development
Replace git+https://... with /path/to/mnemotree to use your local clone.
Persistence
MNEMOTREE_MCP_PERSIST_DIR controls where memories are stored. Use an absolute path for consistent storage across clients. Omit to default to .mnemotree/chromadb.
HTTP Transport (Multi-Client)
uvx --from "git+https://github.com/kurcontko/mnemotree.git" --with "mnemotree[mcp_server]" mnemotree-mcp run --transport http --port 8000Connect MCP clients to http://localhost:8000/mcp.
Related MCP server: knowledgeplane
🌟 Features
Memory Types: Episodic, semantic, autobiographical, prospective, procedural, priming, conditioning, working, entities
Storage Backends: ChromaDB, SQLite+sqlite-vec, Neo4j
Analysis: NER, keyword extraction, importance scoring, emotional context
Retrieval: Semantic similarity, filtering, relationship queries
Lite Mode: CPU-only embeddings, no LLM required
🚀 Getting Started
Installation
git clone https://github.com/kurcontko/mnemotree.git && cd mnemotree
uv venv .venv && uv pip install -e ".[lite,chroma]"For NER: uv run python -m spacy download en_core_web_sm
For OpenAI features: cp .env.sample .env and add your API key.
Basic Usage
from mnemotree import MemoryCore
from mnemotree.store import ChromaMemoryStore
store = ChromaMemoryStore(persist_directory=".mnemotree/chromadb")
memory_core = MemoryCore(store=store)
# Store
memory = await memory_core.remember(
content="User prefers Python for its readability.",
tags=["preferences", "programming"]
)
# Recall
memories = await memory_core.recall("programming languages", limit=5)
# Reflect
insights = await memory_core.reflect(min_importance=0.7)Lite Mode (CPU, no LLM)
memory_core = MemoryCore(store=store, mode="lite")Uses local embeddings. Set MNEMOTREE_LITE_EMBEDDING_MODEL to override.
Alternative NER backends: mnemotree[ner_hf], mnemotree[ner_gliner], mnemotree[ner_stanza]
⚙️ MCP Environment Variables
Variable | Default | Description |
|
| Storage directory |
|
| Collection name |
| — | Remote ChromaDB |
|
| Enable NER |
|
| Enable keyword extraction |
| — |
|
| — | Backend-specific model ID/path |
Avoid running multiple MCP processes against the same Chroma directory.
🔧 Storage
# ChromaDB (local)
from mnemotree.store import ChromaMemoryStore
store = ChromaMemoryStore(persist_directory=".mnemotree/chromadb")
# ChromaDB (remote)
store = ChromaMemoryStore(host="localhost", port=8000)
# Neo4j
from mnemotree.store import Neo4jMemoryStore
store = Neo4jMemoryStore(uri="neo4j://localhost:7687", user="neo4j", password="password")🐳 Docker
# MCP server
docker compose -f docker/mcp/docker-compose.yml up --build
# ChromaDB
docker compose -f docker/chromadb/docker-compose.yml up -d
# Neo4j
docker compose -f docker/neo4j/docker-compose.yml up -d📦 Extras
uv pip install -e ".[chroma]" # ChromaDB
uv pip install -e ".[neo4j]" # Neo4j
uv pip install -e ".[sqlite_vec]" # SQLite + sqlite-vec
uv pip install -e ".[lite]" # Local embeddings
uv pip install -e ".[ner_hf]" # Transformers NER
uv pip install -e ".[all]" # EverythingDevelopment
make lint typecheck test
make precommit-install💡 Examples
examples/langchain_agent.py— LangChain agent with memoryexamples/memory_chat/app.py— Streamlit chat app with persistent memory
🤝 Contributing
Contributions welcome! Fork the repo, create a branch, add tests, and submit a PR.
📝 License
MIT - see LICENSE
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP memory server. One memory your agents share — across models, devices and apps.
- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceOpen-source MCP server that gives any LLM long-term memory using a knowledge graph and vector search hybrid. It stores entities, observations, and relationships, enabling semantic recall across sessions with automatic clustering and fail-loud infrastructure.51MIT
- FlicenseNot gradedqualityCmaintenanceMCP server that gives AI agents and teams persistent, shared memory using a knowledge graph with vector embeddings, automatic consolidation of related facts, and hybrid search.3-
- AlicenseNot gradedqualityAmaintenanceA universal MCP server providing persistent, structured memory through a knowledge graph with graph storage, semantic vector search, and multi-hop traversal for AI agents and IDEs.1MIT
- AlicenseNot gradedqualityBmaintenanceMCP server providing persistent AI memory with four-tier retrieval (SQLite FTS5, graph, vector, LLM agent) to give AI assistants structured, long-term memory without RAG.1Apache 2.0