Skip to main content
How you can connect to Sempera today, and how much of each road Sempera has actually proven. Read the status column before you plan around a client: “supported” and “guidance only” are different promises, and this page keeps them apart.

What the statuses mean

Ways to connect

Coding-agent clients over MCP

Every client below receives the same endpoint and the same header; only the file or command that holds them differs. Pass the client’s id to GET /v1/mcp/clients/{client} to get the exact snippet for it. The key you connect with needs the agents:read scope, and a CI key is refused (Authentication and credentials). Treat the key like any other: put it in the client’s secret store or an environment variable, never in a file you commit.

AI assistants

Each assistant gets its own grant, so ending one leaves the others working. None of these has been proven from a real account. A client moves out of Unverified only when a real account has signed in, listed tools, run an action, read a result and been revoked, with the date and app version recorded here. The phone tools themselves are listed in MCP. Connecting a client does not give the phone agent that client’s memory, chats or subscription.

ChatGPT

  1. At chatgpt.com/plugins, choose the plus button, then Add custom MCP server.
  2. Enter https://api.sempera.org/v1/mcp and choose OAuth. Leave the client ID empty so it registers itself.
  3. Create the plugin, install it, and approve the workspace and scopes on Sempera’s consent page.
The expected redirect is https://chatgpt.com/connector_platform_oauth_redirect, which the consent page shows as ChatGPT. To check on the first run: that ChatGPT uses registration and that this redirect is the one it sends.

Claude

  1. In Customize, Connectors, choose Add custom connector (on Team and Enterprise, an Owner adds it in Organization settings).
  2. Enter https://api.sempera.org/v1/mcp. Under OAuth client choose Register automatically, because Use Claude’s published identity needs Client Metadata Documents, which Sempera does not offer.
  3. Connect, then approve on Sempera’s consent page.
Claude connects from its own cloud, not your device. The expected redirect is https://claude.ai/api/mcp/auth_callback. Claude Code uses the same server with a loopback redirect, which the consent page marks as an app on your own computer.

Codex

Then run codex mcp login sempera --oauth-client-registration dcr. Codex opens a browser and listens on a loopback port. To use a key instead, add bearer_token_env_var = "SEMPERA_API_KEY", which Codex tries first.

Grok Bot

Add https://api.sempera.org/v1/mcp as a custom server by URL. Grok Bot’s documentation does not say how a custom server signs in, so the first real connection decides it. If the app offers OAuth, it follows the same steps and appears on the consent page as an unverified app with its real redirect host. If it only takes a header, use a key from Connected AI clients on Settings, API keys.

Muse

Muse has no form for adding a server. Ask it to build a custom connector from https://api.sempera.org/openapi.json.
  1. In Sempera, open Settings, Connected clients, and create a Muse credential with the scopes you want.
  2. When Muse asks for the key, enter it in Muse’s secure credential entry, never in the chat.
  3. Muse sends it as Authorization: Bearer sempera_sk_... on the phone routes.
Meta publishes no developer reference for this that Sempera could check, so these steps come from third-party guides and need proof in a real account.

Not available today

  • Published SDK packages. The official TypeScript and Python libraries exist in source and are checked against the API contract, but are not published to package registries. See SDKs for source installation and supported behaviour. Sempera does not verify clients produced by third-party generators.
  • Directory listings and marketplace plugins. Sempera does not offer a directory listing or a marketplace plugin for connecting. A setup snippet is the supported way to connect a coding agent.
  • A separate test host. There is one API hostname (API overview). Use a workspace you can afford to experiment in, and read the idempotency rules before you automate writes (Errors and limits).

Keeping this page honest

When a client’s connection has been checked from the real client, its row says so with the date and the client version. Until then the cell says “Not recorded”, and a snippet is a starting point rather than a promise.