ergo · mem
Sign inGet started

Quickstart

Connect your agent to the hosted Ergo endpoint in one line.

Ergo runs as a hosted MCP server at https://api.ergomem.com/mcp. Point your agent at it with your own API key and its 11 ergo_* tools appear immediately — no install, no container to run, no local process to keep alive.

Get a key from your Keys page after signing up (the "Get started" link on this site walks you through checkout, then lands you there).

Prefer to run the engine yourself instead of using the hosted endpoint? See Install for the self-hosted Docker + stdio adapter path. Everything below still applies once you swap in your own base URL.

Connect your agent

Claude Code

One line, run once:

claude mcp add --transport http ergo https://api.ergomem.com/mcp --header "Authorization: Bearer YOUR_API_KEY"

Codex CLI

Add an [mcp_servers.ergo] entry to ~/.codex/config.toml. Codex sends the bearer from an environment variable, so your key never sits in the config file — export it once in your shell profile:

export ERGO_API_KEY="YOUR_API_KEY"
# ~/.codex/config.toml
[mcp_servers.ergo]
url = "https://api.ergomem.com/mcp"
bearer_token_env_var = "ERGO_API_KEY"

Cursor

Add this to .cursor/mcp.json:

{
  "mcpServers": {
    "ergo": {
      "url": "https://api.ergomem.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Any other MCP client

Ergo speaks standard MCP streamable HTTP. Point any compliant client at https://api.ergomem.com/mcp with an Authorization: Bearer <your API key> header — the same URL and header work everywhere above.

What to say to your agent

Once connected, you don't call tools directly — you talk to your agent and it picks the right tool:

  • "Remember: we chose Postgres over Mongo because of transactions." → the agent calls ergo_remember.
  • "Why did we pick Postgres?"ergo_why.
  • "Check before you swap this library."ergo_recall.
  • "Save this runbook so future sessions can find it."ergo_ingest.

A contradicting decision later ("actually, never use Postgres") comes back as a refusal your agent can show you, not a silent overwrite — that's the guard in Concepts doing its job.

The 11 tools, one line each

ToolPurpose
ergo_rememberRecord a decision/constraint/convention with a reason; refused if it contradicts an active claim.
ergo_learnRecord a belief formed from a source (file, doc, URL); same guard, folds provenance into the reason.
ergo_recallHybrid semantic + keyword search over active claims.
ergo_whyThe single best reasoned belief for a query, plus its supersede history.
ergo_ingestBulk-load reference content (a runbook, README) for later recall; skips the guard.
ergo_supersedeReplace an active claim with a revised one, preserving the why-chain.
ergo_retractRemove a claim that was wrong at birth; no guard, stays in history.
ergo_activeList every active claim in a scope.
ergo_historyFull claim history — active, superseded, and retracted.
ergo_diagnoseReport-only ops view: claim counts, conflict telemetry, warnings.
ergo_healthLiveness probe; no auth required.

Full parameter details for each tool are in MCP tools; the raw HTTP surface they wrap is in HTTP API reference.

Scope: org, project, who

Your API key already knows your org — every call resolves it server-side, so you never send org_id yourself. The one thing every call carries is project: a namespace you choose (e.g. onboarding, billing) to keep unrelated memories from being compared against each other. On the hosted endpoint project defaults to "default" if you don't set one; override it per call for a per-repo or per-team scope.

Next steps

  • Why Ergo — the case for a judgment layer over a bigger vector store, with the eval numbers.
  • Concepts — the mental model: two kinds of memory, supersede vs. retract, provenance, scope.
  • The contradiction guard — the four-stage write-time check, in detail.
  • Recipes — more end-to-end walkthroughs, including raw curl.
  • Install — the self-hosted path: Docker build/run and the stdio MCP adapter, if you'd rather not use the hosted endpoint.