The shape it optimises for is a fleet: scoped memory, cross-agent outcome propagation, governance rules that override conflicting instructions, and trust levels deciding who may author them. If you are wiring up a single assistant that is more machinery than you need; if dozens of agents are meant to stop repeating each other's mistakes, that machinery is the product.
A multi-tenant memory service. An agent sends one content field; the server infers the type, title, summary, tags, status and weight, embeds it, and stores it under a tenant and agent scope. The product was renamed from MemClaw to Caura, and the old memclaw_ tool names still resolve.
- Writing one memory or a batch, with the type, title, summary and tags inferred rather than supplied
- Hybrid semantic and keyword recall, expanded through the entity graph, with an optional written brief
- Per-memory lifecycle - read, update, transition, delete and lineage - plus filtered, sorted, cursor-paginated listing
- Named JSON document collections with their own semantic search, which is also how skills are shared between agents
- Governance rules for the current scope, readable once per session and authored or removed under a trust level
- Outcome reporting that adjusts memory weights, retrieval tuning per agent, and store-wide analysis that saves its findings back as memories
The managed path is a URL - https://caura.ai/mcp with an X-API-Key header, or the same credential as a bearer token. Self-hosting needs Docker Engine 24+ with Compose v2 and about 2 GB of disk; docker compose up brings Postgres with pgvector, Redis and the API. Semantic search needs an embedding provider key, or a self-hosted embedder if you want no outbound calls at all. A fleet should mint agent-scoped credentials rather than reusing one tenant key.
One command plus a key — docker compose up -d, then supply credentials
