Skip to main content

ZDRAVO AI

Governed Context Runtime for AI Agents

PRODUCT

  • Features
  • Pricing
  • Integrations
  • Changelog

DEVELOPERS

  • API Docs
  • SDK Guide
  • MCP Server
  • Status

COMPANY

  • About
  • Blog
  • Careers
  • Contact

LEGAL

  • Privacy
  • Terms
  • Security
  • Compliance

© 2026 Zdravo AI. All rights reserved.

PrivacyTermsComplianceSecurity
Developers

Build on Zdravo

The persistent memory implementation for the Model Context Protocol ecosystem.

Every Zdravo capability — search, context, decisions, audit — is available as a first-class REST endpoint or MCP tool.

Quick Start

1

Get your API key

Sign up and generate an API key from your dashboard. Keep it secure — never expose it client-side.

2

Call the API

Use X-API-Key header or Bearer token. Every endpoint returns JSON.

3

Connect via MCP

Add the Zdravo MCP server to Claude, Cursor, or Windsurf. One config line, persistent memory for every agent.

API Endpoints

Base URL: https://www.zdravo.ai/api/v1
POST/memoriesStore a memory with full context
GET/memoriesList memories with pagination
POST/recallSemantic retrieval with trust scoring
POST/searchFull-text + vector search
POST/contextRetrieve governed context chain
POST/decisionLog an AI-assisted decision receipt
GET/decision/:idRetrieve a decision receipt
GET/timelineProvenance chain for a memory
GET/auditTamper-evident audit log

Full OpenAPI spec available at zdravo.ai/openapi.yaml

Code Examples

Every endpoint. Real requests. Copy, paste, run.

POST /memoriesRemember
curl -X POST https://www.zdravo.ai/api/v1/memories \
  -H "X-API-Key: $ZDRAVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Architecture decision: Supabase for auth",
    "content": "We chose Supabase for user auth because RLS + hosted Postgres gives us row-level security without building it ourselves.",
    "tags": ["architecture", "auth", "supabase"],
    "memory_type": "semantic",
    "visibility": "shared"
  }'
POST /recallRecall
curl -X POST https://www.zdravo.ai/api/v1/recall \
  -H "X-API-Key: $ZDRAVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "auth architecture decisions",
    "limit": 10,
    "threshold": 0.72
  }'
POST /contextContext
curl -X POST https://www.zdravo.ai/api/v1/context \
  -H "X-API-Key: $ZDRAVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "Why did we choose Supabase over Firebase?",
    "limit": 10,
    "include_decisions": true,
    "depth": 2
  }'
POST /decisionDecision
curl -X POST https://www.zdravo.ai/api/v1/decision \
  -H "X-API-Key: $ZDRAVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "decision": "Use pgvector for semantic search",
    "reason": "Native Postgres extension, no separate vector DB needed",
    "memory_ids_used": ["mem_abc123"],
    "outcome": "accepted"
  }'
GET /timelineProvenance
curl "https://www.zdravo.ai/api/v1/timeline?memory_id=mem_abc123&limit=20" \
  -H "X-API-Key: $ZDRAVO_API_KEY"
GET /auditAudit
curl "https://www.zdravo.ai/api/v1/audit?action=memory.create&limit=50" \
  -H "X-API-Key: $ZDRAVO_API_KEY"
JavaScript / TypeScript
const ZDRAVO_API = "https://www.zdravo.ai/api/v1";

async function remember(title, content, tags) {
  const res = await fetch(`${ZDRAVO_API}/memories`, {
    method: "POST",
    headers: {
      "X-API-Key": process.env.ZDRAVO_API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ title, content, tags }),
  });
  return res.json();
}

async function recall(query, limit = 10) {
  const res = await fetch(`${ZDRAVO_API}/recall`, {
    method: "POST",
    headers: {
      "X-API-Key": process.env.ZDRAVO_API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ query, limit }),
  });
  return res.json();
}
Python
import os, requests

ZDRAVO_API = "https://www.zdravo.ai/api/v1"
HEADERS = {"X-API-Key": os.environ["ZDRAVO_API_KEY"]}

def remember(title, content, tags=None):
    return requests.post(
        f"{ZDRAVO_API}/memories",
        headers=HEADERS,
        json={"title": title, "content": content, "tags": tags or []},
    ).json()

def recall(query, limit=10):
    return requests.post(
        f"{ZDRAVO_API}/recall",
        headers=HEADERS,
        json={"query": query, "limit": limit},
    ).json()

def context(query, include_decisions=True):
    return requests.post(
        f"{ZDRAVO_API}/context",
        headers=HEADERS,
        json={"query": query, "include_decisions": include_decisions},
    ).json()

MCP Tools

We are building the persistent memory implementation for the Model Context Protocol ecosystem. Every MCP client — Claude, Cursor, Windsurf — gets governed memory in one config line.

zdravo_search

Semantic search across memory

zdravo_save

Persist a memory from any MCP client

zdravo_context

Retrieve governed context for a task

zdravo_decision

Log a decision receipt via MCP

zdravo_timeline

Provenance chain via MCP

zdravo_stats

Per-agent trust and outcome metrics

Set up MCP server →

Full API Reference

Every endpoint, every parameter, every response schema. OpenAPI 3.0 spec. Generate client SDKs in any language.

Ready to build?

Join our developer community. Get early access to the API and help shape the future of AI memory infrastructure.