What SOAT provides
One self-hosted layer for the agent backend stack.
SOAT packages the production services agents need — storage, orchestration, retrieval, governance, and observability — into one Node.js process backed by PostgreSQL and pgvector. The REST API and the MCP endpoint run in that same process, over the same business logic and the same permission engine, so every surface enforces identical access rules. No queue, no vector service, no separate auth server to wire up.

Build
Projects, AI providers, secrets, files, and documents give agents a durable workspace.
Orchestrate
Agents call tools and other agents. DAG orchestrations and multi-agent discussions turn them into deterministic, multi-step workflows.
Remember
Knowledge search and memories retrieve context, while ingestion rules turn PDFs, images, and audio into searchable documents.
Govern
IAM policies, API keys, OAuth for MCP clients, and scoped secrets keep every operation bounded.
Observe
Traces capture every tool call, token, and model response; webhooks and triggers push what changed to the rest of your stack.
One backend. Four ways to call it.
Every operation in SOAT is reachable through the surface that fits the job. Same permissions, same data, same business logic.
Agent Formations
Deploy complete agent stacks from one template.
Agent Formations are the declarative deployment layer in SOAT. Define the desired stack once, preview the plan, then let SOAT create or update every dependent resource with consistent permissions and traceable operations.
Declare
Describe providers, memories, tools, agents, orchestrations, documents, and webhooks in one JSON or YAML template.
Resolve
SOAT builds the dependency graph, resolves refs, and provisions resources in the correct order.
Operate
Every create, update, and delete operation is tracked with resources, outputs, and an immutable event log.
From zero to a running agent in four commands.
Create an agent, open a session to persist conversation state, send a message, and generate the answer — all from the CLI. Every step is recorded as a traceable operation.
- Attach any AI provider with a single flag
- Sessions accumulate message history automatically
- Traces capture every tool call and model response
soat create-agent \
--project-id "$PROJECT_ID" \
--ai-provider-id "$PROVIDER_ID" \
--name "support-bot" \
--instructions "You are a helpful support assistant."
soat create-session \
--agent-id "$AGENT_ID" \
--name "user-chat-42"
soat add-session-message \
--session-id "$SESSION_ID" \
--message "Hello!"
soat generate-session-response \
--session-id "$SESSION_ID"
Stop rebuilding agent infrastructure.
Self-host SOAT and ship production-ready agents with sessions, knowledge, memory, IAM, traces, and MCP on your own infrastructure.