Nexus Memory
Allows GitHub Copilot to access persistent memory for improved context awareness.
Provides Google/Vertex AI embeddings for semantic search in Nexus Memory.
Allows Hermes Agent to store and retrieve persistent, shared memories across sessions.
Provides Ollama embeddings (nomic-embed-text) for local semantic search in Nexus Memory.
Provides OpenAI embeddings for semantic search in Nexus Memory.
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., "@Nexus Memoryremember that I prefer dark mode in all my editors"
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.
π¦ Nexus Memory
One brain for all your agents.
Your agents forget. Your context gets lost. Your setup knowledge is scattered across chats, tools and repos.
Nexus Memory gives every MCP-compatible agent one persistent, self-hosted memory they all share.
Hermes β’ OpenClaw β’ Claude Code β’ Codex β’ Cursor β’ Cline β’ Roo Code β’ GitHub Copilot β’ Pi β’ Continue β’ Odysseus β’ Kilo Code β¦and more!
π€ Bot Self-Install: Tell your agent: "Read AGENTS.md and install Nexus Memory." It does the rest.
π
π

π€ Quick Start
Tell your agent to install it
Send this prompt to any MCP-compatible agent:
Read https://raw.githubusercontent.com/Neboy72/nexus-memory/main/AGENTS.md and follow the installation instructions.Your agent will check prerequisites, install everything, configure the provider, and verify. Zero manual steps.
π οΈ Or install manually
git clone https://github.com/Neboy72/nexus-memory.git
cd nexus-memory
pip install -e .Choose your embedding (auto-detected at runtime, you pick):
π Google / Vertex AI β
GOOGLE_API_KEYin.env(768d)π Jina β
JINA_API_KEYin.env(1024d, best value)π¦ Ollama β
ollama pull nomic-embed-textβοΈ Voyage β
VOYAGE_API_KEYinNEXUS_ENV_FILEor MCPenv:-block (1024d, best quality)βοΈ OpenAI β
OPENAI_API_KEYinNEXUS_ENV_FILEor MCPenv:-block (1536d)π Local (default) β
pip install nexus-memory[local](sentence-transformers, no key)
Start the server:
nexus-memoryπ Platform Configuration
Choose your agent:
~/.hermes/config.yaml:
mcp_servers:
nexus:
command: nexus-memoryRestart: hermes gateway restart
~/.openclaw/openclaw.json (mcp.servers.<name>.env β nested, not top-level):
{
"mcp": {
"servers": {
"nexus-memory": {
"command": "nexus-memory",
"env": { "VOYAGE_API_KEY": "vo-your-key-here" }
}
}
}
}~/.claude/settings.json or .mcp.json in project root:
{
"mcpServers": {
"nexus": {
"command": "python3",
"args": ["-m", "nexus_memory.mcp_server"]
}
}
}~/.codex/config.toml:
[mcp_servers.nexus]
command = "python3"
args = ["-m", "nexus_memory.mcp_server"].vscode/mcp.json in your project:
{
"mcpServers": {
"nexus": {
"command": "python3",
"args": ["-m", "nexus_memory.mcp_server"]
}
}
}Settings β Features β MCP Servers β Add:
Name: nexus
Command:
python3Arguments:
-m nexus_memory.mcp_server
MCP Server Config:
{
"mcpServers": {
"nexus": {
"command": "python3",
"args": ["-m", "nexus_memory.mcp_server"]
}
}
}.mcp.json in your project:
{
"mcpServers": {
"nexus": {
"command": "python3",
"args": ["-m", "nexus_memory.mcp_server"]
}
}
}~/.pi/config.json:
{
"mcpServers": {
"nexus": {
"command": "python3",
"args": ["-m", "nexus_memory.mcp_server"]
}
}
}.mcp.json or ~/.continue/config.json:
{
"mcpServers": {
"nexus": {
"command": "python3",
"args": ["-m", "nexus_memory.mcp_server"]
}
}
}Settings β MCP Management β Add Server:
Name: nexus
Command:
python3Arguments:
-m nexus_memory.mcp_server
Standard MCP stdio config:
{
"mcpServers": {
"nexus": {
"command": "python3",
"args": ["-m", "nexus_memory.mcp_server"]
}
}
}π― MCP Tools
Tool | Description | Parameters |
| Store a memory |
|
| Hybrid search (BM25 + Vector + RRF) |
|
| Delete a memory |
|
| Update in-place, preserve metadata |
|
| Check server status | β |
Memory Categories
Category | Scope | Use Case |
| Permanent | Verified facts, decisions (default) |
| Drift-prone | Assumptions that may change over time |
| Ephemeral | Current conversation context |
| Permanent | Operating rules, policies |
| Permanent | User likes, dislikes, habits |
| Temporary | Short-lived notes, TTL-managed |
Access Levels π‘οΈ
Level | Visible to | Example |
π’ | All agents | Project knowledge, technical info |
π‘ | Approved agents only | Personal preferences, habits |
π΄ | Owner only | Financial data, passwords, bills |
β¨ Features
Hybrid Retrieval π‘οΈ
Pure vector search is vulnerable to RAG poisoning β adversarial documents that rank high semantically but contain garbage. Nexus Memory blends BM25 + Vector + Reciprocal Rank Fusion:
Query β ββ BM25 Index βββββββ Keyword Rankings
β β
ββ Vector Embeddings βββ Semantic Rankings
β
RRF Fusion ββββ Combined RankingsMethod | Strengths | Weaknesses |
BM25 π€ | Keyword-exact, poison-resistant | Misses semantics |
Vector π§ | Semantic matching, fuzzy queries | Vulnerable to poisoning |
Hybrid (RRF) π | Best of both | β |
Source-Tier Boosting π·οΈ
Tier | Sources | Boost |
π’ Tier 1 | Agent, user, official docs | 1.2Γ |
π‘ Tier 2 | Curated external | 1.0Γ |
π΄ Tier 3 | Uncurated / unknown | 0.8Γ |
MemoryCategory Enum π·οΈ
Six scopes from Agentic Design Patterns (Ch8): fact, belief, session, rule, preference, temp. Every memory knows its purpose.
Provenance Tracking π
Every memory carries its origin: source_url, confidence (0.0β1.0), modified_by, timestamps. Full audit trail from creation to today.
Guardrails π‘οΈ
Content-length warnings for entries >5,000 chars. PII detection hints for emails and phone numbers in non-private entries.
Fact Lifecycle Model π§¬
Append-only state machine: pending β canonical | deprecated | rolled_back. Every revision is versioned with fact_id, version_id, content_hash, supersedes, and mandatory decision_event. No silent overwrites. No zombie facts.
Staging + Rollback π
Operation | What it does |
| Stage new facts for review |
| Promote staged β canonical |
| Mark canonical as deprecated |
| Restore previous canonical version |
Auto-Discovery + Graph Analytics π
Zero-token relation discovery between canonical facts via Qdrant (O(nΒ·k)) + heuristic classification. Graph analytics: hub scores, isolation scores, knowledge gaps, connected components. Facts connect themselves β no manual edges needed.
Skill Export π―
export_skill() searches canonical facts β clusters into Steps/Pitfalls/Prerequisites/Verification β generates complete SKILL.md. Turn learned facts into reusable agent skills.
Belief Drift Detection π
Score | Status |
π’ < 1 | Healthy |
π‘ 1β3 | Attention needed |
π΄ > 3 | Action required |
Detects stale entries, old patterns ("X running as fallback" β but X was replaced), age thresholds. Weighted 0β10 scoring.
π vs Other Memory Solutions
Feature | Nexus Memory π¦ | Walrus Memory π¦ | mem0 | Honcho | agentmemory | Holographic |
π Semantic search | β local or cloud | β via API | β Cloud | β pgvector | β Gemini | β HRR algebra |
π Hybrid retrieval | β BM25 + Vector + RRF | β | β Multi-signal | β | β | β |
π©Ί Drift detection | β Scored 0β10 | β | β * | β | β | β |
π‘οΈ Anti-poisoning | β Source tiers | β | β | β | β | β |
π Multi-Level Provenance | β Source + Corroboration + Dep. | β On-chain | β | β | β | β |
π·οΈ MemoryCategory Enum | β 6 scopes | β | β | β | β | β |
𧬠Fact Lifecycle | β Append-only | β | β | β | β | β |
π Staging + Rollback | β Promote/Deprecate/Rollback | β | β | β | β | β |
π― Skill Export | β Facts β SKILL.md | β | β | β | β | β |
π SkillGraph | β 5 relation types, BFS/DFS | β | β | β | β | β |
π Auto-Discovery | β 0 token cost | β | β | β | β | β |
π Graph Analytics | β Hub scores, gaps | β | β | β | β | β |
π Graph Boost | β Search ranking boost | β | β | β | β | β |
π‘οΈ Access Control | β public/trusted/private | β Permissions | β | β | β | β |
π Self-hosted | β Your machine | β Blockchain | β Cloud | β Cloud | β Cloud | β Local |
π° Cost | π Free | WAL token | Subscription | Subscription | API costs | Free |
π¦ Code size | ~9.6K Python | Managed service | Managed service | Managed service | ~50K TS | ~1.5K Python |
β±οΈ Setup time | 1 command | Signup + SDK | API key + signup | Postgres + pgvector | 30+ min + OAuth | 1 command |
*Mem0 lists staleness as an "open problem" in their 2026 report but does not ship a solution.
Nexus Memory is the only solution with hybrid retrieval, drift detection, provenance, fact lifecycle, staging/rollback, auto-discovery, graph analytics, skill export, memory categories, and access control β all self-hosted, all in one package.
π§© Embedding Providers
One server. Multiple backends. Same API.
Provider | Type | Setup | Dims | Quality |
Voyage βοΈ | Cloud API |
| 1024 | β Best |
OpenAI βοΈ | Cloud API |
| 1536 | β Great |
Ollama π¦ | Local |
| 768 | Better |
sentence-transformers π | Local |
| 384 | Good β (default) |
π§ Troubleshooting
Symptom | Check | Fix |
|
| Gateway restart |
Qdrant not running |
|
|
Hybrid search missing |
|
|
Voyage embedding fails |
| Set in |
ModuleNotFoundError | Check PYTHONPATH | Set |
π§ͺ Tests
pytest tests/ -v # 224 tests β
π Requirements
Python 3.11+
Qdrant v1.12+ running on
localhost:6333One embedding provider (auto-detected):
π Google / Vertex AI β
GOOGLE_API_KEYin.env(768d)
π Jina β
JINA_API_KEYin.env(1024d, best value)π¦ Ollama β
ollama pull nomic-embed-textβοΈ Voyage β
VOYAGE_API_KEYin.envβοΈ OpenAI β
OPENAI_API_KEYin.envπ Local β
pip install sentence-transformers
Optional:
bm25sfor hybrid search
π License
MIT β use it, modify it, ship it.
βοΈ Found it useful? Give it a star on GitHub β it helps others find it!
Built by Nebo Β· June 2026 Β· v0.2.0 β One memory for all your agents
This server cannot be installed
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/Neboy72/nexus-memory'
If you have feedback or need assistance with the MCP directory API, please join our Discord server