# ZizkaDB (pypi · zizkadb-mcp)

Causal memory and tamper-evident audit log for AI agents: log, why, search, time travel.

- Trust score: 67/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-04

## Components

- pypi · `zizkadb-mcp`: 67/100 (this document), [markdown](https://verifymcp.io/servers/zizka-ai-sl-zizkadb-mcp/zizkadb-mcp.md), [page](https://verifymcp.io/servers/zizka-ai-sl-zizkadb-mcp/zizkadb-mcp)

## Channel facts

- Registry: `pypi`
- Package: `zizkadb-mcp`
- Version: `0.1.12`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-04.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it.
  - 0 of 28 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 48/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 3 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 67/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1437 tokens (~110/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 71/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
  - Structured output schemas are declared (8% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the ZizkaDB MCP server?

ZizkaDB runs locally as a PyPI package, launched with uvx zizkadb-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add zizka-ai-sl-zizkadb-mcp -- uvx zizkadb-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "zizka-ai-sl-zizkadb-mcp": {
      "command": "uvx",
      "args": [
        "zizkadb-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "zizka-ai-sl-zizkadb-mcp": {
      "command": "uvx",
      "args": [
        "zizkadb-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add zizka-ai-sl-zizkadb-mcp -- uvx zizkadb-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "zizka-ai-sl-zizkadb-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "zizkadb-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add zizka-ai-sl-zizkadb-mcp --command uvx --arg zizkadb-mcp
```

### Hermes

```yaml
mcp_servers:
  zizka-ai-sl-zizkadb-mcp:
    command: "uvx"
    args: ["zizkadb-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "zizka-ai-sl-zizkadb-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "zizkadb-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add zizka-ai-sl-zizkadb-mcp -t stdio -c uvx -a zizkadb-mcp
```

### Other

```json
{
  "mcpServers": {
    "zizka-ai-sl-zizkadb-mcp": {
      "command": "uvx",
      "args": [
        "zizkadb-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-03 (score 67, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-10-31 (score 52)

First indexed and scored.

## MCP tools (13)

### `log_event` (~225 tokens)

Log an event to ZizkaDB.

Use this every time your agent takes an action: a tool call, a decision,
a user message, or an agent response. Logging builds the causal graph
that powers why(), search_memory(), and get_context().

Args:
    agent:      Unique identifier for your agent (e.g. "support-bot"): letters, numbers,
                dots, dashes and underscores, starting with a letter or number
    event:      What happened (e.g. "tool_call", "user_message", "decision")
    data:       Any dict of relevant data (tool name, query, result, etc.)
    session_id: Groups related events into a session (optional)
    parent_id:  event_id of the event that caused this one -- enables causal lineage (optional)

Returns:
    event_id, timestamp, sequence_no, checksum

Input parameters:

- `agent` (string, required)
- `data` (object, required)
- `event` (string, required)
- `parent_id` (string)
- `session_id` (string)

### `reset_log_chain` (~23 tokens)

Start a fresh causal chain (new session_id, clear parent_id).

### `search_memory` (~172 tokens)

Search over all logged agent events.

Finds past decisions, tool calls, conversations, or any event. Works on any
server: keyword search without embeddings, keyword + meaning (hybrid) with
them. Useful before a new task to see what happened in similar situations.

Args:
    query: Natural language description of what you're looking for
    agent: Filter to a specific agent (optional -- leave blank to search all)
    limit: Number of results (default 10, max 50)
    mode:  Leave blank for the server default, or "keyword", "semantic", "hybrid"

Returns:
    List of matching events with relevance scores

Input parameters:

- `agent` (string)
- `limit` (integer)
- `mode` (string)
- `query` (string, required)

### `verify_chain` (~114 tokens)

Prove an agent's history is untouched.

Rechecks every event's checksum and its link in the agent's hash chain.
"intact": true means no event was edited, removed or reordered (GDPR
deletions show up as tombstones, not breaks). Keep "chain_head" as proof
of the history at this moment.

Args:
    agent: The agent whose history to check

Returns:
    intact, a summary, any problems found, and chain_head

Input parameters:

- `agent` (string, required)

### `get_context` (~205 tokens)

Get a formatted memory context block ready to inject into a system prompt.

This is the drop-in replacement for LLM-provided memory (Claude Projects,
ChatGPT memory). It combines recent events with semantically relevant past
events, fits within a token budget, and formats as plain text.

Typical usage:
    context = await get_context("support-bot", "user asking about billing")
    system_prompt = f"You are a support agent.\n\n{context}"

Args:
    agent:      Your agent identifier
    task:       What the agent is about to do (guides semantic retrieval)
    max_tokens: Token budget for the context block (default 2000)
    session_id: Current session ID to exclude from context (optional)

Returns:
    Formatted context string -- paste directly into your system prompt

Input parameters:

- `agent` (string, required)
- `max_tokens` (integer)
- `session_id` (string)
- `task` (string, required)

Output parameters:

- `result` (string)

### `why` (~115 tokens)

Trace the causal chain that led to an event.

Given any event ID, walks back through parent_id links to reconstruct
the full decision tree: user message -> tool call -> result -> response.
Essential for debugging why an agent did something unexpected.

Args:
    event_id: The event you want to explain
    depth:    How many levels back to trace (default 10)

Returns:
    Ordered list of events from root cause to the specified event

Input parameters:

- `depth` (integer)
- `event_id` (string, required)

### `query_events` (~96 tokens)

List recent events for an agent.

Args:
    agent:      Agent identifier to query
    limit:      Number of events to return (default 20)
    event_type: Filter by event type, e.g. "tool_call" (optional)

Returns:
    List of events ordered by time (most recent first)

Input parameters:

- `agent` (string, required)
- `event_type` (string)
- `limit` (integer)

### `time_travel` (~128 tokens)

Replay the exact state of an agent at a specific point in time.

Reconstructs what the agent knew and had done up to that moment.
Useful for investigating complaints ("what did the agent tell them at 3pm?")
or comparing behaviour across versions.

Args:
    agent:     Agent identifier
    timestamp: ISO 8601 datetime, e.g. "2026-05-10T15:00:00Z"

Returns:
    Agent state snapshot at that moment (events, summary, last_event)

Input parameters:

- `agent` (string, required)
- `timestamp` (string, required)

### `get_baseline` (~40 tokens)

Behavioral baseline and drift score for an agent.

Input parameters:

- `agent` (string, required)
- `recent_window` (integer)
- `window` (string)

### `get_token_usage` (~52 tokens)

Token usage and cost report for an agent over a date range.

Input parameters:

- `agent` (string, required)
- `from_` (string, required)
- `granularity` (string)
- `to` (string, required)

### `get_token_optimization` (~51 tokens)

Deterministic token optimization suggestions from real usage events.

Input parameters:

- `agent` (string, required)
- `from_` (string)
- `granularity` (string)
- `to` (string)

### `memory_diff` (~96 tokens)

Summarise what happened in a session.

Returns event counts, types seen, causal depth, whether any errors
occurred, and event types that had never appeared in prior sessions.
Call this at the end of a session to understand what changed.

Args:
    session_id: The session to analyse

Returns:
    summary, event_types, total_events, has_errors, new_event_types

Input parameters:

- `session_id` (string, required)

### `forget` (~120 tokens)

Delete all events matching a filter (GDPR right to erasure).

Removes events from both the database and the vector index.
Commonly used to delete all data for a specific user on request.

Args:
    filter_key:   Field in event data to match (e.g. "user_id", "email", "session_id")
    filter_value: Value to match (e.g. "user_123", "alice@example.com")

Returns:
    deleted_events count

Input parameters:

- `filter_key` (string, required)
- `filter_value` (string, required)

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/zizka-ai-sl-zizkadb-mcp/zizkadb-mcp#diagnostics

## Score history

- 2026-11-04: 67
- 2026-11-03: 67
- 2026-11-02: 52
- 2026-11-01: 52
- 2026-10-31: 52

## Common questions

### What is the ZizkaDB MCP server?

ZizkaDB is an MCP server listed in the public MCP registry as io.github.ZIZKA-AI-SL/zizkadb-mcp. Causal memory and tamper-evident audit log for AI agents: log, why, search, time travel. This page covers its PyPI package (zizkadb-mcp).

### Is the ZizkaDB MCP server safe to use?

ZizkaDB scores 67 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the ZizkaDB MCP server expose?

ZizkaDB exposes 13 tools: log_event, reset_log_chain, search_memory, verify_chain, get_context, and 8 more. Their descriptions and schemas cost roughly 1,437 tokens of context every time the server is loaded.

### Is the ZizkaDB MCP server still maintained?

ZizkaDB is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the ZizkaDB MCP server under?

ZizkaDB declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/zizkadb-mcp/
- Socket report: https://socket.dev/pypi/package/zizkadb-mcp
- Repository: https://github.com/ZIZKA-AI-SL/ZizkaDB
- Website: https://db.zizka.ai/
- Changelog RSS feed: https://verifymcp.io/servers/zizka-ai-sl-zizkadb-mcp/zizkadb-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/zizka-ai-sl-zizkadb-mcp/zizkadb-mcp.json
- HTML version of this page: https://verifymcp.io/servers/zizka-ai-sl-zizkadb-mcp/zizkadb-mcp
