Connect ChatGPT to ClawCall with remote MCP
Start with ChatGPT: add one OAuth-protected remote MCP endpoint to give it eleven bounded phone-call tools. Compatible AI hosts follow the same discovery contract; custom runtimes can still use the REST API or packaged agent skill.
Connect ChatGPT with remote MCP
ClawCall works with AI hosts that support remote Streamable HTTP MCP and OAuth. Add the endpoint below, sign in to ClawCall, and approve the bounded calls:read and calls:write scopes. The host receives revocable OAuth tokens—not your ClawCall API key. Authentication uses OAuth 2.1 authorization code with PKCE S256 and Dynamic Client Registration.
https://api.clawcall.dev/mcpStateless Streamable HTTP, MCP revision 2026-07-28, with legacy negotiation for 2025-era clients.
OAuth discovery architecture
The host reads ClawCall's OAuth authorization-server metadata and RFC 9728 protected-resource metadata, dynamically registers a public client, then completes the authorization-code flow with PKCE S256. It receives revocable tokens for only the scopes approved on the consent screen.
https://api.clawcall.dev/.well-known/oauth-authorization-serverAuthorization, token, registration, revocation, and PKCE S256 metadata.https://api.clawcall.dev/.well-known/oauth-protected-resource/mcpProtected MCP resource and supported scopes.https://api.clawcall.dev/registerDynamic Client Registration for a public OAuth client.https://api.clawcall.dev/revokeRevoke a token when the connection is disconnected. 401 with a WWW-Authenticate challenge pointing to the protected-resource metadata. That verifies discovery without placing a call.Set up your host
Need the decision case first? Review the ten sourced agent capability comparisons.
Approve only the documented scopes
calls:readRead plan/trial state, call settings, reserved-number status, call status, captured transcript evidence when present, history, and temporary recording access when available.
calls:writePlace and hang up real phone calls or update call settings when you ask the assistant to do so.
Verify without placing a call
Ask: “Check my ClawCall plan and remaining trial allowance. Do not place a call.” The host should select get_balance. Once the connection is enabled, it can select ClawCall automatically from normal phone-call requests; the connector picker is optional.
Review all eleven tools
get_calling_guide is required before any ClawCall work. Read it before call placement, then poll status and read the transcript evidence actually captured before deciding whether the task succeeded.
get_calling_guideRequired before any ClawCall work. Read current workflow guidance and examples before placing calls.get_balanceRead the signed-in account's plan and remaining trial allowance.get_call_settingsRead reusable voice/personality, reserved-number capabilities, and inbound-assistant availability.update_call_settingsUpdate global or inbound call settings in separate calls.place_callStart one real outbound phone call and return immediately.place_call_and_waitStart one call and wait up to 90 seconds for an initial result.get_callRead a call's lifecycle, outcome, and a nullable bounded transcript tail.get_call_transcriptRead the transcript evidence captured for a call.list_callsRead recent call history for the connected account.get_recordingGet a temporary, playable recording URL when one is available.hangup_callStop a queued or live phone call.Disconnect and revoke
Remove ClawCall in the AI host. Then open ClawCall Dashboard → Settings → Connected AI assistants → Disconnect. The ClawCall action revokes that connection's token family.
What ClawCall does
ClawCall handles real phone calls on your behalf. It can navigate phone menus, wait on hold, speak to the person who answers, and report back with the call outcome.
Use REST or the packaged agent skill
If the host cannot connect through MCP, use the REST API from a custom runtime or install the packaged skill in a skill-aware agent. For REST, grab an API key from the dashboard, then make a call from your language of choice. Replace +1XXXXXXXXXX with a real US number you control. POST /call returns a call_id immediately — poll GET /call/:id until it finalizes.
Start a call
Start with the phone number and the outcome you want. Add context the agent might need, such as names, dates, account details, or what to do if the other party asks a question.
- In the dashboard, open the assistant or call form.
- Enter a US phone number.
- Describe the task and confirm the call.
Join a live call
Ask ClawCall to bring you into the call when the other party is ready to talk directly. The AI handles the wait first, then your phone rings and you join the active conversation.
In the dashboard assistant, say something like: "Join me when a human is ready." During an active dashboard call, use Join Live when the call panel offers it.
Review call history
Call History shows previous calls, current status, duration, and captured transcript evidence when present. Use it to verify what happened and decide whether the same task needs a follow-up call.
A completed call includes status and call duration, and can include captured transcript evidence when present and a temporary recording link when available.
Recordings
Temporary recording links stay available for 10 minutes after a call ends. Older calls remain in history, but their listen links expire automatically.
Reserved numbers
A reserved number gives your account a private caller ID for outbound AI calls. Search by US area code, reserve a number, complete checkout, and ClawCall activates it for future calls.
If billing becomes inactive, outbound calls fall back to the standard caller ID until the reserved number is active again.
Unlimited Reserve Plus numbers can also receive inbound calls. ClawCall answers first as your assistant using your inbound profile. Configure instructions, voice, personality, and an optional handoff number from the dashboard or API. The retained profile greeting does not replace or append to the fixed recording-disclosure opening.
API keys and agents
API keys let agents and scripts use your ClawCall account. Create a key in the dashboard, store it securely, and send it with theX-Api-Key header.
/callStart an outbound call./call/:idRead status plus nullable transcript and recording metadata./call/:id/hangupEnd an active call./me/call-preferencesRead global voice/personality + outbound greeting, plus the inbound assistant block (Reserve Plus)./me/call-preferencesUpdate global voice/personality/greeting; pass an `inbound` object to set the inbound assistant (Reserve Plus)./me/call-preferencesReset global call preferences to default./balanceCheck remaining trial or account balance.Start a call
Accepted response
The API returns immediately with a call identifier. This is not the final task result.
Structured errors
Errors use one envelope with a stable code, a human-readable message, and optional action or quota details. Follow a returned action URL instead of inventing a signup, verification, or billing destination.
missing_fields / invalid_phoneFix the request fields or use a valid US +1 destination.auth_required / invalid_api_keySign in or provide a valid server-side API key.trial_exhausted / plan_requiredFollow the returned action URL to choose a plan.phone_verification_requiredComplete the account phone-verification action.reserved_number_busyWait for the active reserved-number call to finish.number_pool_exhaustedRetry later; no outbound number is currently available.Check call status
End a call
Configure inbound profile
For MCP-capable hosts, start with the hosted MCP hub. The packaged ClawCall skill remains a fallback for skill-aware agents such as Claude Code, Cursor, ClawHub, and OpenClaw — github.com/ClawCall-Dev/ClawCall.
Billing and trial limits
The free trial includes 30 calls and 30 minutes, whichever lasts later. A trial call counts only when it completes with at least 5 seconds of call time.
Paid plans use purchased call time. Connected call time counts against your balance; failed dials and very short calls do not consume a trial call.
Troubleshooting
- The call will not start
- Check that the number is a US number, includes the country code, and that your trial or paid balance has time remaining.
- The recording link expired
- Recording links are temporary. Open Call History for captured transcript evidence when present and place a follow-up call if more detail is needed.
- An API key stopped working
- Create a new key in the dashboard and update the agent or script that sends the
X-Api-Keyheader.