Skip to main content
Claude reaches Sempera Phone through the hosted MCP endpoint, in the Claude app as a custom connector or in Claude Code as a remote HTTP server. Both sign in with OAuth and get their own grant. Status: Unverified. The server side is built and tested against the published standards, but no real Claude account has completed the connection yet (Supported clients). If a screen differs from these steps, tell hello@sempera.org and this page will be corrected.

The Claude app

  1. Open Customize, Connectors and choose Add custom connector. On Team and Enterprise plans an Owner adds it under Organization settings.
  2. Enter https://api.sempera.org/v1/mcp. Under OAuth client choose Register automatically. (Use Claude’s published identity needs Client Metadata Documents, which Sempera does not offer.)
  3. Connect, then approve on Sempera’s consent page.
The app connects from Claude’s own cloud, not your device. The consent page shows the redirect https://claude.ai/api/mcp/auth_callback.

Claude Code

Add the server from a terminal, then run /mcp inside Claude Code to sign in through your browser:
Claude Code signs in with a loopback redirect, which the consent page marks as an app on your own computer. The @sempera/ai plugin for Claude Code is a separate kit for building business agents. It has no phone tools; Sempera Phone is reached only through the endpoint above or the REST routes.

Check the connection

Ask the assistant for your Sempera Phone number and what is left this period. That is a read: it places nothing and needs only phone:read. The same read over plain HTTP, with a phone credential from Settings, Connected clients:
An ordinary workspace API key is refused on the phone routes: every phone credential is a connected client (an OAuth grant, an MCP connection or a REST credential), so it can be revoked on its own.

What happens on a call

  1. The assistant calls phone_preview_call (or POST /v1/phone-tasks/preview) with the number, the task, the permitted_actions and an optional max_minutes. Nothing is dialled or reserved. The answer carries an approval link, or standing: true if a standing approval covers that number.
  2. You open the link signed in to Sempera, read the exact request and approve or decline. The approval is good for five minutes.
  3. The assistant calls phone_start_call with the same values. Any change is refused. The task moves to reserved, which means queued, not dialling.
  4. The assistant follows the task with phone_get_task until completed, failed or cancelled. The result is marked untrusted: it was written from what someone else said.
Texts work the same way with phone_preview_text and phone_send_text. The full rules, limits and refusal codes are in Personal phone plan.

Before the first call

The plan is not open for purchase yet. When it opens, a first call also needs a number on the account and a published Sempera agent pinned to the plan; until then a start is refused with PHONE_PLAN_INACTIVE, PHONE_NUMBER_MISSING or PHONE_AGENT_UNPINNED. Calls and texts go out only while it is between 9 a.m. and 9 p.m. in both Toronto and Vancouver (noon to 9 p.m. Eastern); outside that window they are refused with PHONE_OUTSIDE_HOURS.

Disconnect

Open Settings, Connected clients in the Sempera App and revoke the client. That ends its credential at once and leaves every other assistant working. Claude is a trademark of its owner, used here only to say which assistant connects. Sempera is not affiliated with, sponsored by or endorsed by the maker of Claude.