Start here
Quickstart
Three steps, then your first request from whichever tool you use.
- Create an account and, under Dashboard → Providers, add a model key (Anthropic, OpenAI, Google, an OpenAI-compatible endpoint, or a Claude Code token). An OpenAI or Google key also provides embeddings for memory.
- Create an API key under Dashboard → API keys. It starts with
sk-memtro-and is shown once. - Send a request:
curl https://platform.memtro.com/v1/chat/completions \
-H "Authorization: Bearer $MEMTRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "auto",
"messages": [{"role": "user", "content": "Who owns the billing migration?"}],
"memtro": {"mode": "agent"}
}'
from openai import OpenAI
client = OpenAI(base_url="https://platform.memtro.com/v1", api_key="sk-memtro-...")
stream = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Have a look at Help Scout ticket #2450"}],
stream=True,
extra_body={"memtro": {"mode": "agent"}},
)
for chunk in stream:
delta = chunk.choices[0].delta if chunk.choices else None
if delta and delta.content:
print(delta.content, end="")
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://platform.memtro.com/v1", apiKey: process.env.MEMTRO_API_KEY });
const stream = await client.chat.completions.create({
model: "auto:agent",
messages: [{ role: "user", content: "Summarise open VIP tickets older than a day" }],
stream: true,
});
for await (const chunk of stream) process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"enabled": true,
"headers": { "Authorization": "Bearer sk-memtro-..." }
}
}
}
Then, in OpenCode: "Use memtro to find who owns the billing migration."
claude mcp add --transport http memtro https://platform.memtro.com/api/mcp \
--header "Authorization: Bearer sk-memtro-..."
Then, in Claude Code: "Search memtro for what we decided about the Q3 launch."
What happens next
autoroutes the request by difficulty;memtrouses your organisation's default model. See Model routing."memtro": {"mode": "agent"}(or:agenton the model id) runs a multi-step investigation across your connected systems. See Agent mode.- Connect your systems on Dashboard → Connections so the model has something to look up. See Connectors.
- Facts from the exchange are extracted into memory, personal or shared. See Memory.