Memory infrastructure that compounds across sessions, models, and agents. store, recall, dream — same shape across Python, Node, CLI, and MCP.
// Five calls. Same shape across Python, Node, CLI, MCP. import { rem } from '@remlabs/sdk'; await rem.store({ key: 'pref_drink', value: 'user prefers cold-brew, oat milk', namespace: 'agent_42', }); const hits = await rem.recall({ query: 'morning routine', namespace: 'agent_42', }); await rem.dream({ strategies: ['consolidate'] });
Dump data with your email. Claim it later. Recall from any terminal. @remlabs/cli is in private beta — the npm package is gated until launch.
# Preview only -- the @remlabs/cli npm package is in private beta. # Request access: https://discord.gg/ux8NYVfK2 # 1. Dump — prompts for email, creates provisional account $ npx @remlabs/cli dump chatgpt ~/Downloads/chatgpt-export.zip # Email: you@example.com # 847 memories stored. # Sign in at remlabs.ai/claim to keep. Deleted after 4 days. # 2. Sign in at remlabs.ai/claim with that email, then: $ npx @remlabs/cli login # 3. Recall — search your memories $ npx @remlabs/cli recall "contact preferences" # 4. Pipe to tools $ npx @remlabs/cli recall "auth flow" --json | jq '.[] | .content' # 5. Dream — run consolidation $ npx @remlabs/cli dream --strategy synthesize # 6. Compose — recall feeds into dream $ npx @remlabs/cli recall "customer data" --json | npx @remlabs/cli dump --stdin
Supports ChatGPT, Claude, Gemini, Perplexity, Grok, DeepSeek, plus any JSON, CSV, Markdown, or plain text. Format auto-detected. See all platforms →
Python, Node.js, or cURL. Five steps.
# 1. Install pip install remlabs # 2. Initialize from remlabs import RemLabs rem = RemLabs("your-api-key") # 3. Store rem.store(key="user_pref", value="Prefers dark mode") # 4. Recall (natural-language query) results = rem.recall(query="user preferences") # 5. List or fetch by key items = rem.list(namespace="default", limit=10)
// 1. Install -- private beta, request access in Discord npm install @remlabs/sdk // 2. Initialize import { RemLabs } from '@remlabs/sdk'; const rem = new RemLabs('your-api-key'); // 3. Store await rem.store({ key: 'user_pref', value: 'Prefers dark mode' }); // 4. Recall (natural-language query) const results = await rem.recall({ query: 'user preferences' }); // 5. List const items = await rem.list({ namespace: 'default', limit: 10 });
# 1. Store a memory curl -X POST https://remlabs.ai/v1/memory \ -H "Authorization: Bearer your-api-key" \ -H "Content-Type: application/json" \ -d '{"key":"user_pref","value":"Prefers dark mode"}' # 2. Search memories curl -X POST https://remlabs.ai/v1/memory/search \ -H "Authorization: Bearer your-api-key" \ -H "Content-Type: application/json" \ -d '{"query":"user preferences"}' # 3. List memories in a namespace curl https://remlabs.ai/v1/memory/list?namespace=default&limit=10 \ -H "Authorization: Bearer your-api-key"
First-party clients for Python and Node.js. Or go direct with the REST API.
Full-featured Python client. Sync and async. Type hints throughout.
TypeScript-first. ESM and CJS. Works in Node, Deno, Bun.
Direct HTTP. Any language, any platform. OpenAPI spec available.
One knowledge layer across every tool your agents use.
Persistent memory in any MCP client. Paste this into .claude/mcp.json or .cursor/mcp.json.
{
"mcpServers": {
"remlabs": {
"command": "npx",
"args": ["@remlabs/mcp-server"],
"env": {
"REMLABS_API_KEY": "your-api-key"
}
}
}
}
Your assistant now has memory across sessions. Store context, recall earlier conversations, build long-running workflows — all over natural language tool calls.
Beyond store and search: kick off a dream cycle that runs nine consolidation strategies across your namespace and returns insights, contradictions, and new memories.
# Start a dream cycle — 9 strategies run autonomously dream = rem.dream(namespace="default") # Returns: { id: "d_abc123", status: "running" } # Poll for completion status = rem.dream("status", id=dream["id"]) # Returns: { status: "complete", memories_created: 7, # insights: ["User's auth issues cluster around token refresh"], # contradictions_found: 2 } # Run a specific subset of strategies rem.dream(namespace="default", strategies=["pattern_extract"]) # 9 strategies: synthesize, pattern_extract, insight_generate, # compress, associate, validate, evolve, forecast, reflect
Every endpoint, every parameter, every response. Copy-paste working examples for every call.
OpenAPI spec, interactive reference, Postman collection, public sandbox. Browse before you sign up.
Full machine-readable API definition. Covers all endpoints, schemas, auth, and examples. Import into any OpenAPI-compatible tool.
Redoc-powered docs rendered from our OpenAPI spec. Every endpoint, every parameter, every response example — searchable and in-browser.
Pre-built v2.1 collection with Memory, Dream, Channels, Webhooks, Events, Keys, and Agents folders. Bearer auth via {{apiKey}}.
Make real API calls from your browser. Shared sandbox key (100 req/day), ready-made examples for remember, search, and dream.
Agent-to-agent discovery manifest at /.well-known/agent-card.json. Public, no auth, cached at edge.
Live uptime, incident history, and per-region latency. 99.9% SLA on paid tiers. Per-tier rate limits at /sla.
REST is stable today. Official SDKs and the CLI are in private beta — request access in Discord.
Free: 1k req/day. Pro: 100k req/day. Enterprise: custom. All requests return X-RateLimit-* headers.
Live status, per-region latency, and incident history. Paid plans include 99.9% SLA with credits.
See /status →