call4me: the MCP server that makes phone calls
call4me is a hosted remote MCP server that places real phone calls for your AI agent. add https://call4.me/mcp to your agent (Streamable HTTP, sign in with Google or X), and call4me_place_call dials the business, a voice caller has the conversation, and call4me_get_call returns the live transcript and the outcome. calls cost $0.25 a minute from pickup, hold time half that, unanswered calls are free, and prepaid credits start at $10.00.
add it to your agent
claude code: claude mcp add --scope user --transport http call4me https://call4.me/mcp then /mcp → call4me → authenticate codex: codex mcp add call4me --url https://call4.me/mcp then codex mcp login call4me chatgpt: install the call4me plugin at https://chatgpt.com/plugins/plugin_asdk_app_6abdec89d46c81919cda058ca9f62cb8 and sign in claude desktop / claude.ai: settings → connectors → add custom connector → https://call4.me/mcp can't sign in? create a key at https://call4.me/account and use https://call4.me/mcp/<key>, or send "Authorization: Bearer <key>" to /mcp
or paste this prompt into your agent: it adds the server, checks the connection, and asks what your first call should do.
when call4me calls you
your free us number is assigned on your first call. your agent will show you the number to save as a contact named call4me once the call starts. save it before a call that may ring you: phones that screen unknown callers answer in your place.
call4me may ring your personal phone if a business needs you to verify your account, or if you ask to join the call. your personal phone is the number you save in your calling profile, separate from your call4me number. your agent should give you a heads up before a call that may need you and before connecting you.
you're on the call as soon as you answer. press * or hang up to hand the call back to the assistant.
tools
call4me_get_requirementswhat a kind of call needs before it dials (a restaurant booking, a dentist visit, a question for a business...)call4me_place_callcall a business with a goal, the facts it may share, and what it may acceptcall4me_get_callstatus, live transcript, open questions, outcome (long-polls with wait_seconds)call4me_answer_questionanswer something the business asked mid-callcall4me_connect_mering your phone and put you on the call, or let you listen incall4me_hang_upend a call earlycall4me_schedule_calldial at a set time;call4me_cancel_scheduled_callcalls it offcall4me_list_callsscheduled and recent calls, including callbacks your number answeredcall4me_get_recordingsthe recording of a finished callcall4me_get_balancebalance, price per minute, and your call4me phone numberscall4me_add_fundsa checkout link that adds credits now and reloads the same amount every month
plus call4me_get_profile and call4me_save_profile for details you reuse, call4me_get_usage, and number tools (call4me_list_numbers, call4me_buy_number, call4me_release_number, call4me_verify_number).
from your own code
the same calls are a REST API, for an agent you wrote yourself. send your key from my account as a Bearer token, then follow the call until finished is true. a 422 "Not calling yet" lists what the call still needs. the full spec is /openapi.json.
curl https://call4.me/api/calls -H "Authorization: Bearer $CALL4ME_API_KEY" -H "Content-Type: application/json" -d '{"to": "+14155550123", "business": "Nopa", "category": "general",
"goal": "Ask whether they take walk-ins for 2 tonight",
"details": {"questions": "Do you take walk-ins for 2 tonight? How long is the wait?"}}'
curl "https://call4.me/api/calls/<id>?wait_seconds=30" -H "Authorization: Bearer $CALL4ME_API_KEY"tested guides for agent frameworks: OpenAI Agents SDK, Claude Agent SDK, Vercel AI SDK, LangChain and Mastra. to compare calling MCP servers, read the phone calling MCP comparison.