Zekra

io.github.fadymondyPublished by GitHub account fadymondyv0.1.0Updated Nov 1, 2026

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

VerifiedStreamable HTTPWeb executableDatabasesKnowledge & MemoryAI & ML

Overview

AI-generated overview

Zekra is a hosted long-term memory and knowledge-graph service that lets an AI assistant retain, recall and organize what it learns across sessions.

What you can do
  • Retain, recall, get, edit and soft-forget memories, with hybrid vector plus BM25 retrieval, reranking and citations
  • Query the knowledge graph: traverse entities and typed relations, find neighbors and paths, inspect the ontology
  • Manage brains and access: list brains, grants and tokens, share memories between agents
  • Manage a secrets vault and inspect knowledge gaps and the activity log
  • Connect external data sources (text, markdown, crawler, github, sql, webhook) that are chunked and retained
  • Chat with a brain through a tool-calling agent that answers with citations and an auditable trace
When to use it
Useful when you want an assistant to carry knowledge between sessions or across several agents, keep project- or team-scoped memory namespaces, or answer questions over a curated knowledge graph with citations.
Requirements
Remote MCP endpoint at mcp.zekra.dev over Streamable HTTP with OAuth sign-in. A hosted account at app.zekra.dev with a brain and an access token, or a self-hosted Docker Compose stack (Postgres with VectorChord, Go API, console, TEI embedding and reranker models, about 6 GB disk) with its own secrets configured.
Before you install
The service stores what agents and people tell it, including a secrets vault, so treat stored content as sensitive and scope tokens per agent. Writes update or invalidate existing facts rather than hard-deleting them, and history stays queryable. Data sources such as crawler, github, sql and webhook pull external content into the brain. Self-hosting requires setting POSTGRES_PASSWORD, AUTH_SECRET, ZEKRA_SECRETS_KEY and MFA_CHALLENGE_SECRET.

Installation

In SourceWeft

  1. Open Zekra in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.fadymondy%2Fzekra/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "zekra": {
      "type": "http",
      "url": "https://mcp.zekra.dev/"
    }
  }
}

README

[Zekra]

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.

[Built with ToGO] [ToGO on GitHub] [CI] [License: AGPL-3.0] [Discord] [GitHub stars]

Website · Docs · Discord · Discussions · Issues

[Zekra console: memories land in a graph, then a plain-words recall returns the right memory with its source note]

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:

bash
curl -fsSL https://app.zekra.dev/install.sh | sh     # installs the `zekra` CLIzekra 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.

bash
git clone https://github.com/fadymondy/zekra.git && cd zekracp .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_EMAILSdocker 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

[Translation status]

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 →

[Sponsor ToGO] [GitHub Sponsors] [Buy Me a Coffee]

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 [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.

Source: README.md at commit 58340a0

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v0.1.0LatestOct 11, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts