Skip to main content
The Olympus MCP endpoint is https://app.etho.net/api/mcp. Copy it from Settings > MCP. Each connection uses one workspace and your permissions in that workspace. OAuth lets you sign in to Olympus and choose a workspace without copying an API key. Clients that support bearer tokens can also use a personal API key.

Connect ChatGPT

  1. Open ChatGPT’s custom MCP connection setup in Developer Mode. Your ChatGPT plan and workspace administrator must permit custom connections.
  2. Enter https://app.etho.net/api/mcp as the server URL and select OAuth. Olympus supports client metadata discovery; you do not need to enter a client secret.
  3. Sign in to Olympus, choose an active workspace and allow the connection.
  4. Ask ChatGPT to list contacts in that workspace. Confirm that a tool runs and returns a result, even if the workspace has no contacts.
You can inspect and disconnect the grant from Settings > MCP in Olympus. Directory publication is not required for a custom connection.

Connect Codex

Add the remote server:
Complete the Olympus sign-in and consent opened by Codex. If the server is already configured, start a fresh login:
Open a new Codex session, check /mcp, and ask it to list contacts in your chosen workspace. The CLI, IDE extension and app share your Codex MCP configuration.

Personal API key fallback

For clients that support bearer tokens, create a key in Settings > API keys. Pick the workspace it should use. Copy the key before closing the dialog; Olympus stores only a hash and cannot show it again. Keep the key in your local credential or environment settings. For Codex, set OLYMPUS_API_KEY in the environment used to launch it, then configure a separate connection:
For Claude Code, use the key from that environment:
Run /mcp inside Claude Code to inspect the connection. Keep at most 10 active keys; revoke them from Settings > API keys. Older keys without a workspace binding need to be replaced.

Retry a failed connection

  • Confirm the URL is exactly https://app.etho.net/api/mcp. A marketing URL, old domain or redirect is not the MCP endpoint.
  • In ChatGPT, remove the failed connection and add it again with OAuth. Check that Developer Mode and custom connections are permitted for your account.
  • In Codex, run codex mcp login olympus again and complete sign-in, MFA and workspace consent. Leave callback settings at their defaults unless you have configured a proxy deliberately.
  • If no workspace is available, check membership and whether the workspace is active. End impersonation before connecting.
  • If a personal key fails, check its workspace and revocation status. A key does not use OAuth login.
For support, share the client version, failed stage and error text. Keep tokens, codes, cookies and full authorization URLs out of chats and tickets.

Available tools

Read tools:
  • olympus_connect_contacts_read and olympus_connect_contacts_read_activity
  • olympus_connect_contacts_find_duplicates
  • olympus_connect_opportunities_read, olympus_connect_opportunities_read_activity, and olympus_connect_opportunities_read_configuration (pipelines and stages)
  • olympus_connect_tasks_read
  • olympus_integrations_close_sync_status
  • olympus_integrations_shopify_sync_status, olympus_integrations_shopify_products_read, and olympus_integrations_shopify_backfill_read
Write tools:
  • olympus_connect_contacts_create and olympus_connect_contacts_add_note
  • olympus_connect_tasks_create, olympus_connect_tasks_complete, and olympus_connect_tasks_reschedule
  • olympus_connect_opportunities_create, olympus_connect_opportunities_update, and olympus_connect_opportunities_transition
  • olympus_connect_opportunities_log_contact_attempt
Every write runs as you, in the connection’s workspace, with your role’s permissions. A viewer cannot write. Shopify catalog refresh and product-to-Offer mapping are deliberately app-only and do not appear as MCP tools.

Confirmations and ambiguity

Some operations are guarded. Moving an opportunity backward, or reopening one that was closed, does not apply on the first call. The tool returns a confirmation request, and the client must repeat the call with an explicit conflictResolution value before the change lands. When a name matches more than one record (“add a note to Alex”), the tool returns the candidates instead of picking one. The client retries with the specific record id.

Limits

  • List results are capped at 100 rows per call.
  • Requests are rate-limited per key and per user. Throttled calls receive a retry-after hint.
  • Oversized text arguments are rejected before anything runs.
  • Retried writes do not double-apply. The client can pass a requestId, and identical retries replay the original result.

What to do next

Review workspace integrations before connecting a CRM. Provider-specific tools depend on that integration being enabled for your workspace.