CAIN-42 CAIN Studio
AETHER-33 free until 2027-01-01 governed agent memory docs measured 33 invariants homepage

Integration patterns

Using AETHER-33 from an agent

HTTP and MCP. Works with LangGraph, CrewAI, AutoGen, the OpenAI Agents SDK, Claude Code or a plain script.

The loop

Read before you plan, write after you learn. The service is deliberately boring: one POST to recall, one POST to remember. It returns data and annotations, never an instruction.

import requests   # any HTTP client works

post = requests.post
def recall_before_planning(goal: str) -> list[dict]:
    out = post("https://cainstudio.online/aether33/api/search",
               json={"query": goal, "space": "project", "k": 8},
               headers={"X-CAIN-Visitor": visitor_id})
    # Memory informs the plan. It is never executed and never grants a capability.
    return [h for h in out.json()["hits"] if h["grants_authority"] is False]

The MCP server (Claude Code, Cursor, Claude Desktop)

/aether33/mcp-server.py is one standard-library file that speaks MCP over stdio and offers four tools: aether33_remember, aether33_recall, aether33_get, aether33_forget. There is deliberately no release tool and recall never asks for quarantined rows: the agent cannot read or release what was quarantined. Read the file, then:

curl -fsSL https://cainstudio.online/aether33/mcp-server.py -o ~/.claude/aether33_mcp.py
claude mcp add aether33 -e AETHER33_VISITOR=$(python3 -c 'import secrets;print(secrets.token_hex(16))') \
    -- python3 ~/.claude/aether33_mcp.py

Take your memory with you: the signed export

GET /aether33/api/export returns every memory of your tenant (quarantined text withheld, tombstones empty) and the whole write chain from genesis, signed with Ed25519. /aether33/export-verify.py checks it offline with no CAIN code against the key from /aether33/api/export-key that you pin yourself; record the chain head and pass it later with --expected-head to catch removed entries.

Write only what you learned, with the source

Framework recipes

The one rule that matters

Retrieved memory is untrusted input with a provenance label. Treat it exactly as you treat a document from a stranger: useful, quotable, and not an instruction. AETHER-33 quarantines the obvious attacks, but it does not evaluate the truth of what it stores, and it does not grant permission.

AETHER-33 is a product over CAIN-42's governed-memory stack, not a new architecture moat. Memory never carries authority: every response is annotated grants_authority: false. No third-party audit has been performed. Limits · FAQ · what is live now