ZizkaDB, the operational database for AI agents: audit log, causal agent memory and compliance # ZizkaDB ### The causal database for AI agents: audit trail, agent memory and AI compliance Every agent decision linked to its cause. **Causal agent memory**, a **tamper-evident audit log** and **time-travel debugging**,
in one open-source database on Postgres. Built for **EU AI Act Article 12** record-keeping. Keyword + vector search · Agent drift measurement · MCP server · Python & TypeScript SDKs · Self-host or cloud **[Quickstart](#quickstart-60-seconds)** · **[Docs](DEVELOPMENT.md)** · **[Integrations](#integrations-langchain-langgraph-crewai-livekit-openclaw-mcp)** · **[Connect](CONNECT.md)** · **[Cloud](https://db.zizka.ai)** · **[Discussions](https://github.com/ZIZKA-AI-SL/ZizkaDB/discussions)** · **[Contributing](CONTRIBUTING.md)** [![CI](https://github.com/ZIZKA-AI-SL/ZizkaDB/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/ZIZKA-AI-SL/ZizkaDB/actions/workflows/ci.yml) [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](LICENSE) [![OpenSSF Baseline](https://www.bestpractices.dev/projects/16048/baseline)](https://www.bestpractices.dev/projects/16048) [![Audited by AddonAudit](https://addonaudit.com/badges/audited.svg)](https://addonaudit.com/addon/io-github-zizka-ai-sl-zizkadb-mcp/) [![Release](https://img.shields.io/github/v/release/ZIZKA-AI-SL/ZizkaDB?color=f97316&label=release)](https://github.com/ZIZKA-AI-SL/ZizkaDB/releases) [![Python SDK](https://img.shields.io/pypi/v/zizkadb-sdk?label=Python%20SDK&logo=python&logoColor=white&cacheSeconds=3600)](https://pypi.org/project/zizkadb-sdk/) [![TypeScript SDK](https://img.shields.io/npm/v/zizkadb-sdk?label=TypeScript%20SDK)](https://www.npmjs.com/package/zizkadb-sdk) [![GitHub stars](https://img.shields.io/github/stars/ZIZKA-AI-SL/ZizkaDB?style=flat)](https://github.com/ZIZKA-AI-SL/ZizkaDB/stargazers) Total downloads, all packages (see the per-package breakdown) #1 Product of the Week on PostYourStartup
Every agent team eventually asks: *Why did it say that? Why did it call that tool?* ZizkaDB links every agent step to the step that caused it, so you get the answer in one call instead of scrolling through traces. That causal record is also the agent's **auditable memory** for its next run, and a **tamper-evident audit log** you can prove was never changed. Observability platforms show you what happened; ZizkaDB is an **AI agent auditability platform** that proves why, through **causal lineage**, from **agent debugging** to **AI compliance**. Under the hood it is an **agentic database**: an operational database for AI agents in which every event is SHA-256 checksummed and hash-chained, so its record works as **cryptographic telemetry for AI agents** that any **agent audit** can verify. - **Causal lineage, not just traces.** Each event carries a `parent_id`. `db.why(event_id)` walks back to the user message, wrong tool, or bad context that started it. - **Time-travel debugging and session replay.** `db.at(agent, timestamp)` rebuilds exactly what the agent knew at any past moment, and you can replay any session step by step. - **Provable history.** Every event has a checksum and is hash-chained to the one before it, so `db.verify_chain(agent)` proves nothing was edited, removed or reordered. GDPR deletions leave a content-free tombstone. A verifiable record for EU AI Act Article 12. - **Causal agent memory for the next run.** `db.context_for(agent, task)` returns the relevant past as a prompt block, ranked by relevance, importance and recency; a new fact can replace an old one (`supersedes`). Keyword search works with no OpenAI key, hybrid with embeddings, or embed locally. - **Built database.** Idempotent and batch writes, retention, export/import, read-only and expiring keys, Prometheus metrics, backup and restore scripts. - **Agent drift measurement.** `db.baseline(agent)` scores how far an agent's recent sessions have moved from its baseline (0 = stable), so you catch **agent drift** before your users do. - **Self-host or cloud.** Run it on your own Postgres with one Docker command, or use [ZizkaDB Cloud](https://db.zizka.ai). AGPL-3.0, no per-trace billing; self-hosted data never leaves your infrastructure. Self-hosted runs **one agent with one API key**; multiple agents, agent fleets and agent-to-agent messaging are on Cloud. **In plain words:** ZizkaDB is a flight recorder for AI agents. It records every step an agent takes and which step led to it, so when an agent does something unexpected, you can see exactly why. ### Start here | You are… | Go to | | --- | --- | | New to ZizkaDB, or not technical | [ZizkaDB Cloud](https://db.zizka.ai): nothing to install | | A developer trying it on your laptop | [Quickstart](#quickstart-60-seconds): one command, about a minute | | Adding it to an agent you already have | [Connect your agent](#connect-your-agent) | | Running it for your team on a server | [Self-host on a server](#self-host-on-a-server) or [Deploy on Redu Cloud](#deploy-on-redu-cloud) |

Causal debugging for AI agents: db.why() traces a tool call back through the LLM response to the user message that caused it

## Contents - [Quickstart (60 seconds)](#quickstart-60-seconds) - [Self-host on a server](#self-host-on-a-server) · [Deploy on Redu Cloud](#deploy-on-redu-cloud) - [Integrations: LangChain, LangGraph, CrewAI, LiveKit, OpenClaw, MCP](#integrations-langchain-langgraph-crewai-livekit-openclaw-mcp) - [Connect your agent](#connect-your-agent) - [What it does](#what-it-does) - [Audit trail, agent auditability and EU AI Act Article 12](#audit-trail-agent-auditability-and-eu-ai-act-article-12) - [How it works](#how-it-works) - [Use with your AI assistant (MCP)](#use-with-your-ai-assistant-mcp) - [ZizkaDB vs Langfuse, LangSmith and Mem0](#zizkadb-vs-langfuse-langsmith-and-mem0-causality-not-just-traces-or-recall) - [Cloud, FAQ and docs](#more) - [Downloads](#downloads) - [Contributors](#contributors) --- ## Quickstart (60 seconds) One command, one container. No repo clone, no Python, no config files.

Self-hosted quickstart: one curl command starts the open-source ZizkaDB database on Postgres and prints an AI agent causal chain

**1. Run it.** With [Docker](https://docs.docker.com/get-docker/) running: ```bash curl -fsSL https://raw.githubusercontent.com/ZIZKA-AI-SL/ZizkaDB/main/scripts/quickstart-remote.sh | bash ``` This pulls a single image (Postgres, the API and the dashboard together), starts it, and logs a demo agent run. After the download, startup takes a few seconds. **2. See why.** It prints the causal chain behind the demo agent's tool call: ```text tool_call · lookup_order · ORD-8842 └── llm_response · gpt-4o └── user_message · Why was my order delayed? ``` **3. Explore.** The dashboard opens on that agent, already signed in: [localhost:3001/dashboard/activity?agent=support-bot](http://localhost:3001/dashboard/activity?agent=support-bot). Click any event → **Why? (causal)** tab. Now log your own agent: `pip install zizkadb-sdk`, then see [CONNECT.md](CONNECT.md). The local API is `http://localhost:8000` with key `zizkadb_dev_local`.
Prefer plain docker run? Day-two commands The script is a wrapper around this: ```bash docker run -d --name zizkadb -e ENV=development \ -p 127.0.0.1:8000:8000 -p 127.0.0.1:3001:3001 \ -v zizkadb_data:/data ghcr.io/zizka-ai-sl/zizkadb ``` | Do this | Command | |---------|---------| | Stop / start | `docker stop zizkadb` / `docker start zizkadb` | | Logs | `docker logs -f zizkadb` | | Upgrade (keeps data) | re-run the quickstart command | | Erase everything | `docker rm -f zizkadb && docker volume rm zizkadb_data` | | Dashboard port busy | `ZIZKADB_DASHBOARD_PORT=3005` before the quickstart command |
The single container has two modes: - **On your own machine** (`-e ENV=development`, what the quickstart uses): one-click sign-in and a well-known API key, with the ports bound to `127.0.0.1` only. - **On a server** (the default, production mode): the container generates its own secrets on first start, and the dashboard and API share port 3001. Sign in with the admin token: ```bash docker run -d --name zizkadb -p 3001:3001 -v zizkadb_data:/data ghcr.io/zizka-ai-sl/zizkadb docker exec zizkadb sed -n 's/^GEN_SELFHOST_ADMIN_TOKEN=//p' /data/secrets.env # your admin token ``` Put it behind HTTPS, and set `ZIZKADB_PUBLIC_URL=https://your-domain` so the links it generates are correct. If a reverse proxy on the same host forwards to it, add `-e TRUSTED_PROXIES=127.0.0.1,::1,172.16.0.0/12` so sign-in rate limits see each visitor. The single container runs without Qdrant: search and `context_for()` use keyword search there (no setup, no OpenAI key). For vector search, use the full stack below with embeddings on. The self-hosted dashboard is just your dashboard: no signup, no email, no account. Accounts and plans exist only on [ZizkaDB Cloud](https://db.zizka.ai). Self-hosted is single-agent: the first agent name you log with becomes your agent, and a second name is rejected with a message naming it. The `support-bot` demo agent does not count. For several agents, use [ZizkaDB Cloud](https://db.zizka.ai). ### Self-host from a clone The full stack (Postgres, Qdrant, Redis, API, dashboard as separate containers) — use this for development, vector search, or production. It generates random database, Redis and Qdrant passwords on first setup: ```bash git clone https://github.com/ZIZKA-AI-SL/ZizkaDB.git && cd ZizkaDB bash scripts/setup-local.sh ``` | Service | URL | |---------|-----| | API | http://localhost:8000 | | Dashboard | http://localhost:3001 | | Swagger | http://localhost:8000/swagger | ### Self-host on a server On a machine other people can reach: ```bash cp .env.example infra/.env bash scripts/init-secrets.sh # random Postgres, Redis, Qdrant and JWT secrets ``` Then set these in `infra/.env` before starting the stack: ```bash ENV=production # turns off the one-click button and dev API keys DEV_API_KEY= # must not be the default, or the API refuses to start DEPLOYMENT_MODE=self_hosted SELFHOST_ADMIN_TOKEN= # python -c "import secrets; print(secrets.token_urlsafe(32))" ``` Optional: `EVENT_RETENTION_DAYS` (delete old events), `METRICS_TOKEN` (Prometheus `/metrics`), `REDACT_PATTERNS` (redact emails, phones, cards before storage). Data ports stay on `127.0.0.1`. The dashboard then asks for the admin token instead of showing the one-click button. Without `SELFHOST_ADMIN_TOKEN`, dashboard login stays disabled. Everyone who has the token signs in to the same single owner workspace. Check your config with `bash scripts/validate-selfhost-config.sh --production`. Full steps: [wiki/Self-Hosting](https://github.com/ZIZKA-AI-SL/ZizkaDB/wiki/Self-Hosting). ### Deploy on Redu Cloud [![Deploy on Redu Cloud](https://img.shields.io/badge/Deploy%20on-Redu%20Cloud-2563eb)](redu.md) [Redu Cloud](https://redu.cloud) is ZizkaDB's recommended cloud for the open-source edition. With the redu MCP added to your coding agent, ask it to "Deploy https://github.com/ZIZKA-AI-SL/ZizkaDB to redu". The agent follows [redu.md](redu.md): the single container on one VM, the dashboard and API on one HTTPS URL, and your data kept in a volume. Then sign in with the admin token, create your API key in Settings, and set `ZIZKADB_HOST` and `ZIZKADB_API_KEY` in your agent. Full guide: **[DEVELOPMENT.md](DEVELOPMENT.md)** · Troubleshooting: [wiki/Troubleshooting.md](wiki/Troubleshooting.md) · What ZizkaDB sends: [docs/telemetry.md](docs/telemetry.md) --- ## Integrations: LangChain, LangGraph, CrewAI, LiveKit, OpenClaw, MCP Works with the agent framework you already use — add one package and every step is logged with its cause. **In CI (GitHub Marketplace):** [ZizkaDB Why](https://github.com/marketplace/actions/zizkadb-why-explain-ai-agent-failures) explains agent test failures in your PR, and [ZizkaDB Audit](https://github.com/marketplace/actions/zizkadb-audit-verify-ai-agent-history) proves the recorded history is intact. One step, no account: `uses: ZIZKA-AI-SL/zizkadb-why-action@v1`. [How it works](docs/integrate/github-actions.md).

Python    TypeScript    LangChain    CrewAI    LiveKit    OpenClaw    MCP    REST API

IntegrationInstallWhat you get
 Python pip install zizkadb-sdk Any Python agent
 TypeScript npm install zizkadb-sdk Any JavaScript / TypeScript agent
 LangChain pip install zizkadb-langchain Drop-in callback handler
 LangGraph pip install zizkadb-langgraph Every graph node logged with its parent
 CrewAI pip install zizkadb-crewai Crew logger for your agents
 LiveKit pip install zizkadb-livekit Voice agents — one call, one session
 OpenClaw openclaw plugins install clawhub:@zizka-ai/zizkadb Plugin: every message, tool call and model output, with its cause
 MCP uvx zizkadb-mcp Ask Cursor or Claude why
 REST API Swagger docs Any language
Click a name for its setup guide. New project? Scaffold one with `zizkadb init my-agent --template basic`. --- ## Connect your agent ```python import asyncio from zizkadb import ZizkaDB async def main(): async with ZizkaDB(host="http://localhost:8000") as db: user = await db.log(agent="my-bot", event="user_message", data={"text": "Why is my order late?"}) tool = await db.log(agent="my-bot", event="tool_call", data={"tool": "lookup_order"}, parent_id=user.event_id) (await db.why(tool.event_id)).print() asyncio.run(main()) ```
TypeScript ```ts import { ZizkaDB } from 'zizkadb-sdk' const db = new ZizkaDB({ host: 'http://localhost:8000' }) const user = await db.log({ agent: 'my-bot', event: 'user_message', data: { text: 'Why is my order late?' } }) const tool = await db.log({ agent: 'my-bot', event: 'tool_call', data: { tool: 'lookup_order' }, parentId: user.eventId }) ;(await db.why(tool.eventId)).print() ``` Or record every LLM call: `instrument(db, { agent: 'my-bot', clients: [openai, anthropic] })`, or wrap any Vercel AI SDK model with `zizkadbMiddleware(db, { agent: 'my-bot' })`.
**Or record every LLM call with one line** (Python): OpenAI and every OpenAI-compatible API (DeepSeek, GLM, Kimi, Qwen, Groq, Ollama, vLLM, ...), Anthropic, Google Gemini, Mistral, Cohere, AWS Bedrock, the native `ollama` package, LiteLLM, and models run in-process with `llama-cpp-python` or Hugging Face `transformers`: ```python import zizkadb from zizkadb import ZizkaDB zizkadb.instrument(ZizkaDB(host="http://localhost:8000"), agent="my-bot") # Use OpenAI, Anthropic or LiteLLM as usual: every call, tool call and tool # result is recorded with its cause, plus token usage. No db.log() needed. ``` From the terminal: `zizkadb why `, or turn a bad session into a pytest regression test with `zizkadb test from-session --agent my-bot`. Full guide: **[CONNECT.md](CONNECT.md)** --- ## What it does Use ZizkaDB to **audit AI agents** in production, debug them from cause to effect, and give them persistent **LLM memory** across runs. | | Function | What you get | | --- | --- | --- | | **Debug** | `db.why(event_id)` | The causal chain behind any event | | | `db.at(agent, timestamp)` | What the agent knew at a past moment | | | `db.baseline(agent)` | Drift detection: alerts when behavior shifts from past sessions | | **Causal agent memory** | `db.context_for(agent, task)` | Relevant past events as a prompt block (relevance × importance × recency) | | | `db.search(query, mode=)` | Keyword search out of the box; hybrid keyword + vector with embeddings | | | `db.log(..., supersedes=, importance=)` | Replace an outdated fact; weight what matters | | **Audit** | `db.verify_chain(agent)` | Proof that no event was edited, removed or reordered | | | `db.forget(key, value)` | GDPR erasure, including the search index, leaving a tombstone (no content; its chain link and checksum let someone with database access confirm an exact guessed event) | | | `db.export_events(agent)` / `db.import_events(...)` | Portable NDJSON copy; move between self-host and Cloud | | **Operate** | `db.log(..., idempotency_key=)` / `db.log_batch(events)` | Safe retries; up to 500 events per request | | | `db.iter_events(agent)` | Every event, cursor-paged | | | Server settings | Retention, redaction, read-only and expiring keys, `/metrics`, backup and restore | ### Audit trail, agent auditability and EU AI Act Article 12 Article 12 of the EU AI Act requires high-risk AI systems to automatically keep logs of what they did. ZizkaDB gives you that record, so an agent audit can check exactly what each agent did and why: - **Checksum-backed decision logs.** Every event is stored with a SHA-256 checksum over its content and audit fields (agent, session, parent, timestamp, sequence), and `GET /v1/events/verify` reports any row whose fields no longer match. Events are also hash-chained per agent, so `GET /v1/events/chain` proves no event was removed, inserted or reordered (GDPR deletions leave a content-free tombstone). - **Causally linked history.** Each decision points to the event that caused it, so an auditor can follow the full chain. - **Session replay.** Step through any past session event by event. - **Time-travel debugging.** Rebuild exactly what the agent knew at any moment with `db.at()`. - **Agent drift measurement.** `db.baseline()` gives a drift score and flags when an agent starts behaving differently from its history. ZizkaDB supports your record-keeping obligations under EU AI Act Article 12 and is one building block of **EU AI Act compliance**; it doesn't make a system compliant on its own.

ZizkaDB dashboard: causal chain of an AI agent decision, tamper-evident audit log and agent memory

--- ## How it works ```mermaid flowchart LR A[Your agent
SDK · LangChain · CrewAI · LiveKit · OpenClaw] -->|events + parent_id| B[ZizkaDB API] D[Dashboard] --> B M[MCP server
Cursor · Claude] --> B B --> P[(PostgreSQL
events · hash chain · keyword search)] B -.->|embeddings on| Q[(Qdrant
vector search)] B --> R[(Redis
cache · rate limits)] ``` - **Postgres is the source of truth.** Every event stores its parent (`why()` is one recursive query), its checksum and its link in the agent's hash chain. Keyword search is Postgres full-text search, so search works with nothing else installed. - **Qdrant is optional.** With embeddings on (OpenAI or a local model), events are also indexed for vector search, and search becomes hybrid. Design decisions: [docs/adr/](docs/adr/). --- ## Use with your AI assistant (MCP) Ask Cursor or Claude *"why did support-bot call lookup_order?"* and get the chain back. Add this to your MCP config: ```json { "mcpServers": { "zizkadb": { "command": "uvx", "args": ["zizkadb-mcp"], "env": { "ZIZKADB_HOST": "http://localhost:8000" } } } } ``` For ZizkaDB Cloud, use `ZIZKADB_API_KEY` instead. Setup for each client: [mcp/README.md](mcp/README.md). The MCP server is MIT-licensed; everything else is AGPL-3.0 ([NOTICE](NOTICE)). --- ## ZizkaDB vs Langfuse, LangSmith and Mem0: causality, not just traces or recall LLMOps and AI observability platforms such as Langfuse and LangSmith **observe** span trees. Memory layers such as Mem0 **recall** facts. ZizkaDB **records why** each decision happened, keeps it as **auditable memory**, and lets you **prove** the record is intact. Use it alongside a tracer if you already have one. | | ZizkaDB | LLM tracing tools | Agent memory layers | | --- | :---: | :---: | :---: | | Explicit cause → effect links | ✅ | Span nesting | — | | One-call root cause (`db.why()`) | ✅ | Manual trace reading | — | | Time-travel to past agent state | ✅ | — | — | | Memory for future runs (`db.context_for()`) | ✅ | — | ✅ | | Tamper-evident hash chain, verifiable in one call | ✅ | — | — | | GDPR erasure that leaves proof (tombstones) | ✅ | — | — | | Self-hosted search with no LLM key | ✅ | — | — | — means not a core feature of that category; check each tool for specifics. ---
Managed cloud (Pro / Team) The same features, hosted at [db.zizka.ai](https://db.zizka.ai). No Docker to maintain. | | **Pro** | **Team** | | --- | --- | --- | | Price | €29 / mo | €69 / mo | | Events / mo† | 50k | 100k | | API keys | 2 | 5 | [Sign up →](https://db.zizka.ai/signup/plan) † Plan targets on managed cloud; not enforced in API yet. See [docs/README.md](docs/README.md#plan-limits-honest).
FAQ **What is ZizkaDB?** An open-source database built for AI agents. It records every agent action as an event linked to the event that caused it, so you can see why a decision was made (`why()`), what the agent knew at any past moment (`at()`), and prove the history wasn't changed (`verify_chain()`). It's the record of what the agent actually did, independent of the LLM. **Is ZizkaDB free?** Self-hosting is free and open source (AGPL-3.0; the MCP server is MIT): one agent with one API key, data on your own servers. [ZizkaDB Cloud](https://db.zizka.ai) is the paid managed service, with multiple agents, agent fleets and agent-to-agent message recording. **Does ZizkaDB need an OpenAI key?** No. Keyword search works with no embedding provider. Semantic and hybrid search can embed locally, use OpenAI, or use your own key. **Do I need to clone this repo?** No. The curl quickstart downloads config and Docker images only. **Do I need an API key locally?** No. `http://localhost:8000` uses a built-in dev key. **Do I need an OpenAI key?** No. Logging, `why()`, time travel, keyword search and `context_for()` work without one. Add an OpenAI key, or run a local embedding model (`EMBEDDINGS_PROVIDER=local` with Ollama, LM Studio or vLLM), for hybrid vector search. **How is ZizkaDB different from an agent memory layer like Mem0?** A memory layer stores facts to recall. ZizkaDB stores what the agent did and *why*, linked step by step, and serves the relevant part back as memory (`context_for()`). The same record is a tamper-evident audit log, so memory, debugging and compliance come from one source. **Is ZizkaDB an agentic database?** Yes. ZizkaDB is an agentic database: an operational database for AI agents rather than a general-purpose store. Its records are built for agent auditability: causal links, SHA-256 checksums and a hash chain, which together act as cryptographic telemetry for AI agents. **Is ZizkaDB an observability tool?** No. Observability and LLMOps tools such as Langfuse or LangSmith show you span trees of what happened. ZizkaDB is an auditability platform: every event points to the event that caused it, `db.why()` returns the chain, and `db.verify_chain()` proves the record was never changed. It works next to an observability tool if you already have one. **Can I use ZizkaDB as an audit log for the EU AI Act (Article 12)?** Yes, as the record-keeping part: every event is checksummed and hash-chained per agent, `verify_chain()` proves nothing was edited, removed or reordered, and GDPR erasure leaves a tombstone. It supports your obligations and is part of EU AI Act compliance work; it doesn't make a system compliant on its own. **How do I prove the logs weren't changed?** `db.verify_chain(agent)` (or `GET /v1/events/chain`) rechecks every checksum and link and returns the chain head. Store the head somewhere else; checking again later from that head proves nothing before it was rewritten. **My server's login page asks for an admin token. Where is it?** A server install generates one on first start. Single container: `docker exec zizkadb sed -n 's/^GEN_SELFHOST_ADMIN_TOKEN=//p' /data/secrets.env`. Full stack: the `SELFHOST_ADMIN_TOKEN` you set in `infra/.env`. After signing in, create your API key in **Settings**. **Where does my data go?** When you self-host, everything stays on your machine. The server and dashboard make no outside requests; the SDKs send one anonymous install ping, which `ZIZKADB_TELEMETRY=false` turns off. Details: [docs/telemetry.md](docs/telemetry.md). **`zizkadb demo` says connection refused?** The stack isn't running. Start it with the curl command above or `bash scripts/setup-local.sh`.
Docs & community | | | | --- | --- | | Worked example | [worked/01-support-order-delay](worked/01-support-order-delay/) | | Examples | [examples/](examples/) | | Self-hosting | [DEVELOPMENT.md](DEVELOPMENT.md) · [wiki/Self-Hosting](https://github.com/ZIZKA-AI-SL/ZizkaDB/wiki/Self-Hosting) | | Integrate any agent | [docs/integrate/](docs/integrate/) | | Issues · Discussions | [Issues](https://github.com/ZIZKA-AI-SL/ZizkaDB/issues) · [Discussions](https://github.com/ZIZKA-AI-SL/ZizkaDB/discussions) | | Security | [SECURITY.md](SECURITY.md) | | AI-assisted development | [AGENTS.md](AGENTS.md) |
## Downloads All-time downloads of every ZizkaDB package, refreshed daily. The total badge at the top is the sum of these. | Package | Registry | Downloads | Source | | --- | --- | --- | --- | | `zizkadb-sdk` (Python SDK) | PyPI | [![zizkadb-sdk](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FZIZKA-AI-SL%2FZizkaDB%2Fbadges%2Fdownloads-pypi-zizkadb-sdk.json)](https://pepy.tech/projects/zizkadb-sdk) | [pepy.tech](https://pepy.tech/projects/zizkadb-sdk) · [pypi.org](https://pypi.org/project/zizkadb-sdk/) | | `zizkadb-mcp` (MCP server) | PyPI | [![zizkadb-mcp](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FZIZKA-AI-SL%2FZizkaDB%2Fbadges%2Fdownloads-pypi-zizkadb-mcp.json)](https://pepy.tech/projects/zizkadb-mcp) | [pepy.tech](https://pepy.tech/projects/zizkadb-mcp) · [pypi.org](https://pypi.org/project/zizkadb-mcp/) | | `zizkadb-langchain` | PyPI | [![zizkadb-langchain](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FZIZKA-AI-SL%2FZizkaDB%2Fbadges%2Fdownloads-pypi-zizkadb-langchain.json)](https://pepy.tech/projects/zizkadb-langchain) | [pepy.tech](https://pepy.tech/projects/zizkadb-langchain) · [pypi.org](https://pypi.org/project/zizkadb-langchain/) | | `zizkadb-crewai` | PyPI | [![zizkadb-crewai](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FZIZKA-AI-SL%2FZizkaDB%2Fbadges%2Fdownloads-pypi-zizkadb-crewai.json)](https://pepy.tech/projects/zizkadb-crewai) | [pepy.tech](https://pepy.tech/projects/zizkadb-crewai) · [pypi.org](https://pypi.org/project/zizkadb-crewai/) | | `zizkadb-sdk` (TypeScript SDK) | npm | [![zizkadb-sdk npm](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FZIZKA-AI-SL%2FZizkaDB%2Fbadges%2Fdownloads-npm-zizkadb-sdk.json)](https://npm-stat.com/charts.html?package=zizkadb-sdk) | [npm-stat.com](https://npm-stat.com/charts.html?package=zizkadb-sdk) · [npmjs.com](https://www.npmjs.com/package/zizkadb-sdk) | | `@zizka-ai/zizkadb` (OpenClaw plugin) | ClawHub | [![zizkadb ClawHub](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FZIZKA-AI-SL%2FZizkaDB%2Fbadges%2Fdownloads-clawhub-zizka-ai-zizkadb.json)](https://clawhub.ai/plugins/@zizka-ai/zizkadb) | [clawhub.ai](https://clawhub.ai/plugins/@zizka-ai/zizkadb) | | `zizkadb-openclaw` (OpenClaw plugin) | npm | [![zizkadb-openclaw npm](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FZIZKA-AI-SL%2FZizkaDB%2Fbadges%2Fdownloads-npm-zizkadb-openclaw.json)](https://npm-stat.com/charts.html?package=zizkadb-openclaw) | [npm-stat.com](https://npm-stat.com/charts.html?package=zizkadb-openclaw) · [npmjs.com](https://www.npmjs.com/package/zizkadb-openclaw) | --- ## Contributors Thanks to everyone who has helped build ZizkaDB. Want to join? Read [CONTRIBUTING.md](CONTRIBUTING.md) or pick up an [open issue](https://github.com/ZIZKA-AI-SL/ZizkaDB/issues).
saadamjad
saadamjad
Zizka-ai
Zizka-ai
arshadgit23
arshadgit23
rajandevkota98
rajandevkota98
Subhajitdas99
Subhajitdas99
saadwashmen
saadwashmen
VarunGore36
VarunGore36
mikeaig4real
mikeaig4real
aqilaziz
aqilaziz
pingkui
pingkui
AIandI0x1
AIandI0x1
lamenting-hawthorn
lamenting-hawthorn
nabeeltahirdeveloper
nabeeltahirdeveloper
s0sta
s0sta
abdurrehman616
abdurrehman616
danielhagever
danielhagever
eaz1337
eaz1337
HafizHamzaShahid
HafizHamzaShahid
mbilalzeeshan
mbilalzeeshan
nabeeltahirpsy
nabeeltahirpsy
AbdelazizBs
AbdelazizBs
Mephistopheles9631
Mephistopheles9631
Qalbeabbas-12
Qalbeabbas-12
towfiq-ul
towfiq-ul
---

AGPL-3.0 · MCP server MIT · Disable telemetry: export ZIZKADB_TELEMETRY=false
This repo is the open-source self-host stack. The operator console and VPC deploy live in a private repo (why).