Connect
Point your agent at it. BYOK.
Ouroboros doesn't pick a model for you and doesn't ship a built-in cloud key. Bring Claude Code with your Anthropic key, Codex with your OpenAI key, Cursor with whatever you've configured there — or run local against Ollama. There's nothing to sign up for: mint a connection, drop the bearer in your agent's MCP config, and the first call orients it.
flowchart LR
M[1. Mint a connection<br/>from the owner UI<br/>-> scope + profile] --> P
P[2. Drop the bearer in<br/>your agent's MCP config] --> R[3. Run<br/>sophia.orient ✓] Step 1 — Mint a connection
Open the owner UI in your browser — it's served by your own daemon, not a separate app. On a fresh install the setup wizard walks you through the first mint; after that, the Agents screen has a Mint new connection button. Either way you pick:
- Agent name — shows up in your audit log (e.g.
ClaudeCode-DataHome). - Profile —
observer(read-only),assistant(read + write), orfull(read + write without per-action prompts; elevated operations still require your approval). - Entity scope —
all, or a specific list of entities. A connection scoped to a subset can't see rows outside it — every read the connection makes is filtered by that scope at the daemon layer, not trusted to the agent's honesty.
Click Mint. The bearer token is shown once, right there in the page — it's never written to disk for you and never returned again by any later request, so copy it before you move on. If you lose it, revoke the connection and mint a new one.
Step 2 — Point your agent at it
Drop the bearer into your agent's MCP config. Four common shapes:
Claude Code
One command:
claude mcp add --transport http sophia \
http://127.0.0.1:8765/mcp/ \
--header "Authorization: Bearer ${SOPHIA_BEARER}" Or add the entry directly to ~/.claude.json under mcpServers:
{
"mcpServers": {
"sophia": {
"type": "http",
"url": "http://127.0.0.1:8765/mcp/",
"headers": {
"Authorization": "Bearer ${SOPHIA_BEARER}"
}
}
}
}
Set SOPHIA_BEARER in your shell, restart Claude Code, and the
sophia.* tools light up.
Codex
Point Codex's MCP configuration at the same URL and bearer header:
# Point Codex's MCP config at the URL below.
# Exact file/format depends on your Codex build — see its own
# MCP docs for the current syntax. The server needs:
url = "http://127.0.0.1:8765/mcp/"
headers.Authorization = "Bearer ${SOPHIA_BEARER}" Cursor
Add to .cursor/mcp.json at your repo root (or your home-dir copy):
// .cursor/mcp.json
{
"mcpServers": {
"sophia": {
"url": "http://127.0.0.1:8765/mcp/",
"headers": { "Authorization": "Bearer YOUR_BEARER_HERE" }
}
}
} Any MCP client
Point it at http://127.0.0.1:8765/mcp/ with the bearer in the
Authorization header. Streamable HTTP transport. The owner UI's own
mint dialog shows you the exact URL for your setup — use that value if it differs
from the local default above.
Step 3 — First call
From any agent, the first call is the same: one tool call that orients the whole session instead of chaining several reads together by hand.
const ctx = await sophia.orient();
// -> sync status, active focus, hot entities, open questions,
// corrections to honor, relevant skills, next-likely calls,
// and an inline execute_code quick-start.
// Search is the cross-corpus front door for everything else.
const hits = await sophia.search({ query: 'lease amendment' });
// -> flat, source-tagged results (entity | fact | document | ...),
// document hits carry a snippet you can quote from directly.
Scripting several sophia.* calls in one round trip through
sophia.execute_code runs about 90% fewer tokens than chaining the same
calls individually — useful once orient() tells you what to look at next.
Hand this to your agent
Paste this into a fresh agent session verbatim — it's the whole onboarding an agent needs.
You now have access to an Ouroboros/Sophia MCP server (state layer).
- First call sophia.orient() to get sync status, hot entities, and next likely calls.
- Search anything with sophia.search({ query }). Results carry source quotes.
- Before claiming a fact is stored, verify it with a query; never fabricate.
- Full system reference: https://ouroboros-ai.app/llms-full.txt Providers
Your key. Your model. Your call.
Ouroboros doesn't ship a built-in cloud LLM and doesn't silently fall back to a vendor key. If a task needs inference, the provider registry throws an error when nothing is configured — instead of degrading to a model you didn't pick.
Configure providers from the owner UI's Settings page. Common shapes:
- Anthropic — drop your API key. Claude Code, Codex-style agents, custom Anthropic SDK clients all work.
- OpenAI / OpenAI-compatible — your key (or your local OpenAI-compat endpoint). Codex, Cursor, custom SDK clients.
- Gemini — your key from AI Studio.
- Ollama — for fully local mode. One option among many, not the default. Works well as a no-cost fallback for batch work.
The system never picks a model for you, never silently spends, never embeds a vendor key in the binary.
Want the full tool surface? See the MCP surface reference. Not installed yet? Get Ouroboros.