Zekra

السجل الرسمي الأمن

Long-term memory and a knowledge graph for AI agents: recall, notes, secrets and data sources.

ماذا يمكنك أن تفعل مع Zekra؟

  • Retain / recall — hybrid retrieval: dense vectors + multilingual BM25 fused with RRF,
  • Many brains — one namespace per project or team, with per-agent grants and access
  • Knowledge graph — entities and typed relations extracted from memories, with
  • Data sources — connectors (text, markdown, crawler, github, sql, webhook)
  • Chat with a brain — a tool-calling agent that uses the brain's own recall / search /
  • Knowledge gaps, secrets vault, activity log — plus a web console to manage it all.
  • Tiers — Redis L1 working-memory cache, hot Postgres tier, object-store cold tier.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

Remote (streamable-http)
Claude Code
claude mcp add --transport http zekra 'https://mcp.zekra.dev'
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "zekra": {
            "type": "http",
            "url": "https://mcp.zekra.dev"
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. Zekra — ذكرى
  2. Features
  3. Quick start
  4. Architecture
  5. Documentation
  6. Contributing
  7. Translations
  8. Community
  9. Sponsor
  10. License
  11. More open source from the same author

Zekra — ذكرى

Shared long-term memory for AI agents. What one session learns, the next one already knows.

Zekra is a memory service that any agent (Claude Code, Codex, Gemini, Cursor, your own fleet) reaches over MCP. It stores what agents and people learn, deduplicates and updates it on write, and returns the right memory on recall, with citations.

Website · Docs · Discord · Discussions · Issues

Features

  • Retain / recall — hybrid retrieval: dense vectors + multilingual BM25 fused with RRF, a salience nudge, reranking, and 1-hop entity expansion. A write-decision step (ADD / UPDATE / INVALIDATE / NOOP) updates contradicted facts instead of duplicating them. Nothing is hard-deleted: forget soft-invalidates and history stays queryable.
  • Many brains — one namespace per project or team, with per-agent grants and access tokens (cbt_…) enforced server-side.
  • Knowledge graph — entities and typed relations extracted from memories, with traverse / neighbors / path / ontology queries and a graph "spine".
  • Data sources — connectors (text, markdown, crawler, github, sql, webhook) pull external content, chunk it and retain it through the same write pipeline. See Data sources.
  • Chat with a brain — a tool-calling agent that uses the brain's own recall / search / graph / retain as tools and answers with citations and an auditable trace.
  • Knowledge gaps, secrets vault, activity log — plus a web console to manage it all.
  • Tiers — Redis L1 working-memory cache, hot Postgres tier, object-store cold tier.

Quick start

Hosted

Sign up at app.zekra.dev, create a brain and mint a token, then connect your agent:

curl -fsSL https://app.zekra.dev/install.sh | sh     # installs the `zekra` CLI
zekra auth login --token <cbt_…>
zekra mcp:install claude-code                        # or claude-desktop | codex | gemini | cursor

The CLI lives in fadymondy/zekra-cli.

Self-host with Docker Compose

Requirements: Docker with Compose v2, and about 6 GB of disk for the embedding and reranker models.

git clone https://github.com/fadymondy/zekra.git && cd zekra
cp .env.selfhost.example .env.selfhost
# fill in POSTGRES_PASSWORD, AUTH_SECRET, ZEKRA_SECRETS_KEY and MFA_CHALLENGE_SECRET
# (generate each with: openssl rand -hex 32), and your email in ADMIN_EMAILS
docker compose -f docker-compose.selfhost.yml --env-file .env.selfhost up -d --build

Open http://localhost:3020 and register. The stack runs Postgres 17 with VectorChord, a one-shot schema job, the Go API, the Next.js console and two CPU TEI servers (embeddings and reranking), which download their models on first start. Then mint a token under Admin → Tokens and run zekra auth login --url http://localhost:3020 --token cbt_….

For a public deployment, put a TLS reverse proxy in front and set APP_URL. Every setting is covered in docs/self-hosting.md and DEPLOY.md.

MCP tools

MCP tools include memory_retain, memory_recall, memory_get, memory_forget, memory_share, memory_edit, graph_*, memory_gaps, brain_* (list, grants, tokens, chat), secret_* and datasource_*. Full reference: MCP server · contracts: contracts/tools.md.

Architecture

  Claude Code · Codex · Cursor · your agents        web console · mobile · desktop · extension
          │ MCP (Streamable HTTP or stdio)                    │ REST / GraphQL / SSE
          └───────────────────────┬───────────────────────────┘
                 ┌────────────────▼─────────────────────────────────────┐
                 │ Go API (ToGO: plugins on a microkernel)               │
                 │  brain plugin: retain → write-decision (ADD/UPDATE/    │
                 │  INVALIDATE/NOOP) · recall: vectors + BM25 → RRF →    │
                 │  rerank → 1-hop graph · graph · data sources · chat   │
                 └──────┬──────────────────┬─────────────────┬───────────┘
                        │                  │                 │
           ┌────────────▼──────┐   ┌───────▼──────┐   ┌──────▼─────────┐
           │ Postgres + vchord │   │ TEI embed /  │   │ Redis L1 ·     │
           │ BM25 · partman    │   │ rerank       │   │ Cognee (opt.)  │
           └───────────────────┘   └──────────────┘   └────────────────┘

Zekra is a ToGO app built from plugins:

PartWhereRole
brainplugins/brain (module github.com/togo-framework/brain)the memory organ: schema, retain/recall, graph, connectors, chat, REST
brain-teiplugins/brain-teiembeddings + rerank via TEI (Qwen3-Embedding-0.6B, bge-reranker-v2-m3)
brain-cogneeplugins/brain-cogneeentity / graph extraction engine (Cognee)
cache-redisplugins/cache-redisL1 cache
harnesscmd/api, cmd/migrate, internal/, web/the app: API server, migrations, React console
zekra-mcpcmd/zekra-mcpstdio MCP server — thin adapter over the REST API
zekractlcmd/zekractlops CLI: inspect DB, apply schema/BM25, BM25 smoke test, graph mirror

Design: SPEC.md · decisions: contracts/internal/decisions.md · deploy: DEPLOY.md.

Built on ToGO

Zekra is built on ToGO (GitHub), the open-source, API-first framework for Go + sqlc + Atlas + GraphQL/OpenAPI + Next.js with a Laravel-style CLI. The kernel is small and everything else is a plugin; these are the pieces Zekra uses:

ToGO pieceWhat it does in Zekra
KernelConfig, the hook/event bus, the plugin registry and server bootstrap
CLItogo generate (sqlc → gqlgen → Atlas → OpenAPI), togo serve, togo install
authSign-in, JWT sessions, roles and API tokens; MFA, passkeys and OAuth come from the auth plugin family
db-postgresThe Postgres driver under the brain schema
queue · cache · storage · mailIngestion jobs, caching, media and transactional email
Plugin modelThe memory organ itself ships as ToGO plugins: brain, brain-tei, brain-cognee, cache-redis

Want the same foundation for your own app? Run go install github.com/togo-framework/cli@latest && togo new myapp, then read the ToGO docs and browse the plugin marketplace.

Read the case study: MCP Server in Go: How Zekra Is Built on ToGO Plugins.

Documentation

Full docs at **https://zekra.dev/en/docs** (source: docs/):

Contributing

Bug reports, docs and code contributions are all welcome. Start with CONTRIBUTING.md, which covers setup, conventions and the DCO sign-off. Then look for a good first issue. AI coding agents should start with AGENTS.md.

Translations

Zekra is translated on Hosted Weblate, help us translate it into your language: https://hosted.weblate.org/projects/zekra/. See CONTRIBUTING.md for how it works.

Community

Please follow the Code of Conduct.

Sponsor

Zekra is built on ToGO, the open-source Go + React framework that powers this whole family of apps. The best way to support Zekra is to sponsor ToGO: every sponsorship goes into the framework and the apps built on it.

Sponsor ToGO →

License

Copyright (C) 2026 Fady Mondy. Zekra is free software, licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-only). If you run a modified version as a network service, you must offer its source to your users. Third-party components keep their own licenses.

Commercial licensing available: for a license without the AGPL obligations, contact info@3x1.io.

More open source from the same author

  • TomatoPHP: 60+ open-source FilamentPHP plugins for Laravel
  • Laravilt: Laravel admin panels rendered with Inertia on Vue 3 or React 19
  • ToGO: the Laravel-style workflow for Go + React apps, with a plugin marketplace

Built by Fady Mondy.

الأسئلة الشائعة

ما هو Zekra؟

Long-term memory and a knowledge graph for AI agents: recall, notes, secrets and data sources.

كيف أثبّت Zekra؟

يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http zekra 'https://mcp.zekra.dev'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج Zekra إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل Zekra مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص AGPL-3.0.

من يصون Zekra؟

ينشره fadymondy. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.