Examples
Python + Anthropic
Add persistent memory to a Claude-powered Python agent in two lines.
1. Install
pip install "coorda[anthropic]"2. Wrap your Anthropic client
One import, one wrap line. Every messages.create() call now reads and writes through Coorda.
import anthropic
from coorda import Coorda
coorda = Coorda(api_key="ck_live_...")
claude = coorda.wrap(anthropic.Anthropic(), agent_id="triage-bot")
response = claude.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Summarize this ticket"}],
coorda={"entity_id": "customer_123"},
)How context is injected
For Anthropic, Coorda prepends prior context to the first user message (since Anthropic's API uses a separate
system parameter). Your agent sees the context without any other changes.Before and after
Without the SDK
import requests, anthropic
COORDA = "https://coorda-app.vercel.app"
H = {"X-API-Key": "ck_live_...", "Content-Type": "application/json"}
def handle(entity_id, user_msg):
prior = requests.get(
f"{COORDA}/api/context/inject",
params={"query": user_msg, "entityId": entity_id},
headers=H,
).json()
content = user_msg
if prior.get("hasContext"):
content = f"{prior['context']}\n\n{user_msg}"
resp = anthropic.Anthropic().messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[{"role": "user", "content": content}],
)
output = resp.content[0].text
requests.post(f"{COORDA}/api/context", headers=H, json={
"taskId": "t1", "entityId": entity_id, "agentId": "triage",
"input": user_msg, "output": output,
})
return outputWith wrap()
import anthropic
from coorda import Coorda
coorda = Coorda(api_key="ck_live_...")
claude = coorda.wrap(anthropic.Anthropic(), agent_id="triage")
def handle(entity_id, user_msg):
resp = claude.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[{"role": "user", "content": user_msg}],
coorda={"entity_id": entity_id},
)
return resp.content[0].textPer-call options
claude.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[...],
coorda={
"entity_id": "customer_123",
"skip_inject": True,
"skip_store": True,
"min_similarity": 0.5,
"limit": 3,
"metadata": {"priority": "high"},
},
)Cross-model memory
A memory stored by a Claude-powered agent is retrievable by an OpenAI-powered agent (and vice versa). Coorda scopes context by
entity_id, not by model.