zikra
OfficialZikra — Team Memory for AI Agents
Not just session memory. A shared, governed memory layer for every agent, every person, and every project your team runs.
Website: zikra.dev · Self-hosted · MIT · Scales to millions of memories
Architecture: Governed project memory for teams of agents
Promotion kit: submission copy, launch posts, and directory targets
zikra 17 runs · 847 memories │ you@team-server │ Sonnet 4.6 │ ~/project (main) │ 387K/200K ████░░░░░░ 45%Install in one line
claude mcp add zikra http://localhost:8000/mcp --header "Authorization: Bearer YOUR_TOKEN"Or add to ~/.claude/settings.json:
{ "mcpServers": { "zikra": { "url": "http://localhost:8000/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } }Don't have a server yet? → Step 1 below takes ~2 minutes.
Most AI memory tools solve one problem: one agent remembers one session better.
Zikra solves a harder problem: multiple people running multiple AI agents across multiple projects — all sharing the same memory pool, with the right person scoped to the right project, the right agent pulling the right context, and millions of memories staying fresh through built-in hygiene scoring.
It's not session memory. It's the shared brain for an AI-native team.
What you get | What that means |
Multi-agent | Claude Code, Gemini CLI, Codex — one pool, one token |
Multi-person | Owner / admin / dev / viewer roles per project |
Multi-project | Isolated namespaces; one team runs |
Scale | PostgreSQL backend — handles millions of memories without index rebuilds |
Memory hygiene | Built-in hygiene prompt: confidence decay, orphan detection, stale cleanup |
Structure | Not just "save text" — decisions, requirements, prompts, errors, session diaries |
Auto-save | Stop + PreCompact hooks write every session automatically |
— Mukarram
Related MCP server: mcp-memory-graph
How Zikra compares
Zikra | MCP Memory¹ | mem0 | basic-memory | MemoryMesh | |
Works across multiple AI tools | ✅ | ❌ | ✅ paid | ❌ | ❌ |
Team sharing with per-user roles | ✅ RBAC | ❌ | ✅ paid | ❌ | ❌ |
Multi-project namespacing | ✅ | ❌ | ✅ paid | ❌ | ❌ |
Self-hosted, zero cloud dependency | ✅ | ✅ | ❌ | ✅ | ✅ |
Auto-save via session hooks | ✅ | ❌ | ❌ | ❌ | ❌ |
Hybrid vector + keyword search | ✅ | ❌ graph only | ✅ | ❌ | ❌ |
Confidence decay / memory hygiene | ✅ built-in prompt | ❌ | ❌ | ❌ | ❌ |
Named prompts + requirements | ✅ | ❌ | ❌ | ❌ | ❌ |
Scales to millions of memories | ✅ Postgres | ❌ in-memory | ✅ cloud | ❌ | ❌ |
License | MIT | MIT | Proprietary | MIT | MIT |
¹ @modelcontextprotocol/server-memory — the official Anthropic reference server.
Getting Started
Step 1 — Install the server
git clone https://github.com/getzikra/zikra
cd zikra
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
python3 installer.py # interactive setup, ~2 minutes
python3 -m zikraThe installer creates a .env file and generates your admin token. The server binds to http://localhost:8000 by default.
To reach it from other machines, run
cloudflared tunnel --url http://localhost:8000(free, gives you a permanent public URL likehttps://zikra.yourteam.com).
Step 2 — Enable MCP in Claude Code
Open Claude Code → Settings → MCP → Add Server and paste:
{
"mcpServers": {
"zikra": {
"url": "http://your-server:8000/mcp",
"headers": { "Authorization": "Bearer YOUR_ZIKRA_TOKEN" }
}
}
}The installer does this automatically when run locally.
Step 3 — Connect your AI coding agent
Paste the prompt for your agent into a session. It handles both first install and updates.
Claude Code:
Fetch https://raw.githubusercontent.com/GetZikra/zikra/main/prompts/zikra-claude-code-setup.md
and follow every instruction in it.This installs the Stop hook (auto-saves every session), PreCompact hook, and the live statusline bar showing run counts and memory stats.
Updating Zikra
Server:
cd ~/zikra && ./update.shClaude Code hooks — re-run the onboarding prompt. It detects your existing install and only refreshes what changed.
Profiles
Profile | Storage | Hooks | Extra deps |
Webhook (default) | SQLite ¹ | none | none |
Auto-log | SQLite ¹ | session hooks | none |
Full | SQLite ¹ or Postgres | hooks + daemon | asyncpg (Postgres only) |
¹ SQLite is for local / single-user only. For team deployments set DB_BACKEND=postgres.
Environment variables
Variable | Required | Default | Description |
| Yes | generated | Bearer token for the API |
| No | — | Enables semantic search. Keyword-only if absent. |
| No |
|
|
| Postgres only |
| |
| Postgres only |
| |
| Postgres only | — | |
| Postgres only | — | |
| Postgres only | — | |
| No |
| Bind address |
| No |
| HTTP port |
| No |
| SQLite database path |
| No |
| Default project |
| No |
| Swap for local or compatible embedding endpoint |
| No |
| Embedding model name |
| No |
| Memory half-life in days |
| No |
| Access-frequency boost weight |
How results are ranked
Every search result passes through scoring:
Age — recent memories rank higher. Half-life: 30 days. Floor: 0.05.
Access frequency — frequently used prompts surface higher (log scale).
Confidence — memories saved with lower
confidence_scorerank lower.
Command reference
All commands are POST /webhook/zikra with Authorization: Bearer <token>.
Command | Aliases | Description |
|
| Hybrid semantic + keyword search |
|
| Save a memory with embedding |
|
| Retrieve by title or |
|
| Retrieve a named prompt |
|
| Log a completed agent run |
|
| Log an error |
| — | Save a project requirement |
|
| Save a prompt with embedding |
|
| List prompts for a project |
|
| List requirements |
|
| Change a requirement's type |
|
| Generate a bearer token (owner role) |
|
| DB DDL introspection |
|
| Full command reference |
| — | Backend diagnostics |
Roles: owner · admin · developer · viewer
PostgreSQL backend
DB_BACKEND=postgres
DB_HOST=localhost
DB_PORT=5432
DB_NAME=ai_zikra
DB_USER=postgres
DB_PASSWORD=yourpasswordpip install -e ".[postgres]"License
MIT — see LICENSE
Design in Claude Web. Execute in Claude Code. Share with your whole team. Claude Web · Claude Code · Gemini CLI · Codex · any agent that can POST.
This server cannot be deployed
Maintenance
Related MCP Connectors
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Persistent memory for AI agents across Claude, ChatGPT and any MCP client.
- mcpOAuthai.butlerbrain
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
Related MCP Servers
FlicenseAqualityBmaintenanceSelf-hosted MCP-native agent memory server. Gives AI agents persistent, decay-weighted memory via 83 MCP tools — no cloud, full control. RocksDB+HNSW backend. Works with Claude Code, Cursor, and any MCP-compatible agent.148-- AlicenseAqualityBmaintenanceLocal-first memory for Claude Code and any MCP client: hybrid vector + keyword search and a bi-temporal knowledge graph in one SQLite file. Local embeddings, no API key, $0/token.5159 npm1PolyForm Noncommercial 1.0.0
- FlicenseNot gradedqualityDmaintenancePersistent memory server for AI assistants with semantic search and three-layer context (global, project, personality). Works with MCP-compatible AI tools like Claude Code, Cursor, Continue, Cline, and more.1-
- AlicenseNot gradedqualityCmaintenanceA persistent memory MCP server for Claude Code that enables long-term recall across sessions via hybrid search, code intelligence, and tools for reading/writing memory.25 npm1MIT