Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Local-first shared memory for AI coding agents: one searchable store, served over MCP. MIT.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
The maker has not listed install details in the registry. See the maker’s README below.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account indamices, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 12 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Cross-Agent Memory
One local memory for all your AI coding agents.
Your Claude Code history, Codex sessions, Cursor work, project docs and decisions — indexed once, searchable from every agent, forever yours.
English | 中文
🎬 ▶ Play the full demo (2 min, Mandarin narration)
https://github.com/user-attachments/assets/a8d5d77c-98bc-42f7-9c58-7b48295875fe
Real run: install → verify → store → search. No mock-ups. Click the poster to play the 2-minute narrated walkthrough.
Every AI coding tool starts from zero.
You spend a week with Claude Code designing an architecture, switch to Codex next week, and it knows nothing about what you decided or why. You paste context again. You re-explain the project. Three tools later, the same conversation has happened five times, and none of it is searchable.
cross-agent-memory fixes this. It runs a small local memory service that:
No cloud. No accounts. Nothing ever leaves your machine.
memory_search, memory_write and memory_stats are exposed over the Model Context Protocol. Claude Code, Codex CLI, Cursor and anything else MCP-capable can use them today. Claude Code Codex-style CLI OpenCode / ZCode any project
│ │ │ │ ▼ ▼ ▼ ▼ ┌────────────────────────────────────────────────────────────────────┐ │ Connectors / Indexers │ │ incremental watermarks · content-hash dedup · active-session │ │ skip · unified chunker · local embeddings (Ollama, e.g. bge-m3) │ └────────────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────────────┐ │ SQLite memory store (single file) │ │ chunks (source of truth) ├─ vec0 KNN index (sqlite-vec) │ │ FTS-ready metadata ├─ 1-bit recall codes (Hamming) │ │ └─ hot / warm / cold tier tables │ └────────────────────────────────────────────────────────────────────┘ │ ┌─────────────────┴───────────────────┐ ▼ ▼ HTTP API (port 5370) MCP server (stdio) /api/search /api/memories memory_search /api/stats /api/health ... memory_write / memory_stats ▲ ▲ └─────────────────┬───────────────────┘ │ every agent you use, in any language/tool
Design notes and the full retrieval pipeline are documented in docs/ARCHITECTURE.md.
The fastest path: open this repository in your AI coding assistant and paste the block below. It installs everything locally — venv, dependencies, a fresh isolated database — verifies a real write/search round trip, and reports back with exact commands and results. Nothing is sent anywhere; the agent works on your machine only.
Install this repository locally. Read AGENTS.md and INSTALL-FOR-AI.md first.
Use ./install.sh --dry-run, then ./install.sh. Keep all runtime data isolated from existing databases and bind only 127.0.0.1. Verify initialization twice, Ollama bge-m3, health, and a real write/search round trip using examples/run.py. Add the client instructions from examples/client-instructions.md. Report exact commands, results and blockers; do not claim success from health alone. Do not import personal projects, restore backups or change system services.
Prefer doing it yourself? The manual path is right below. The same protocol is documented for agents in INSTALL-FOR-AI.md and AGENTS.md.
ollama pull bge-m3 # ~1.2 GB, good multilingual embedding model
git clone https://github.com/indamices/cross-agent-memory.git
cd cross-agent-memory python3 -m venv venv && source venv/bin/activate pip install -r requirements.txt
python3 server.py
Register any project folder (docs, decisions, notes):
curl -s -X POST http://127.0.0.1:5370/api/register \
-H 'Content-Type: application/json' \ -d '{"root": "/path/to/your/project"}'
The folder needs a
.memory-service.yamlor sensible defaults are used —
see examples/. Files are indexed immediately; later changes are
batched by a debounce window (default 1 hour,
MEMSVC_WATCH_DEBOUNCE).
For instant pickup:
POST /api/reindex {"project": "..."}or start with
MEMSVC_WATCH_DEBOUNCE=0.
Or ingest AI-tool session history with a connector:
python3 connectors/index_claude_code.py # ~/.claude/projects/**/*.jsonl
python3 connectors/index_opencode.py # ~/.local/share/opencode/opencode.db python3 connectors/index_zcode.py # ~/.zcode/v2/tasks-index.sqlite
curl -s -X POST http://127.0.0.1:5370/api/search \
-H 'Content-Type: application/json' \ -d '{"query": "why did we choose the tiered storage design", "n_results": 5}'
Or write a memory directly (decisions, insights — great for agent hooks):
curl -s -X POST http://127.0.0.1:5370/api/memories \
-H 'Content-Type: application/json' \ -d '{"items": [{"type": "decision", "content": "We picked sqlite-vec over a server-based vector DB for local-first operation."}]}'
mcp_server.py is a zero-dependency MCP (stdio) server that exposes the memory API as tools. Point your agent at it:
Claude Code
claude mcp add memory -- python3 /ABS/PATH/cross-agent-memory/mcp_server.py
or in .mcp.json:
{
"mcpServers": { "memory": { "command": "python3", "args": ["/ABS/PATH/cross-agent-memory/mcp_server.py"], "env": { "MEMORY_SERVICE_URL": "http://127.0.0.1:5370" } } } }
Codex CLI (~/.codex/config.toml)
[mcp_servers.memory]
command = "python3" args = ["/ABS/PATH/cross-agent-memory/mcp_server.py"] env = { MEMORY_SERVICE_URL = "http://127.0.0.1:5370" }
Cursor / other MCP agents — same server command and args in that tool's MCP settings. If you started the service with MEMSVC_TOKEN set, also set MEMORY_SERVICE_TOKEN for the MCP server.
Once connected, your agent gets:
| Tool | What it does |
|---|---|
memory_search | Semantic search across all indexed sessions/projects of every tool |
memory_write | Store a decision / insight / discovery for future sessions |
memory_stats | List collections and sizes |
Each /api/search request runs a staged pipeline:
vec0 cosine KNN over the shortlist (falls back to a numpy brute-force path when sqlite-vec is unavailable).helpful feedback factor.Under the hood it also handles the boring-but-critical parts: content-hash deduplication, per-connector increment watermarks, skipping sessions that are still being written, batch-write pacing, WAL tuning, and stale-index self-healing.
From the reference deployment (a Mac mini M4 Pro running this service 24/7 for a multi-agent setup):
| Metric | Value |
|---|---|
| Indexed chunks | 2,013,030 across 16 collections |
| Tools sharing one memory | 4 (Claude Code, OpenCode, ZCode, OpenClaw) |
Sampled /api/search latency | 0.36 s – 1.20 s (5 production queries, warm cache) |
| Embedding model | bge-m3 (1024-dim), local Ollama |
| Storage | single SQLite file + derived vec0 index (rebuildable at any time) |
These are real numbers from a heavy, messy, constantly-growing corpus — not a toy benchmark. Your numbers will vary with corpus size and hardware; on a fresh database everything is sub-100 ms.
| Endpoint | Method | Description |
|---|---|---|
/api/ping | GET | Liveness (no DB access) |
/api/health | GET | Health incl. embedding status, disk, degraded reasons |
/api/stats | GET | Collections and chunk counts |
/api/projects | GET | Configured projects |
/api/monitor | GET | Latency/cache/disk metrics |
/api/search | POST | Semantic search (query, n_results?, project?) |
| /api/memories | POST | D
Only the beginning is shown; read the rest in the repo