SETUP GUIDE
Connect your coding agent to a phone call.
HotlinePing adds one MCP server to Codex, Claude Code, Cursor, ChatGPT. When a session hits a decision it cannot make, it calls a human who agreed to be called, and continues with the confirmed answer. Three things have to be true first, and this page is all three of them.
ORDER MATTERS
Account, contact, client.
The install snippets are public and identical for everybody. What makes a call possible is the account behind them and the verified number in it, so do these in order.
Create an account
Sign up with an email address and password. This is the workspace the call minutes, the contacts, and the connected clients all belong to. No card is needed to start.
Create your accountAdd and verify a contact
Add the number that may be called from your dashboard, confirming you are authorized to have it called. We text it a 6-digit code; once you enter the code, it is verified and enabled. An unverified number can never be dialled.
Connect your coding agent
Add the MCP server to your client and complete the browser sign-in it prompts for. That sign-in is what ties the server to your account — until it succeeds, the client has a URL and nothing else.
STEP 3, IN FULL
The install snippets.
Every command below carries one public URL and nothing else. There is no token, key, or phone number anywhere in them — your identity is bound by the browser sign-in each client runs after the install, which is why the account has to exist first.
Public MCP resource
Pick your client
This is the same resource the dashboard hands out after you sign in. It is a public endpoint: copying it here saves you a step, it does not grant anything.
One command adds HotlinePing and opens your browser to sign in.
codex mcp add hotlineping --url https://mcp.hotlineping.com/mcpSign-in didn’t finish, or Codex asks again later
codex mcp login hotlinepingSSH or headless session
Run the add command, press Ctrl+C when it waits for the browser, then sign in with the link this prints.
codex mcp login --no-browser hotlinepingStart a new Codex session afterwards so it picks up HotlinePing.
Create a private developer connection before packaging a ChatGPT and Codex plugin.
- In ChatGPT, open Settings → Security and login and turn on Developer mode. Availability depends on account and workspace policy.
- Open ChatGPT Plugins, select the plus button, and enter a name and description.
- Under Connection, choose the public endpoint and paste the resource below. Create it, then review discovered tools.
https://mcp.hotlineping.com/mcpThis connects HotlinePing to your own account only; it is not listed anywhere public. If sign-in fails, remove the connector and add it again.
Add HotlinePing for all your projects, then sign in in your browser.
claude mcp add --transport http --scope user \
hotlineping https://mcp.hotlineping.com/mcpclaude mcp login hotlinepingSSH or headless session
claude mcp login --no-browser hotlinepingClaude Code already open? Run /mcp, pick hotlineping, then choose Reconnect or Authenticate. Restarting Claude Code works too.
Claude remote connectors run from Anthropic’s cloud, so use the public HTTPS resource—not localhost or a private network address.
- For an individual account, open Customize → Connectors → + → Add custom connector.
- Team and Enterprise owners use Organization settings → Connectors → Add, then Custom → Web.
- Enter the resource, add the connector, then select Connect to begin authentication. This page supplies no client secret.
https://mcp.hotlineping.com/mcpSign-in opens in your browser. If the connector shows an error, remove it and add it again.
Grok connects from xAI’s cloud, so it needs the public HTTPS resource. Each option below signs you in through HotlinePing’s approval page.
Grok on the web and in the apps
- Open grok.com/connectors, select New Connector, then Custom.
- Enter a name and the resource below. Leave the client ID and secret empty; Grok fills in the rest from HotlinePing.
- Sign in and approve. On Grok Business, an admin adds it first under Grok Business → Connectors → Add Connector → Other in the xAI console.
https://mcp.hotlineping.com/mcpGrok Bot
Ask the bot to add the server, then select Authorize on the card it shows.
Add a custom MCP server called HotlinePing at https://mcp.hotlineping.com/mcpGrok Build
grok mcp add --transport http hotlineping https://mcp.hotlineping.com/mcpGrok Build starts sign-in the first time it uses HotlinePing.
In the Muse app, connectors are created in chat. Send this message, then sign in and approve on the HotlinePing page that opens.
Create a custom connector for HotlinePing. It is a remote MCP server at https://mcp.hotlineping.com/mcp and signs in with OAuth.Muse Code: ~/.config/muse/settings.json
{
"schema_version": 1,
"mcp_servers": {
"hotlineping": {
"transport": "streamable_http",
"url": "https://mcp.hotlineping.com/mcp",
"mode": "optional"
}
}
}muse mcp login hotlinepingMerge the settings into any existing file rather than replacing it.
Cursor support is coming soon.
Until then, connect with one of the other clients.
Mid-call, you can ask your agent to do something, like run the tests, and it reports back on the same call. The call stays open while it works, so those minutes count toward your plan. How it works
WHAT THE AGENT GETS
Five tools, one narrow path.
Once the client is connected, this is the entire surface an autonomous session can reach. It can start a call, watch it, hand work back into it, cancel it, and read the transcript — nothing else.
escalate_to_phone- Places the call. The agent sends a short subject, the context it wrote, its question, and any options; the voice agent asks you one thing at a time and reads your decision back before hanging up.
get_escalation_status- Checks a call that is already running and returns the compact confirmed answer once you have given one — plus any work you handed back to the agent mid-call.
report_task_result- Returns the result of that mid-call work, so the voice agent can read it to you on the same call instead of making you hang up and start again.
cancel_phone_escalation- Calls off an escalation that is still pending. Nothing is billed for a call that was never answered.
get_full_transcript- Fetches the full conversation, stored separately from the answer and secret-redacted on the way in. The agent receives it only when it explicitly asks.
What is never on the line.
The voice agent does not ask for a password, API key, token, or one-time code, and stops you if you begin to say one. It knows only what your coding agent chose to send with the escalation, and it never receives the number it is calling.
START AT STEP ONE
The snippets work the moment an account is behind them.
No card · first call free, then 3 calls and 9 call-minutes on the house