Start here
MemoryNode is one memory infrastructure layer for AI apps: store facts once, retrieve them on every turn.
Goal: get your first memory working in 5 minutes (console → SDK recall with the same owner id).
Golden path (recommended)
- Console quickstart — sign in, save sample memory, run sample search.
- Copy your API key from the flow (or Settings → API keys).
- Run the SDK quickstart with the same owner id (
default-userunless you setMEMORYNODE_USER_ID).
export MEMORYNODE_API_KEY="mn_live_..."
export MEMORYNODE_USER_ID="default-user" # match console onboarding unless you chose another id
import { MemoryNode } from "@memorynodeai/sdk";
const memory = new MemoryNode(process.env.MEMORYNODE_API_KEY!);
const ownerId = process.env.MEMORYNODE_USER_ID ?? "default-user";
await memory.remember("User prefers bullet points.", { ownerId });
const hits = await memory.recall("how should I format answers?", { ownerId, explain: true });
Other paths
| Path | Best for | Time |
|---|---|---|
| Console quickstart | Fastest — no local setup | ~5 min |
| SDK quickstart | Node/TypeScript apps | ~5 min |
| Node HTTP quickstart | curl-style, any language | ~5 min |
| Python quickstart | Python backends | ~5 min |
| MCP | Cursor, Claude Desktop, agents | ~5 min |
Owner id (important)
All memories are scoped by user_id / owner_id. If you omit it, the API and SDK default to default-user. Use the same id in the console, SDK, and HTTP examples or search will look empty.
Next reads
- Demos — companion, support, or SaaS copilot examples
- Integration — the two REST calls every product uses
- Pricing — plans, trial, PayU checkout
- Debugging — ranking and dedupe signals
- Troubleshooting — auth, 402, empty search
- TypeScript SDK