Choose your integration

Oort reaches your agent four ways: Claude Code hooks, the MCP server, the TypeScript SDK and the CLI. They share one memory, so you can start with one and add another later.

On this page
Four ways into one memoryAn agent or an app uses the Claude Code hooks, the oort mcp server, the TypeScript SDK or the oort CLI. All four read and write the same memory, in ~/.oort or in Oort Cloud.Agent or appyours, or a hostHooks, MCP,SDK or CLIOne memory~/.oort or Oort Cloud

Pick one

Hooks
Who recallsOort, before every prompt. Each finished turn is saved after it.
Where it runsClaude Code only
Best forClaude Code, with nothing to wire up
MCP
Who recallsThe model, when it decides to call recall or remember.
Where it runsAny MCP host or agent framework
Best forClaude Desktop, Codex, Cursor, Gemini CLI, VS Code, Python frameworks
SDK
Who recallsYour code, in its own process.
Where it runsNode.js 22.15 or newer
Best forApps you build, one memory per end user, serverless functions
CLI
Who recallsYour script, one command at a time, with JSON out.
Where it runsAnywhere Node.js 22.15 runs
Best forScripts, jobs, Python today, any other language

Hooks: Claude Code

Setup installs three hooks in Claude Code. One recalls before each prompt and injects what it finds, one queues the finished turn to be saved, and one primes a new session. The model calls nothing, and the chat never waits for a save.

Terminal
oort setup

Start with the quickstart. Setup connects the MCP server too, so the model can also recall on purpose.

MCP: any agent host

oort mcp is a local MCP server with recall, remember, forget and a few more tools. The host starts it, and the model decides when to use them. oort connect <host> writes the entry for you.

Terminal
oort connect cursor

See the guide for your agent under Agents, Any MCP client, or Agent frameworks for LangGraph, the OpenAI Agents SDK and Mastra.

SDK: your own app

createOort() runs the same engine inside your Node.js process, with typed results and errors. Your code decides when to recall and what to save, and scoped() gives each end user a memory of their own.

Terminal
npm i oortmem

Start with the SDK quick start.

CLI: scripts and other languages

Every command takes --json and prints one oort.v1 envelope, so a shell script, a CI job or a Python program can recall and save memories. Each call starts a process.

Terminal
oort recall "how do we deploy?" --json

From Python, see Python today. Every command and flag is in the CLI reference.

Mixing them

  • What the Claude Code hooks saved, Cursor recalls over MCP and your script reads with the CLI: they all use your Planet (see Concepts).
  • An app's end users are kept apart from you. Memories the SDK writes for a user never show up in your own oort recall.