Skip to main content

Prerequisites

  • MCP client that accepts an HTTP MCP URL (Claude, Cursor, ChatGPT, Claude Code, custom clients, and similar)
  • Browser available for the first OAuth consent (unless you use API keys)
  • Project id if you want to pin Runtime to one project
Exact hostnames depend on your deployment. Production-style examples below use https://mcp.getodin.ai. On-premises or private deployments use your environment’s MCP host instead.

Add EKB to your MCP client

Most clients only need the URL and will run OAuth themselves.
Use only the endpoint(s) you need. Many teams start with Runtime alone so day-to-day assistants cannot change configuration. See Builder and Runtime for tool surfaces.

Client tips

Sign in when prompted

On first use, the client receives an authorization challenge and opens a browser consent flow:
  1. Sign in to EKB if needed
  2. Review the client name and the permission (Build in your workspace or Use your agents and tools)
  3. Approve or deny
After consent, the client calls EKB as you. It can only do what your user account can do in that project — normal EKB permissions still apply. Consent links expire or become single-use. If you see an expired-request message, start the connection again from the MCP client. Details: Authentication.

Pin a project (Runtime)

If your client supports custom headers, send:
Builder does not pin by header — the model passes the project id on each create/update call (target_project_id or project_id, per tool schema). Use Runtime’s list_odin_projects (or a known id) when you need to discover project ids.

Headless access (CI and automation)

Interactive OAuth needs a browser. For CI, evals, or scripts, pass a user-level API key and secret as headers:
Prefer a user-level key over a project-scoped key so listing projects and multi-project Runtime still work. See Authentication.

Troubleshooting