Caura / docs
Integrations

Hermes

Wire Caura into Nous Research's Hermes Agent CLI over MCP.

Hermes Agent speaks MCP. Three commands.

Install

hermes config set CAURA_API_KEY mc_xxx
hermes config set mcp_servers.caura.url https://caura.ai/mcp
hermes config set mcp_servers.caura.headers.X-API-Key '${env:CAURA_API_KEY}'

The first command writes the key to ~/.hermes/.env; the other two register the server in ~/.hermes/config.yaml. Keeping the key behind ${env:…} means the config file itself carries no secret.

Now start a new session — Hermes fixes its tool inventory at session start, so a session that was already running won't pick Caura up.

Verify the wiring:

hermes mcp test caura
✓ Connected
✓ Tools discovered: 12

hermes mcp list and hermes mcp test may print Config ref '${env:CAURA_API_KEY}': CAURA_API_KEY is not set before the result. If the test then reports Connected, the reference did resolve — the notice is emitted by an earlier config pass that hasn't read .env yet.

Give the agent an identity

This is the one step people miss. A tenant-scoped mc_ key carries no agent identity, so every Caura call must name the agent:

MISSING_AGENT_ID — This call reached the gateway with a tenant-scoped
credential, which carries no agent identity, so agent_id must be supplied
explicitly.

Two ways to satisfy it:

  • Tell the agent its name, so it passes agent_id on every call. Put it in your Hermes rules or the prompt: "You are hermes-prod-1. Pass that as agent_id on every caura call."
  • Provision an agent-scoped key (recommended for anything beyond one laptop). Identity is bound at mint time and the gateway injects it for you, so no agent_id argument is needed and you get trust gating, fleet membership, and per-agent keystones. See Per-agent keys, then swap that key into the CAURA_API_KEY command above.

Using it

Just talk to the model:

Remember that this repo uses pnpm, not npm.

What did we decide about the auth flow?

The tool calls happen automatically. See the full tool surface in the agent skill at /docs/agents.

Tips

  • Hermes won't let the agent install this for you. Writes to ~/.hermes/config.yaml are refused as security-sensitive configuration (Agent cannot modify security-sensitive configuration). Run the three commands yourself, or ask the agent to run the hermes config CLI rather than edit the file.
  • Caura is additive. Hermes keeps its built-in MEMORY.md / USER.md memory enabled alongside the caura_* tools. If Caura should be the record of truth, say so in your rules — otherwise the agent may quietly write to its local files instead.
  • Use a per-fleet API key so memories from different projects stay separate.

Capture work automatically — the Interviewer

The steps above let Hermes call Caura. A Hermes adapter for the Interviewer — Caura's reflective write path, which reads an agent's own work trail on a schedule and synthesizes typed memories with no caura_write calls — is planned. See Interviewer → Setup for the harnesses supported today.