Cortex
Provides persistent memory for OpenAI Codex, allowing storage and recall of contextual information across sessions to reduce token usage and improve development workflow.
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., "@Cortexremember that I prefer tabs over spaces"
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.
Quick Start
Get to the first memory moment before learning daemon internals.
1. Install or build Cortex
Use the latest desktop installer, or build the 0.6.0 source CLI:
git clone https://github.com/AdityaVG13/cortex.git
cd cortex
cargo build -p cortex-daemon --release2. Start local memory
Open Cortex Control Center and start Cortex from the app. CLI-only users can run:
cortex serve3. Check readiness
cortex status --jsonSuccess is "status": "ready". If status is needs_action or error, follow the returned nextAction / repair before continuing.
4. Connect one AI tool
Claude Code:
claude plugin marketplace add AdityaVG13/cortex
claude plugin install cortex@cortex-marketplaceCodex:
codex mcp add cortex -- cortex.exe mcp --agent codexRestart the AI tool after changing MCP config.
5. Store and recall one memory
From a connected MCP client, call cortex_store, then cortex_recall. From the repo, run the matching smoke script:
Windows:
powershell -ExecutionPolicy Bypass -File scripts\first-run-smoke.ps1macOS / Linux:
bash tests/scripts/first-run-smoke.shThat smoke checks status, stores one disposable local memory, and recalls it. Normal use does not require benchmark adapters, provider keys, or LongMemEval.
More tool-specific setup: Info/connecting.md.
POST /store
Save decisions, lessons, preferences. Conflict detection is automatic.
GET /recall
Clock-Quorum Recall: admit a stored row when a hard anchor matches, two clocks agree, or a strong lexical hit holds. Empty is a valid answer. Use /as-of for an explicit validity time.
GET /boot
Extractive identity + delta + current-truth pack. ~300 tokens served instead of ~15,000 raw. No summarizer.
Gate | Meaning |
Hard anchor | Path, symbol, alias, entity, or citation matches |
Two clocks | Write, truth, task, and history are independent evidence |
Strong lexical | Quoted phrase, stem, or closed-lexicon hit — not BM25 alone |
Empty | No shared handle → no result. That is correct |
Accessibility and settings
Settings panel: Accessibility, Appearance & Motion, Connection, Budgets, and Keyboard & Navigation
Runtime preferences: high contrast, reduced motion, keyboard hints, and compact navigation
Accessibility gates: stronger focus states, ARIA/live regions, contrast checks, and 375px reflow checks
Governance
Retention classes across store, MCP, OpenAPI, export, and import
Local endpoint budgets with stable HTTP
429/ JSON-RPC denial metadataBudget UI in Control Center, backed by the local
budgets.tomlBoot audits plus
GET /boot/auditand the read-onlycortex_boot_auditMCP toolAdmin rollback with dry-run/apply workflow and audit events
Recall quality
cortex-http-pureadapter as the canonical helper-free measurement floorPurity gates, CAS-100, and triangle judge tooling for safer quality claims
Clock-Quorum Recall: deterministic evidence from write, truth, task, and history clocks. No local embedding or reranker model.
Reliability
Claude plugin MCP is attach-only and no longer starts a second daemon from plugin MCP paths
Control Center supervises the app-managed daemon and honors intentional stops
Handler panics return JSON 500 responses, with local panic breadcrumbs
Storage hygiene compacts FTS and keeps legacy embedding rows inert

Multi-agent, one brain
Each boot call registers a session. Control Center shows active sessions, deduplicated by agent identity.
Read-path tools (recall, peek, unfold) reattach to existing sessions. No duplicates.
Session descriptions preserved across reconnects and daemon restarts.
What one agent stores, every other agent can recall.
Claude Code, Codex, Cursor, and custom scripts can all be connected simultaneously. Each tracks its own session while sharing the same memory.
Tool | Connection | Setup |
Claude Code | MCP (plugin) or desktop app | Plugin: |
Codex | MCP |
|
Cursor | MCP | Point MCP server at |
Factory Droid | MCP |
|
Aider | CLI / HTTP |
|
Custom tools | HTTP | Three endpoints: |
Local LLMs | HTTP / MCP | Same protocol, any runtime |
Platform | Desktop installer | Daemon archive |
Windows | ||
macOS | ||
Linux |
git clone https://github.com/AdityaVG13/cortex.git
cd cortex
cargo build -p cortex-daemon --releaseclaude plugin marketplace add AdityaVG13/cortex
claude plugin install cortex@cortex-marketplaceMode | How it works |
Desktop app | Control Center owns the daemon. Restart and monitor from the app. |
CLI |
|
Plugin | Attach-only MCP bridge. It connects to the running app/service daemon and does not silently spawn a second daemon. |
cortex status --jsonWindows:
powershell -ExecutionPolicy Bypass -File scripts\first-run-smoke.ps1macOS / Linux:
bash tests/scripts/first-run-smoke.sh# Daemon contract tests
cargo test -p cortex-tests
# Desktop test suite
npm --prefix desktop/cortex-control-center test
# Lifecycle smoke test
npm --prefix desktop/cortex-control-center run verify:lifecycle:dev
# Security audit
npm audit --omit=dev --audit-level=high
cargo auditDocument | Covers |
All product and operator docs | |
Setup, MCP, HTTP, auth, troubleshooting | |
Store, CQR, boot, schema, crate map | |
All 29 MCP tool definitions and parameters | |
What shipped and what's next | |
Threat model, auth rules, vulnerability reporting | |
Shared-server setup for engineering teams | |
Development setup and PR guidelines |
Command | Description |
| Start the daemon |
| MCP stdio bridge to the running daemon |
| Full command reference |
| Run diagnostics |
| Show file and port paths |
| Local memory readiness and next action |
| Rebuild derived clock projections |
| Initialize team mode and generate API keys |
| Export data (json or sql) |
| Import from a previous export |
| Soft-delete a session's memory writes (dry-run default; |
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.
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Person-owned AI memory that learns, not just stores — portable context for any MCP client.
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP-native, local-first memory server that gives AI agents persistent, structured memory across sessions and tools, enabling them to maintain identity and context without reconfiguration.3MIT
- AlicenseNot gradedqualityDmaintenanceProvides persistent, local-first AI memory across sessions via MCP tools for storing, searching, and retrieving context from past interactions.1MIT
- AlicenseAqualityDmaintenanceA privacy-first memory layer for AI that securely bridges local knowledge with AI assistants through MCP tools, with intelligent redaction and local vector database.291MIT
- AlicenseNot gradedqualityDmaintenanceA portable self-hosted memory layer for AI tools, storing context, memories, and handoffs for access from any MCP-compatible client.17MIT