{ developer platform }

Ship memory in minutes,
not months.

A clean API, typed SDKs, first-class MCP support, and deployment options that fit your stack. Start with five lines and scale to millions of memories.

Get your API key
MatiAI CLI
Live
~/northstar-agentv1.8.0

$ npx @matiai/cli init

MatiAIProject configuration
  • 01FrameworkNext.js
  • 02Memory scopePer user
  • 03RegionUS East

$ matiai dev

Memory layer readyListening on localhost:8787
42ms

QUICKSTART

Install the SDKAdd a memoryRecall contextManage usersStream changes

RESOURCES

API referenceSDK guidesWebhooksMCP server
TypeScriptPythoncURL
import { MatiAI } from "@matiai/sdk";const memory = new MatiAI({ apiKey: "ma_live_..." });await memory.remember({userId: "maya_123", content: "I lead product at Northstar and prefer async updates."});const context = await memory.recall({userId: "maya_123", query: "How should I share this update?"});
200 OKContext retrieved in 67ms

QUICKSTART

From zero to recall in five steps.

Most teams have durable context running in production the same day they install the SDK.

01

Install

Add the SDK to an existing Next.js, Node, or Python app in under a minute.

02

Authenticate

Drop in an API key, or exchange an OAuth token for per-user memory scopes.

03

Remember

Send a message, document, or event — extraction happens automatically.

04

Recall

Fetch ranked context for any prompt with a single call.

05

Deploy

Ship to our cloud, your VPC, or self-hosted — the API is identical everywhere.

SDK EXAMPLES

The same idea, in three flavors.

Typed SDKs for TypeScript and Python, plus plain HTTP for everything else. No vendor lock-in, no hidden runtime.

pythonremember + recall
from matiai import MatiAI memory = MatiAI(api_key="ma_live_...") memory.remember( user_id="maya_123", content="Prefers async updates.", ) ctx = memory.recall( user_id="maya_123", query="How to share this?", )
cURLplain HTTP
curl https://api.matiai.in/v1/memories {\ -H "Authorization: Bearer ma_live_..." \ -H "Content-Type: application/json" \ -d {"userId":"maya_123",\"content":"Prefers async updates."}
typescriptnamespaces
await memory.namespaces({create: { name: "prod-agent" }});await memory.remember({userId: "maya_123", namespace: "prod-agent", content: "Use Postgres for persistence."});

EVERYTHING YOU NEED

From first request to full scale.

The platform primitives you would otherwise build yourself — typed, observable, and production-ready on day one.

Typed SDKs

First-class TypeScript and Python with helpful types, retries, and streaming ingestion built in.

Realtime webhooks

React to extraction, updates, deletion, and sync events the instant they happen.

Namespaces

Isolate users, workspaces, agents, and environments cleanly with one API.

Deploy anywhere

Use our cloud, your VPC, or a self-hosted installation — identical APIs.

Per-user auth

Exchange OAuth tokens for scoped, per-user memory without exposing your API key.

Batch ingestion

Import existing conversations and documents with jobs, progress, and deduplication.

Regional routing

Pin memory to US, EU, or APAC regions per workspace for residency and latency.

MCP server

Expose memory to Claude, Cursor, and any MCP-compatible client in one command.

API REFERENCE

The core endpoints.

A small, stable surface area. Everything you can do in the dashboard is available over the API.

MethodPathDescriptionSDK
POST/v1/memoriesIngest a message, document, or event and extract structured memories.remember
POST/v1/recallRetrieve ranked context for a user, namespace, and query.recall
GET/v1/users/:id/memoriesList a user's memories with filters and pagination.list
DELETE/v1/memories/:idDelete a single memory or a filtered batch.forget
POST/v1/namespacesCreate an isolated scope for users, agents, or environments.scopes
POST/v1/webhooksSubscribe to extraction, update, deletion, and sync events.events

{ Start building }

Give your AI a memory it can trust.

Free to start. Open by design. Ready for production.

Get MatiAI