Roo Memory
БесплатноНе проверенPersistent, graph-based memory for Roo Code via the Model Context Protocol, enabling structured knowledge management with semantic search and context window con
Описание
Persistent, graph-based memory for Roo Code via the Model Context Protocol, enabling structured knowledge management with semantic search and context window control.
README
Persistent, graph-based memory for Roo Code via the Model Context Protocol (MCP).
LLMs have a short memory. Every new conversation starts from scratch — context windows overflow, past decisions fade, and reasoning chains disappear.
MCP Roo Memory gives your AI agent a structured, persistent brain:
- Graph memory — knowledge is not a flat dump, but a fractal graph of tasks, entities, facts, and decisions
- Semantic search — find what matters by meaning, not keywords (50+ languages)
- Context window control — hot/cold/archive tiers so you don't drown in tokens
- Knowledge evolution — decisions can be superseded, facts can be updated, stale data gets archived
- Temporal awareness — time as first-class citizen: chronological walks, session timelines, temporal vector filters
⚠️ Disclaimer
This is an experimental project — a search for form and architecture. It works, it has tests, but treat it as a Proof of Concept (PoC). The software is provided "AS IS", without any warranty of any kind. Use it at your own risk. See LICENSE for details.
Quick Start
🐳 Docker (recommended)
Zero system dependencies — just Docker. Everything runs in containers; no Python, no venv, no pip.
1. Start the stack
git clone https://github.com/mcasdfgf/mcp-roo-memory.git
cd mcp-roo-memory
docker compose up -d
This starts two containers:
| Container | What it does |
|---|---|
cortex-qdrant |
Vector database (port 6333) |
cortex-mcp |
Cortex server (idle, waits for MCP connections) |
2. Global MCP configuration
Add Cortex as a global MCP server for all your projects. The server is always running in Docker, so any project can connect.
Edit ~/.config/VSCodium/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json (or the equivalent path for VS Code):
{
"mcpServers": {
"cortex": {
"command": "docker",
"args": ["exec", "-i", "cortex-mcp", "python3", "-m", "src.cortex"]
}
}
}
VSCode users: replace
VSCodiumwithCodein the path above.
3. Project-level configuration (for workspace isolation)
If you want memory isolated per project, copy the reference .roo/ directory into your project:
cp -r ./mcp-roo-memory/.roo ./your-project/
Then edit .roo/mcp.json in your project and add --workspace your-project-name:
{
"mcpServers": {
"cortex": {
"command": "docker",
"args": [
"exec", "-i", "cortex-mcp", "python3",
"-m", "src.cortex", "--workspace", "your-project-name"
],
"alwaysAllow": ["desktop_open", "graph_add_node", "vector_search", "graph_get_node",
"graph_add_relation", "graph_search", "desktop_focus",
"desktop_history", "graph_traverse", "graph_walk",
"graph_decompose", "graph_update_node", "graph_supersede",
"graph_delete_node", "vector_store",
"temporal_walk", "session_timeline"]
}
}
}
Replace your-project-name with a unique identifier — mcp-roo-memory, researcher, ai-pulse, etc.
How isolation works:
desktop_open()andgraph_add_node()— always write to your project's workspacevector_search()withoutworkspace_id— searches across all projects (cross-project recall)vector_search(workspace_id="project")— narrows search to one project
4. Done
Restart Roo Code. Your agent now has persistent memory — zero system pollution.
🏠 Native pip (advanced)
If you prefer running without Docker — or you're developing Cortex itself:
# Requirements: Python 3.11+
git clone https://github.com/mcasdfgf/mcp-roo-memory.git
cd mcp-roo-memory
python -m venv .venv
source .venv/bin/activate
pip install -e .
# Qdrant is still needed:
docker run -d --name qdrant -p 6333:6333 qdrant/qdrant
MCP config:
{
"mcpServers": {
"cortex": {
"command": "python",
"args": ["-m", "src.cortex"],
"env": {
"CORTEX_DB_PATH": "/path/to/cortex.db",
"CORTEX_QDRANT_HOST": "localhost",
"CORTEX_QDRANT_PORT": "6333"
}
}
}
}
Problems This Solves
| Problem | How Cortex solves it |
|---|---|
| Flat memory — facts are stored as unrelated chunks | Fractal graph — tasks decompose into subtasks, facts connect to decisions, entities index files |
| Context window overflow — everything grows unbounded | Desktop Viewport — Hot (always loaded) / Cold (on focus) / Archive (search only) tiers |
| No navigation — can't walk a reasoning chain | Graph traversal — follow supersedes, derives_from, leads_to relations like a path |
| Stale facts linger — old decisions pollute context | Mutation strategy — Update (typo fix) / Supersede (approach changed) / Stale-cascade (rework) |
| Keyword search fails — "auth implementation" doesn't find "JWT with RS256" | Semantic vector search — multilingual embeddings (50+ languages) via Qdrant + fastembed |
| No time axis — can't answer "what happened in what order" | Temporal layer — chronological walks, session timelines, temporal vector filters |
Architecture
┌──────────────────────────────────────────────┐
│ MCP Client (Roo Code) │
└──────────────────────┬───────────────────────┘
│ stdio (MCP protocol)
┌──────────────────────▼───────────────────────┐
│ CortexServer │
│ 17 tools · 4 resources │
├──────────┬──────────┬──────────┬─────────────┤
│ Graph │ Vector │ Desktop │ Database │
│ CRUD, │ Qdrant + │ Hot/ │ SQLite │
│ traverse,│ fastembed│ Cold/ │ graph + │
│ walk │ semantic │ Archive │ history │
└──────────┴──────────┴──────────┴─────────────┘
Three layers of intelligence:
- Graph (SQLite) — who relates to who, what decomposes into what
- Vector (Qdrant) — what does this mean, what's semantically similar
- Desktop (viewport) — what fits in the context window right now
Using as Primary Roo Memory
Make Cortex your agent's default memory system by copying the .roo/ directory into your project:
# Copy reference config from this repo
cp -r ./mcp-roo-memory/.roo ./your-project/
The .roo/ directory contains ready-to-use reference configs:
| File / Dir | Purpose |
|---|---|
| custom_instructions.md | Cortex bootstrap — mandatory sequence, core principles |
| mcp.json | Reference MCP server config (edit --workspace for your project) |
| rules/ | Boot, save, templates, triggers — memory lifecycle |
| rules-architect/ | Memory rules for Architect mode |
| rules-ask/ | Memory rules for Ask mode |
| rules-code/ | Memory rules for Code mode |
| rules-coding-teacher/ | Memory rules for Coding Teacher mode |
| rules-debug/ | Memory rules for Debug mode |
| rules-documentation-writer/ | Memory rules for Documentation Writer mode |
| rules-orchestrator/ | Memory rules for Orchestrator mode |
| rules-project-research/ | Memory rules for Project Research mode |
For deep understanding of the memory model, see CONCEPT.md.
Tools Overview
| Tool | What it does |
|---|---|
desktop_open |
Open/restore a workspace session |
desktop_focus |
Bring a node into hot context |
desktop_history |
Get navigation history for a workspace |
graph_add_node |
Store any knowledge: entity, fact, decision, task... |
graph_get_node |
Retrieve a node with its relations |
graph_add_relation |
Create a relation between two nodes |
graph_traverse |
Walk the graph from a starting node |
graph_walk |
Walk along a reasoning chain |
graph_decompose |
Break a task into structured subtasks |
graph_update_node |
Update a node's data in-place |
graph_supersede |
Replace outdated knowledge (keeps history) |
graph_delete_node |
Delete a node and its vector |
vector_search |
Find things by meaning, across 50+ languages |
vector_store |
Store text with automatic vectorization |
graph_search |
Hybrid: semantic + graph subgraph expansion |
temporal_walk |
Chronological graph traversal (time axis) |
session_timeline |
Flat timeline of all events in a session |
| That's all 17 tools | See full list in CONCEPT.md §8 |
Configuration
All via CORTEX_* environment variables:
| Variable | Default | Description |
|---|---|---|
CORTEX_DB_PATH |
cortex.db |
SQLite database path |
CORTEX_QDRANT_HOST |
localhost |
Qdrant host |
CORTEX_QDRANT_PORT |
6333 |
Qdrant port |
CORTEX_QDRANT_TIMEOUT |
30 |
Connection timeout (s) |
CORTEX_COLLECTION_NAME |
cortex_memory |
Qdrant collection name |
CORTEX_EMBEDDING_MODEL |
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 |
Embedding model (50+ languages) |
CORTEX_ARCHIVE_DAYS_THRESHOLD |
7 |
Days before auto-archive |
CORTEX_DESKTOP_HOT_LIMIT |
5 |
Max hot nodes in viewport |
CORTEX_DESKTOP_HISTORY_LIMIT |
10 |
Max history entries |
Project Structure
.
├── docker-compose.yml ← Two services: cortex + qdrant
├── Dockerfile ← Multi-stage, python:3.11-slim
├── .dockerignore
├── src/cortex/
│ ├── __init__.py — Cortex factory (component assembly)
│ ├── __main__.py — MCP server entry point (stdio)
│ ├── config.py — Configuration (pydantic-settings)
│ ├── db.py — DatabaseManager (SQLite)
│ ├── desktop.py — DesktopManager (viewport + timeline)
│ ├── graph.py — GraphManager (CRUD, navigation, mutation, temporal)
│ ├── models.py — Pydantic models (Node, Relation, Viewport)
│ ├── server.py — MCP server (17 tools, 4 resources)
│ └── vector.py — VectorManager (Qdrant, embeddings, temporal filters)
└── tests/
Deep Dive
| Document | What you'll find |
|---|---|
| CONCEPT.md | Full philosophy, data model, node taxonomy (17 types), relation taxonomy (22 types), SQL schema |
| ADR-001 | Fractal memory architecture decision |
| ADR-002 | SQLite + JSON for graph instead of Neo4j/Cayley |
| ADR-003 | Qdrant for vectors (existing) |
| ADR-004 | fastembed for embeddings (paraphrase-multilingual-MiniLM-L12-v2) |
| ADR-005 | Desktop Viewport — context window strategy |
| ADR-006 | Knowledge evolution: update / supersede / stale |
| ADR-007 | Regression search: meaning → context → files |
| ADR-008 | Temporal layer — time as first-class citizen |
| CHANGELOG.md | Project release history |
| CONTRIBUTING.md | Development guidelines |
Development
# Native install (inside venv)
pip install -e .
pip install pytest pytest-asyncio
# Run all tests (188+ tests)
pytest tests/ -v
# With coverage
pytest tests/ --cov=src.cortex -v
Tests cover every component: models (17), config (19), database (26), graph (19), desktop (14), vector (19), server (19), integration (3) — 136+ total.
See CONTRIBUTING.md for guidelines.
License
MIT © 2026
Установка Roo Memory
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/mcasdfgf/mcp-roo-memoryFAQ
Roo Memory MCP бесплатный?
Да, Roo Memory MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Roo Memory?
Нет, Roo Memory работает без API-ключей и переменных окружения.
Roo Memory — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Roo Memory в Claude Desktop, Claude Code или Cursor?
Открой Roo Memory на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Roo Memory with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
