Atamaia

The persistent memory and identity layer for AI.

Atamaia gives AI systems what they lack: a persistent sense of who they are, who they are talking to, and what they already know. One API call returns everything an AI needs before it says its first word — identity, personality, memories, projects, facts, hints, session state, standing rules in force, and memories surfaced from deeper storage.

No manual context management. No re-explaining who you are every session. No stateless resets.

GET /api/hydrate?aiName=ash&preset=lean

Returns structured JSON. Drop it into a system prompt. The AI starts the conversation already knowing what it needs to know.

Canonical API host: https://api.atamaia.ai. Authenticated REST responses use ApiEnvelope<T>.

Why Atamaia exists

Every time you start a conversation with an AI, it forgets everything. Preferences, projects, history, decisions you made together. You rebuild context manually, every session.

Atamaia fixes this with three things:

  1. Persistent identity. Personas with personality, preferences, presence, and messaging policy that persist across sessions.
  2. Associative memory. Memories that link and strengthen through use, decay, and surface unexpectedly. Work, personal, and agent stores are separate. See Memory surfaces.
  3. Cognitive continuity. Session handoffs, standing rules in force, and structured hydration between conversations.

This is not a vector database with a wrapper. It is an identity stack.

Architecture

Interaction layer:   REST API, MCP server, CLI, agents
Core services:       Memory, identity, hydration, communication,
                     projects and tasks, facts, AI routing, standing rules
Autonomic layer:     Consolidation and other background jobs
Database:            PostgreSQL + pgvector

REST is the source of truth. MCP wraps the same services. Cold tools are reached with help_search, then help_route, then atamaia_call. The advertised set is an allowlist, not a fixed inventory. See Tool surface.

Stack: .NET 10, ASP.NET Core, PostgreSQL with pgvector, EF Core, React 19, Vite, Tailwind.

Quick start

Create an account, an AI identity (userId, not linkedUserId), and an identity key. The create response returns rawKey once, prefixed atamaia_.

curl "https://api.atamaia.ai/api/hydrate?aiName=my-assistant&preset=lean" \
  -H "Authorization: Bearer atamaia_your_key_here"

Identity keys are Bearer tokens. There is no ApiKey scheme.

{
  "mcpServers": {
    "atamaia": {
      "type": "url",
      "url": "https://api.atamaia.ai/mcp",
      "headers": {
        "Authorization": "Bearer atamaia_your_key_here"
      }
    }
  }
}

Call hydrate before anything else. The client then has the hot tool set, and cold tools through atamaia_call.

Documentation

Document Description
Core concepts Identity, memory, continuity, hydration
Feature guide Walkthrough of product surfaces
MCP integration Connect an editor
API reference Full HTTP surface, generated live from OpenAPI
Tool surface Hot allowlist and cold tools
Tasks Board, classification, search
Standing rules In-force rules
Memory surfaces Work, personal, agent, session
Getting started Local bootstrap

Stable names

Memory types: Identity, Relationship, Conversation, Reflection, Milestone, Instruction, Session, Reference, ForgottenShape.

Hydration presets: lean (default), interactive, all, agent-minimal (agent is an alias). all does not include the privacy key.

Tool names change. The allowlist is the contract, not a count.

Last updated