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
Persistent memory, knowledge graph, task management and more for AI agents via MCP.
1An 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.
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 gradedqualityCmaintenanceA 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.24 PyPI1MIT
- AlicenseNot gradedqualityAmaintenanceMCP 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