An MCP server for phone calls and texts
KaiCalls is a remote MCP server at https://www.kaicalls.com/api/mcp that gives any MCP client a phone number, outbound and inbound calls, texting, WhatsApp, meetings and phone approvals.
Add one block of config and your agent can reach people and be reached. The same tools are on the REST API and the Python SDK, so you can start in an assistant and move to your own code.
Works with any MCP client
It is a remote HTTP server, so there is nothing to install or host. Sign in with OAuth from the client, or send an API key as a bearer token. Keys carry scopes, so a key that can read calls cannot send texts unless you allow it.
Built for agents that retry
Agents retry. Each write takes an idempotency key, so a repeated request is a no-op instead of a second call or text. Pass your own reference and it comes back on every event, signed so your webhook can check it.
- Consent, do-not-call and calling hours checked on every call and text
- A refusal names the rule that blocked it
- Signed webhooks for call and text events
- Listed in the official MCP Registry as com.kaicalls/kaicalls
Main tools
| Tool | What it does |
|---|---|
make_call | Place a call with the task in context |
answer_call_question | Answer a question a live call raised |
join_call | Take over or listen to a live call |
send_sms | Text from the agent’s number |
send_message | Send on SMS or WhatsApp |
join_meeting | Join a Zoom, Meet, Teams or Webex meeting |
request_human_approval | Ask a person for a decision by phone |
buy_number | Buy a phone number |
set_webhook | Send signed events to your URL |
connect_agent | Route conversations to your own agent |
The same tools are on the MCP server, the REST API and the Python SDK.
{
"mcpServers": {
"kaicalls": {
"type": "http",
"url": "https://www.kaicalls.com/api/mcp"
}
}
}Questions
- Is there an MCP server that can make phone calls?
- Yes. KaiCalls is a remote MCP server at https://www.kaicalls.com/api/mcp. Its make_call tool places a real phone call with the task in context and returns the outcome, and other tools send texts, answer calls and join meetings.
- Do I have to host the MCP server?
- No. It is a remote HTTP server. Add the URL to your MCP client and sign in with OAuth, or use an API key.
- Is there an SDK or REST API too?
- Yes. The REST API is documented at /docs/api, the OpenAPI spec is at /openapi.json, and the Python SDK installs with pip install kaicalls.
- How do I stop duplicate calls when my agent retries?
- Send an idempotency key with each write. A repeated request with the same key does not place a second call or send a second text.