A small API, a typed SDK, and MCP for the rest
Give your product or agent an encrypted memory that its users own. Seven MCP tools, a dozen REST endpoints, scoped keys, and an export that can be verified without trusting us. The service is audited privately; a security annex is available to customers under NDA on request. There is no source release.
Quickstart with curl
Every request carries a key in the Authorization header. Keys start with agk_live_.
export AGENTU_API_KEY=agk_live_…
export AGENTU=https://memory.agentu.com
# who am I, which categories can this key see?
curl -s $AGENTU/v1/me -H "Authorization: Bearer $AGENTU_API_KEY"
# remember
curl -s $AGENTU/v1/memories -H "Authorization: Bearer $AGENTU_API_KEY" \
-H "content-type: application/json" \
-d '{"category":"Work","content":"Board meeting moved to 14 October.","tags":["calendar"],"source":{"app":"my-app","via":"api"}}'
# recall
curl -s $AGENTU/v1/recall -H "Authorization: Bearer $AGENTU_API_KEY" \
-H "content-type: application/json" -d '{"query":"board meeting"}'
# verify the signed chain of a category
curl -s "$AGENTU/v1/verify?category=Work" -H "Authorization: Bearer $AGENTU_API_KEY"
TypeScript SDK
import { AgentuClient } from "@agentu/sdk";
const memory = new AgentuClient({ apiKey: process.env.AGENTU_API_KEY!, baseUrl: "https://memory.agentu.com" });
await memory.remember({ category: "Work", content: "Prefers short status updates on Fridays.", source: { app: "assistant", model: "gpt-5" } });
const { memories } = await memory.recall({ query: "status updates" });
const report = await memory.verify("Work"); // signed hash chain intact?
const bundle = await memory.export("a long passphrase"); // portable, verifiable offline
Package name: @agentu/sdk (client + agentu-verify CLI). Publishing to npm is in progress; until it ships, the package is supplied to customers on request. There is no npm package for MCP: the hosted server is at https://memory.agentu.com/mcp and the local one is the Agentu Bridge (agentu-bridge mcp, stdio); the seven tools are listed on the connection guides.
Endpoints
| Method · path | Scope | Purpose |
|---|---|---|
GET /v1/me | any | Key owner, tenant, region, scopes. |
GET /v1/categories · POST /v1/categories | read / manage | List visible categories; create new ones (each gets its own key). |
POST /v1/memories | write:<cat> | Remember: content, tags, meta, provenance. |
GET /v1/memories · GET /v1/memories/:id | read:<cat> | List newest first (tombstones on request); fetch one. |
DELETE /v1/memories/:id | write:<cat> | Forget: drops the body, keeps a verifiable tombstone. |
POST /v1/recall | read | Query across readable categories, with limit and since. |
GET /v1/verify | read | Verify signed hash chains; problem codes on failure. |
POST /v1/export | manage | Encrypted, portable bundle under your passphrase. |
GET/POST/DELETE /v1/keys | manage | Create scoped keys (shown once), list, revoke. |
GET /v1/audit | manage | Key activity — never content. |
DELETE /v1/me · POST /v1/me/restore | manage | Schedule or cancel crypto-shredding of the whole memory. |
GET /v1/public-keys | public | Signing keys for independent verification. |
/mcp · /.well-known/oauth-authorization-server | key or OAuth | Remote MCP (Streamable HTTP) with OAuth 2.1 discovery, for Claude, ChatGPT, Perplexity, Gemini and other assistants. |
Out-of-scope resources addressed by id return 404, never a 403 that names a category. Rate limits: per IP and per key, with Retry-After.
Verify offline
agentu-verify check export.json --trust-keys keys.json proves an export is internally consistent and signed by keys you trusted; agentu-verify decrypt opens it with the passphrase. No network, no Agentu.
Dedicated
Need an instance that serves only your company? Dedicated is a single-tenant Agentu operated by Agentu in the region you choose, with its own API and MCP address and the same SDK. Per deployment, on request. Agentu does not publish deployment templates or offer self-hosting. Dedicated →
Security review
The service is audited privately. A security annex covering the architecture, the security model and the cryptography decision records is available to customers under NDA on request; there is no source release. Security reports go to security.txt.