fadymondy

Zekra — ذكرى

Community fadymondy
Updated

Zekra (ذكرى): shared long-term memory for AI agents over MCP. Hybrid recall, knowledge graph, data sources and chat with citations. Works with Claude Code, Cursor, Codex.

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 onwrite, and returns the right memory on recall, with citations.

Built with ToGOToGO on GitHubCILicense: AGPL-3.0DiscordGitHub stars

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 accesstokens (cbt_…) enforced server-side.
  • Knowledge graph — entities and typed relations extracted from memories, withtraverse / 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, thenconnect 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 rerankermodels.

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, aone-shot schema job, the Go API, the Next.js console and two CPUTEI servers (embeddings andreranking), which download their models on first start. Then mint a token underAdmin → 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 iscovered 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:

Part Where Role
brain plugins/brain (module github.com/togo-framework/brain) the memory organ: schema, retain/recall, graph, connectors, chat, REST
brain-tei plugins/brain-tei embeddings + rerank via TEI (Qwen3-Embedding-0.6B, bge-reranker-v2-m3)
brain-cognee plugins/brain-cognee entity / graph extraction engine (Cognee)
cache-redis plugins/cache-redis L1 cache
harness cmd/api, cmd/migrate, internal/, web/ the app: API server, migrations, React console
zekra-mcp cmd/zekra-mcp stdio MCP server — thin adapter over the REST API
zekractl cmd/zekractl ops 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), theopen-source, API-first framework for Go + sqlc + Atlas + GraphQL/OpenAPI + Next.js with aLaravel-style CLI. The kernel is small and everything else is a plugin; these are the piecesZekra uses:

ToGO piece What it does in Zekra
Kernel Config, the hook/event bus, the plugin registry and server bootstrap
CLI togo generate (sqlc → gqlgen → Atlas → OpenAPI), togo serve, togo install
auth Sign-in, JWT sessions, roles and API tokens; MFA, passkeys and OAuth come from the auth plugin family
db-postgres The Postgres driver under the brain schema
queue · cache · storage · mail Ingestion jobs, caching, media and transactional email
Plugin model The 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.

Documentation

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

  • Introduction and Quickstart
  • MCP server: tool reference and client setup
  • CLI: the zekra command and the Claude Code plugin
  • REST API: endpoints, errors, events, TypeScript client
  • Data sources · Capture hook ·Security · Self-hosting

Contributing

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

Community

  • Discord: chat with the team and other users
  • GitHub Discussions: questions, ideas, show and tell
  • Issues: bugs and feature requests
  • Security reports: see SECURITY.md

Please follow the Code of Conduct.

Sponsor

Zekra is built on ToGO, the open-source Go + Reactframework 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 theGNU Affero General Public License v3.0 (AGPL-3.0-only). If you run a modifiedversion as a network service, you must offer its source to your users. Third-partycomponents keep their own licenses.

Commercial licensing available: for a license without the AGPL obligations, contact[email protected].

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.

MCP Server · Populars

MCP Server · New