Skip to main content
Two transports, three steps, one minute. Start with Streamable HTTP for production and stdio for desktop dev.
Use a sk_sandbox_* or sk_test_* key. The server validates your key on startup and exits if it’s invalid or revoked.
No local install. Add to your client config:

Stdio (local subprocess)

Runs the server via npx — no global install required.

Where the config lives

Environment variables

You can use either OVRA_API_KEY (org-wide) or OVRA_AGENT_TOKEN (single-agent). Agent tokens give the LLM strict isolation — it sees only that one agent’s cards, intents, and transactions.

Verify

After restart your client should expose 19 ovra_* tools. Smoke-test with:
If the tool list is empty:
  1. Check the Authorization header / OVRA_API_KEY env value is set correctly.
  2. Confirm the key isn’t revoked (GET /keys returns the active list).
  3. Tail your client’s MCP logs — auth failures surface as 401 from the bootstrap call.

Startup sequence

1

Read credentials

Server reads OVRA_API_KEY or OVRA_AGENT_TOKEN from env (stdio) or Authorization header (HTTP).
2

Health check

Boot calls GET /health with the credential to validate.
3

Register tools

Valid credential → register all 19 tools with their schemas. Invalid → exit with a clear error.
4

Ready

Client begins discovering tools.

Security in MCP

  • Every tool response goes through redact() before reaching the model.
  • Destructive actions require confirm: true.
  • IDs are sanitized against path traversal.
  • Webhook and execute URLs must be HTTPS and SSRF-safe.

Next

Tool reference

Every action and parameter.

MCP overview

Architecture, security, supported clients.

Claude Desktop

Step-by-step desktop setup.