SurrealDB Agent Memory connects to agents through HTTP, MCP, official SDKs, and harness adapters that mirror conversation turns into POST /api/v1/{context_id}/facts/batch, using the same provenance and trust model as the server.
The REST surface is described by an OpenAPI specification. The Python, TypeScript, Swift, and Kotlin clients track that spec so request and response shapes stay aligned with the server.
MCP server (coding assistants)
The server serves native MCP at /mcp on the api port, with the same Authorization: Bearer auth as REST. Prefer this when the client already speaks MCP. Point the client at your instance's /mcp endpoint, or install it with install-mcp:
npx install-mcp https://<your-context-host>/mcp \
--client cursor \
--header "Authorization: Bearer <your-api-key>" --oauth no→ MCP server install · Per-client guides: Claude · Cursor · VS Code · JetBrains · JetBrains Air · Zed · Windsurf · Codex · Antigravity · OpenCode
SDKs
Call SurrealDB Agent Memory directly from application code.
| Language | Package |
|---|---|
| Dart | surrealdb from the surrealdb.dart git repository (import memory.dart) |
| Elixir | :surrealdb from the surrealdb.elixir git repository (SurrealDB.Memory) |
| Go | memory package in surrealdb.go |
| Haskell | surrealdb-memory |
| JavaScript / TypeScript | @surrealdb/memory |
| Kotlin | bundled in com.surrealdb:kotlin |
| Python | surrealdb-memory, installed with the surrealdb[memory] extra |
| Swift | AgentMemory product in surrealdb.swift |
→ Dart · Elixir · Go · Haskell · JavaScript & TypeScript · Kotlin · Python · Swift
AI SDKs
These integrations add memory to the popular TypeScript AI SDKs by wrapping recall and storage around your model calls.
Cloudflare Workers AI: the client inside a Worker, alongside Workers AI models.
TanStack AI: the
@surrealdb/memoryclient in TanStack Start server routes.Vercel AI SDK:
@surrealdb/agent-memory-vercel-ai, viawrapLanguageModelmiddleware and a tool set.
→ Cloudflare Workers AI · TanStack AI · Vercel AI SDK
Agent frameworks
Harness adapters expose SurrealDB Agent Memory as agent tools and add automatic per-turn memory, without changing your prompts. The Python adapters are not published on PyPI. Install each one from its GitHub repository, for example pip install "git+https://github.com/surrealdb/agent-memory-crew-ai".
| Framework | Package | Language |
|---|---|---|
| CrewAI | agent-memory-crew-ai | Python |
| Eve | @surrealdb/agent-memory-eve | TypeScript |
| Google ADK | agent-memory-google-adk | Python |
| Hermes Agent | agent-memory-hermes | Python |
| LangChain / LangGraph | @surrealdb/langchain, @surrealdb/langgraph | TypeScript |
| Mastra | @surrealdb/mastra-ai | TypeScript |
| OpenAI Agents SDK | agent-memory-openai-agents-sdk | Python |
| OpenClaw | @surrealdb/agent-memory-openclaw | TypeScript |
| Pydantic AI | agent-memory-pydantic-ai | Python |
| Strands Agents | agent-memory-strands-agents | Python |
→ CrewAI · Eve · Google ADK · Hermes Agent · LangChain · Mastra · OpenAI Agents SDK · OpenClaw · Pydantic AI · Strands Agents
Frameworks without a dedicated package integrate directly through the SDK.
→ Agno · AutoGen · Camel AI · LlamaIndex
Voice & realtime
Give voice agents memory that persists across calls.
→ ElevenLabs · LiveKit · Gradium
Automation
n8n: the
@surrealdb/n8n-nodes-surrealdbcommunity node, plus SurrealDB Agent Memory over the REST API.Zo Computer: a Zo skill that calls the SurrealDB Agent Memory SDK for recall and storage.
→ n8n · Zo Computer
Observability
Run SurrealDB Agent Memory for memory while an observability platform traces and evaluates the agent.
REST API
Call the API over HTTP from any language. Routes live under /api/v1/{context_id}/… on your context host.
→ REST integration guide · Full reference
Not shipped yet
Embedded in-process library: use REST or an SDK against a deployed instance (Embedded quickstart).
Filesystem view: browsing a context as though it were a filesystem through MCP resources is planned. The MCP server does not provide it yet.
MCP tools
MCP tools reference - every tool the MCP server publishes, and what each takes