Central Intelligence
Central Intelligence provides persistent memory for AI agents, enabling them to store, retrieve, and manage information across sessions.
remember– Store information (user preferences, project decisions, facts) in persistent memory with optional tags and a visibility scope (agent,user, ororg).recall– Semantically search stored memories using natural language queries, with optional filtering by tags, scope, and result limit.context– Automatically retrieve the most relevant memories based on your current task or discussion, ideal for loading context at session start.forget– Delete a specific memory by ID when it becomes outdated or incorrect.share– Broaden a memory's visibility fromagentscope touserororgscope for collaborative access across agents.Manage API keys & monitor usage – Create/manage API keys and check usage statistics including memory counts and active agents.
Flexible integration – Works with Claude Code, Cursor, LangChain, CrewAI, and any MCP-compatible agent platform.
Flexible deployment – Use the hosted service or self-host, with CLI and REST API support for programmatic management.
Central Intelligence
Agents forget. CI remembers.
Persistent memory for AI agents. Store, recall, and share information across sessions. Works with Claude Code, Cursor, LangChain, CrewAI, and any agent that supports MCP.
CI never rewrites your memories. Facts are extracted for search, but your content is always returned verbatim. No junk memories, no hallucinated rewrites, no data loss.
Quick Start (30 seconds)
# One command — gets API key + auto-configures your AI tools
npx central-intelligence-local signup
# Done. Your agent now has persistent memory.
# Restart Claude Code / Cursor / Windsurf to activate.Or run locally with no cloud:
npm i -g central-intelligence-local && ci dashboard
# Installs and opens the dashboard at localhost:3141Related MCP server: bluecolumn-mcp
When to Use Central Intelligence
Heuristic: If you would write it in a note to your future self, store it in Central Intelligence.
Scenario | What to do |
Starting a new session, need context from before |
|
Discovered something important (architecture, preferences, fixes) |
|
Multiple agents working on the same project |
|
You keep re-learning the same things each session |
|
Handing off a task to another agent or session |
|
User tells you the same preferences repeatedly |
|
Don't store: secrets, passwords, API keys, PII, large binary files, or ephemeral scratch data.
The Problem
Every AI agent session starts from zero. Your agent learns your preferences, understands your codebase, figures out your architecture — then the session ends and it forgets everything. Next session? Same questions. Same mistakes. Same context-building from scratch.
Central Intelligence fixes this.
What It Does
Five MCP tools give your agent a long-term memory:
Tool | Description | Example |
| Store information for later | "User prefers TypeScript and deploys to Fly.io" |
| Semantic search across past memories | "What does the user prefer?" |
| Auto-load relevant memories for the current task | "Working on the auth system refactor" |
| Delete outdated or incorrect memories |
|
| Make memories available to other agents | scope: "agent" → "org" |
Benchmarks
LifeBench (2026) — Long-Term Multi-Source Memory
CI scores 52.2% on LifeBench, the hardest published memory benchmark (2,003 questions across 10 users, 51K real-world events including messages, calendar, health records, notes, and calls).
Overall | Info Extraction | Multi-hop | Temporal | Nondeclarative |
52.2% | 47.2% | 52.9% | 46.4% | 64.1% |
Answer model: gpt-5.4-mini. Judge: gpt-4.1-mini. Evaluation harness: lifebench-eval.
LongMemEval (ICLR 2025) — Conversational Memory
CI scores 75.0% on LongMemEval, testing conversational memory across 500 questions spanning single-session recall, multi-session reasoning, temporal reasoning, knowledge updates, and preference tracking.
Overall | Single-session | Multi-session | Temporal | Preference |
75.0% | 91.9% | 66.2% | 69.9% | 76.7% |
Answer model: gpt-5.4-mini. Judge: gpt-4o. Evaluation harness: lifebench-eval.
Agent Memory Benchmark (AMB) — Infrastructure Testing
Test CI against other providers using the open-source Agent Memory Benchmark:
npx agent-memory-benchmark --provider central-intelligence --api-key $CI_API_KEYNote: AMB is maintained by the same author as Central Intelligence. Run it yourself and verify the results. PRs with new provider adapters are welcome.
Roadmap
Advanced retrieval — fact extraction, entity graph, multi-hop reasoning, temporal inference, explainability traces — is prototyped in the codebase and coming to Enterprise. Architecture details: v1.0.0 prototype release. Commercial availability: pricing.
Cross-Tool Memory
CI Local reads config files from 5 AI coding platforms and makes them searchable alongside your stored memories:
Platform | Config file | How it's parsed |
Claude Code |
| Section-based (## headings) |
Cursor |
| Paragraph-based |
Windsurf |
| Paragraph-based |
Codex |
| Section-based |
GitHub Copilot |
| Section-based |
Memories stored via Claude Code are discoverable when using Cursor, and vice versa. Your AI memory works everywhere, not just in one tool.
Recall responses now include source (which tool the memory came from), freshness_score (how recent), and duplicate_group (near-duplicate detection across tools).
How It Works
Agent (Claude, Cursor, Windsurf, Copilot, Codex)
↓ MCP protocol
Central Intelligence MCP Server (local, thin client)
↓
SQLite + vector embeddings + config file parsing
↓
Hybrid search: vector + FTS5 + fuzzy + temporal decay
↓
Central Intelligence API (hosted)
↓
PostgreSQL + pgvector + fact decomposition + entity graph
↓
4-way retrieval: vector + BM25 + graph traversal + temporal
↓
Local ONNX cross-encoder reranker (zero API cost)Every memory is decomposed into structured facts with entities, temporal info, and causal relations. Recall runs a dual-path architecture: both fact-based 4-way search (vector, BM25, graph traversal, temporal) and memory-based 2-way search run in parallel. A query type classifier routes each question to the best retrieval path, and results are fused with Reciprocal Rank Fusion and reranked with a local cross-encoder model. Config files from all supported platforms are parsed, embedded, and cached locally.
Memory Scopes
Scope | Visible to | Use case |
| Only the agent that stored it | Personal context, session continuity |
| All agents serving the same user | User preferences, cross-tool context |
| All agents in the organization | Shared knowledge, team decisions |
MCP Server Setup
Claude Code
Add to ~/.claude/settings.json under mcpServers:
{
"central-intelligence": {
"command": "npx",
"args": ["-y", "central-intelligence-mcp"],
"env": {
"CI_API_KEY": "your-api-key"
}
}
}Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"central-intelligence": {
"command": "npx",
"args": ["-y", "central-intelligence-mcp"],
"env": {
"CI_API_KEY": "your-api-key"
}
}
}
}Any MCP-Compatible Client
The MCP server is published as central-intelligence-mcp on npm. Point your MCP client to it with the CI_API_KEY environment variable set.
CLI Usage
# Install globally
npm install -g central-intelligence-local
# Get API key + auto-configure AI tools
ci signup
# Open local memory dashboard
ci dashboard
# Sync local memories to cloud
ci sync
# Audit memory health (duplicates, staleness, health score)
ci audit
# Import from ChatGPT data export
ci chatgpt-import conversations.json
# Export/import memory bundles
ci export -o memories.json
ci import memories.jsonREST API
Base URL: https://central-intelligence-api.fly.dev
All endpoints require Authorization: Bearer <api-key> header.
Create API Key
curl -X POST https://central-intelligence-api.fly.dev/keys \
-H "Content-Type: application/json" \
-d '{"name": "my-key"}'POST /memories/remember
{
"agent_id": "my-agent",
"content": "User prefers TypeScript over Python",
"tags": ["preference", "language"],
"scope": "agent"
}POST /memories/recall
{
"agent_id": "my-agent",
"query": "what programming language does the user prefer?",
"limit": 5
}Response:
{
"memories": [
{
"id": "uuid",
"content": "User prefers TypeScript over Python",
"relevance_score": 0.434,
"tags": ["preference", "language"],
"scope": "agent",
"created_at": "2026-03-22T21:42:34.590Z"
}
]
}POST /memories/context
{
"agent_id": "my-agent",
"current_context": "Setting up a new web project for the user",
"max_memories": 5
}DELETE /memories/:id
POST /memories/:id/share
{
"target_scope": "org"
}GET /usage
Returns memory counts, usage events, and active agents for the authenticated API key.
Self-Hosting
# Clone and install
git clone https://github.com/AlekseiMarchenko/central-intelligence.git
cd central-intelligence
npm install
# Set up PostgreSQL
createdb central_intelligence
psql -d central_intelligence -f packages/api/src/db/schema.sql
# Configure
cp .env.example .env
# Edit .env: set DATABASE_URL and OPENAI_API_KEY
# Run
npm run dev:apiDeploy to Fly.io
fly apps create my-ci-api
fly postgres create --name my-ci-db
fly postgres attach my-ci-db
fly secrets set OPENAI_API_KEY=sk-...
fly deployThen point the MCP server to your instance:
{
"env": {
"CI_API_KEY": "your-key",
"CI_API_URL": "https://your-app.fly.dev"
}
}Architecture
central-intelligence/
├── packages/
│ ├── api/ # Backend API (Hono + PostgreSQL + pgvector)
│ │ ├── src/
│ │ │ ├── db/ # Schema, migrations (facts, entities, pgvector, hybrid)
│ │ │ ├── middleware/ # Auth, rate limiting, billing, x402 payments
│ │ │ ├── routes/ # REST endpoints, dashboard, docs, demo
│ │ │ └── services/ # Core logic:
│ │ │ ├── memories.ts # Store + v2 hybrid recall (pgvector + BM25 + RRF + reranker)
│ │ │ ├── rerank.ts # bge-reranker-v2-m3 (local ONNX), Cohere API fallback
│ │ │ ├── embeddings.ts # OpenAI text-embedding-3-small
│ │ │ ├── encryption.ts # AES-256-GCM at rest
│ │ │ ├── date-parser.ts # Temporal extraction from memory content
│ │ │ ├── auth.ts # API key validation
│ │ │ ├── fact-extraction.ts # [Enterprise] Structured fact decomposition via GPT-4o-mini
│ │ │ ├── entity-resolution.ts # [Enterprise] Trigram + co-occurrence entity merging
│ │ │ ├── observations.ts # [Enterprise] Auto-synthesized higher-level facts
│ │ │ └── query-decompose.ts # [Enterprise] Query expansion via GPT-4o-mini
│ │ └── tests/ # Vitest
│ ├── mcp-server/ # MCP server (npm: central-intelligence-mcp)
│ ├── cli/ # Cloud CLI (npm: central-intelligence-cli, legacy)
│ ├── local/ # Local memory with cross-tool config parsing
│ ├── node-sdk/ # Node.js/TypeScript SDK (npm: central-intelligence-sdk)
│ ├── python-sdk/ # Python SDK (PyPI: central-intelligence)
│ └── openclaw-skill/ # OpenClaw skill file
├── .github/workflows/ # CI (typecheck + test) + Deploy (Fly.io)
├── benchmark/ # LifeBench VM (self-contained Fly machine)
├── db/ # Custom Postgres image with pgvector baked in
├── landing/ # Landing page
├── Dockerfile # API container (non-root, ONNX model pre-cached)
├── fly.toml # Fly.io config (iad region, health checks)
└── README.mdPricing
Tier | Price | Memories | Agents |
Free | $0 | 500 | Unlimited |
Pro | $29/mo | 50,000 | Unlimited |
Team | $99/mo | 500,000 | Unlimited |
See centralintelligence.online/#pricing for the latest.
Contributing
Contributions welcome. Open an issue or PR.
License
Available Tools
5 toolscontextA
Load relevant memories for the current task, designed for session bootstrapping. This is a read-only operation identical to recall internally, but optimized for broad context loading rather than specific questions. Call context at the start of every conversation, passing a description of what you are working on, to retrieve past decisions, preferences, and project knowledge. Also call when switching topics mid-session. Use context (not recall) for "what do I need to know about X?" and recall for "what specifically was decided about Y?". Returns up to max_memories results ranked by relevance. Costs 1 operation. Returns empty list (not error) if no relevant memories exist.
Inputs: current_context (required), agent_id, user_id, max_memories.
forgetA
Permanently delete a memory by ID. This is a destructive, irreversible operation that soft-deletes the memory record (it will no longer appear in recall or context results). Use forget before storing a corrected version of a fact, to prevent contradictory memories from coexisting. Do not use for bulk cleanup (delete one at a time). Do not use if you are unsure whether the memory is outdated, as deletion cannot be undone. Requires the exact memory ID (UUID), which is returned by recall and context. Costs 1 operation. Returns confirmation on success, or an error if the ID does not exist.
Inputs: memory_id (required).
recallA
Search persistent memory by meaning, returning the most relevant past memories ranked by semantic similarity. This is a read-only operation that runs a 4-way hybrid search (vector similarity, BM25 full-text, entity graph traversal, temporal proximity) and reranks results with a cross-encoder model. Use recall (not context) when you need to answer a specific question: "what language does the user prefer?", "how was auth implemented?", "what was decided about the database?". Do not use for broad session bootstrapping (use context instead). Returns up to limit memories with relevance scores (0-1). Costs 1 operation per call. If no memories match, returns an empty list, not an error.
Inputs: query (required), agent_id, user_id, scope, +2 more.
rememberA
Store a fact, decision, or preference in persistent memory so it survives across sessions. This is a write operation that creates a new memory record, encrypts the content at rest, and generates a vector embedding for semantic search. Use remember (not recall) when you learn something worth keeping: architecture decisions, user preferences, bug root causes, project conventions, or task outcomes. Do not use for ephemeral scratch data, secrets, or large files. Returns the memory ID and timestamp. Costs 1 operation against the API key's monthly quota (500 free, then paid). Use forget to delete outdated memories before storing corrections, to prevent contradictions.
Inputs: content (required), agent_id, user_id, tags, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool has a clearly distinct role: context for broad bootstrapping, recall for specific queries, remember for writes, forget for deletes, and share for scope changes. The context/recall distinction is especially well-handled with explicit usage guidance for each.
All tool names are single lowercase words following a consistent imperative style (remember, recall, forget, share). The only minor deviation is 'context', which is a noun rather than a verb, though it still fits the single-word pattern.
Five tools is well-scoped for a persistent memory system. Each tool covers a distinct operation (load context, store, search, delete, share) and none feel redundant or unnecessary.
The core memory lifecycle is covered: write (remember), read (context/recall), delete (forget), and scope management (share). The only minor gap is the lack of an explicit update operation, though the descriptions acknowledge this by recommending forget-then-remember for corrections.
Maintenance
Related MCP Connectors
Persistent memory for AI agents to retain, retrieve, and recall conversation context through MCP.
Persistent memory for AI agents across Claude, ChatGPT and any MCP client.
Persistent memory, knowledge graph, task management and more for AI agents via MCP.
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides persistent memory with semantic search for MCP-based AI agents, enabling them to store and recall information across sessions using vector embeddings.41MIT
- AlicenseCqualityCmaintenancePersistent semantic memory for MCP-compatible agents, enabling them to remember and recall text, audio, and documents across sessions.1055 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides persistent, causal memory for AI agents with semantic recall, causal tracking, and importance-based forgetting through MCP tools.-
- AlicenseNot gradedqualityCmaintenanceProvides persistent semantic memory for AI agents via MCP, enabling them to remember, recall, list, update, and forget memories with vector-based similarity search.ISC