The same contract
The MCP tools accept exactly what the HTTP routes accept — nothing more. Provenance is required on writes, and the tool descriptions instruct agents not to act on unconfirmed memory.
ContextDB Cloud exposes its memory tools through the Model Context
Protocol. Any MCP-capable agent runtime — coding agents, desktop
assistants, orchestration frameworks — gets remember,
recall, and the recall_for_action gate without
an SDK integration.
Why it matters
Teams rarely run one runtime. A support agent in Python, an internal assistant on a desktop client, a workflow bot in TypeScript — each remembers things about the same users. Over MCP they share one memory with one trust policy, and every consequential action passes the same act / ask / abstain gate, recorded in the same decision log.
The MCP tools accept exactly what the HTTP routes accept — nothing more. Provenance is required on writes, and the tool descriptions instruct agents not to act on unconfirmed memory.
Every tool call authenticates your project key and runs against a runtime scoped to your org, project, and the user partition in the call. There is no way to name someone else's scope.
recall_for_action over MCP returns
act, ask, or abstain in the
structured result, plus the pending memory IDs an agent should
surface for confirmation.
Connect
The endpoint is stateless JSON-RPC over HTTP. Authenticate with your
project key; the tools appear in tools/list.
{
"mcpServers": {
"contextdb": {
"url": "https://<your-gateway-host>/mcp",
"headers": { "Authorization": "Bearer cdb_…" }
}
}
}
Tools: remember, recall,
recall_for_action, pending_confirmations,
confirm. The endpoint handles single JSON-RPC objects and
returns JSON; it is part of the hosted alpha and is not production-ready.
The loop
When the gate answers ask, the agent surfaces the pending
fact to the user. On a yes, the agent calls confirm and the
fact passes the gate from then on. Confirmation records that an actor
attested — it does not prove objective truth, and the decision log keeps
the evidence either way.
tools/call recall_for_action {"user_id": "caller-1", "query": "book Friday"}
→ {"outcome": "ask", "memories": [], "pending_confirmation_ids": ["…"]}
# the agent asks; the user says yes
tools/call confirm {"user_id": "caller-1", "memory_id": "…"}
→ {"memory": {"confirmed": true, …}}
tools/call recall_for_action {"user_id": "caller-1", "query": "book Friday"}
→ {"outcome": "act", "memories": […]}
Start with the quickstart, then connect your MCP clients.