# Zekra

> MEMORY FOR AI AGENTS · OVER MCP

A memory organ for AI agents. Long-term recall and an entity graph that any agent reaches over MCP — so what one session learns, the next one already knows.

```bash
curl -fsSL https://app.zekra.dev/install.sh | sh
```

## Features

### Hybrid recall, not just vectors

Vector similarity and BM25 fused with reciprocal rank, then reranked. A name or an exact phrase is found by the half of the search that is good at names.

### Updates facts instead of piling them up

Every write goes through a decision step — ADD, UPDATE, INVALIDATE or NOOP — so a contradicted fact is replaced, not duplicated. Forget soft-invalidates; history stays queryable.

### Many brains, a knowledge graph

One brain per project or team, with per-agent grants and scoped tokens enforced server-side. Entities and typed relations are extracted from memories and can be traversed.

### Any client, one protocol

Claude Desktop and Code, Codex, Gemini and Cursor connect through one CLI that is both the MCP server and its installer.

## What an agent can call

- memory_recall
- memory_retain
- memory_get
- memory_edit
- memory_forget
- graph_neighbors
- graph_traverse
- brain_chat

## What it is built on

- **Store**: togo-postgres, pgvector, VectorChord, BM25
- **Cache**: Redis
- **Providers**: brain-tei, brain-cognee

## Get started

1. Sign up and mint a token

Create a brain at app.zekra.dev, then a cbt_ token for your agent.

2. Install the CLI

```bash
curl -fsSL https://app.zekra.dev/install.sh | sh
```

3. Log in

```bash
zekra auth login --token <cbt_…>
```

4. Connect your agent

```bash
zekra mcp:install claude-code
```

## Questions people ask

### How do I give Claude Code memory across sessions?

Connect a memory server over MCP. With Zekra: install the CLI, log in with a token and run zekra mcp:install claude-code. Claude Code then calls memory_retain to save decisions and memory_recall to bring them back in the next session, with citations. CLAUDE.md stays for rules; Zekra holds the facts a project collects.

### What is an MCP memory server?

A service that exposes remember and recall tools through the Model Context Protocol, so any MCP client — Claude Code, Codex, Cursor, Gemini or your own agents — can store facts and retrieve them later. Zekra is one: open source, with hybrid vector + BM25 recall, a knowledge graph, and many brains with per-agent grants.

### Is Zekra open source? Can I self-host it?

Yes. The code is on GitHub under AGPL-3.0, and the repository ships a Docker Compose stack: Postgres with VectorChord, the Go API, the console and two CPU TEI servers. The hosted version is at app.zekra.dev.

### How is Zekra different from mem0, Zep or Letta?

Zekra is MCP-first: one command connects Claude Code, Codex, Cursor, Gemini or Claude Desktop, and agents share the same brains. It deduplicates on write (ADD / UPDATE / INVALIDATE / NOOP), recalls with vectors + BM25 + rerank + a 1-hop graph, and indexes Arabic and English together. It is younger and smaller than those projects, with one maintainer.

### Can Zekra make a presentation from my notes?

Yes. Zekra builds a deck and a long-form report from what is in a brain (its notes, a search query, an entity's spine or the top notes), using only the gathered material, and the report cites its sources. You can also start from a pasted outline with templates such as a consulting proposal or product pitch. Export the deck to PDF and the report to PDF or Word, or share a read-only link.

### Can Zekra translate a deck between Arabic and English?

Yes. One call (presentation_translate, or the web console) translates a whole deck from Arabic to English or from English to Arabic and keeps its structure. Arabic decks render right-to-left.

### Can Zekra read text from photos, receipts or whiteboards (OCR)?

Yes. Remember an image and Zekra turns the text in it into searchable memory. OCR reads Arabic, English and many other scripts, mixed in one image, without you naming the language. PDFs, video (keyframes plus a speech transcript) and audio are supported too. Self-hosters run the optional zekra-ocr service.

### Which clients does Zekra work with?

Any MCP client. The CLI installs it into Claude Code, Claude Desktop, Codex, Gemini and Cursor. There is also a web console, desktop apps for macOS, Windows and Linux, iPhone and Android betas, a browser extension and a REST API.

## Status

Live and early. The hosted console runs at app.zekra.dev and the MCP endpoint at mcp.zekra.dev, on Postgres with VectorChord and BM25, embedding and reranking through TEI. One maintainer runs it and uses it as his own memory every day. Self-host it with Docker Compose under AGPL-3.0.

## Built with ToGO

Built with ToGO (https://to-go.dev). ToGO plugins and features used: ToGO kernel · REST, GraphQL, OpenAPI, brain · memory engine, brain-tei · embeddings & rerank, brain-cognee · graph extraction, brain-ocr · OCR, Redis L1 cache, Auth, PostgreSQL, Background jobs, File storage, Mail.

- ToGO: https://to-go.dev/?utm_source=zekra.dev&utm_medium=built-with
- Showcase: https://to-go.dev/en/showcase#zekra

Source: https://github.com/fadymondy/zekra
