Labsco
MCP SERVER

KaiCalls

by cgallic

Inspect a business's AI phone agents, calls, transcripts, recordings and leads — and, with the write scopes, place a real outbound call or change alert routing.

Telephony, SMS & Voice Agents
Summary
Thirteen ways to look, five ways to act, and the line between them is a scope you grant.

The read surface answers the questions an owner actually has — who called, what was said, which leads are worth chasing, where the alerts go — without any ability to change the business. The write tools are annotated destructive for a reason: one of them makes a real phone ring, and the rest mutate a live phone system, which is why the risky ones route through an approval broker.

What it is

The hosted MCP connector for KaiCalls, an AI phone-answering service for small businesses. There is nothing to install: clients connect to the production endpoint over Streamable HTTP and authenticate against a KaiCalls account. 18 tools split cleanly — 13 read-only ones covering agents, calls, transcripts, recordings, leads, voicemail, SMS, campaigns and analytics, and 5 write ones that place calls or change live configuration. Access is scoped to a single business, enforced server-side.

What you get
  • The account's AI phone agents and the business profile with agent count and recent call stats — `list_agents`, `get_business_info`
  • Recent calls with status filters, the status of one call by id, and its transcript and summary once completed — `list_recent_calls`, `check_call_status`, `get_transcript`
  • The recording URL for a call, for when the question is how it sounded rather than what was said — `get_call_recording`
  • Leads with their latest AI lead score, and the full detail and score explanation for one — `list_leads`, `get_lead`
  • Voicemails with transcripts and recording URLs, and SMS messages filtered by conversation or direction — `list_voicemails`, `list_sms_messages`
  • Outbound campaigns, and a dashboard summary over a recent window covering leads by status, conversion, call volume and top agents — `list_campaigns`, `get_analytics`
  • The current operational setup as an auditable read: staff alert recipients, escalation rules, textable links and agent voice, model and greeting — `get_operational_settings`
  • A real outbound call placed through an agent to an E.164 number — `make_call`
  • Staff alerts, textable links and named business-rule sections in an agent prompt changed, each supporting `dry_run` first — `configure_staff_alerts`, `configure_textable_links`, `configure_agent_business_rules`
  • A governed broker for higher-risk updates — E911 address, transcript webhook sink, agent patch — that returns `needs_approval` or `denied` rather than acting unaudited — `request_kaicalls_update`
Requirements

A KaiCalls account. The endpoint is `https://www.kaicalls.com/api/mcp` over Streamable HTTP. Interactive clients use OAuth 2.1 with PKCE and dynamic client registration — you sign in and pick which business the connection is scoped to on the consent screen. Gateways and scripts send a `kc_live_` key as a Bearer token instead, generated in the dashboard. Scopes decide what the connection can do: reads need `agents:read` or `calls:read`, and the write tools need `calls:write` or `agents:write`, so a read-only connection is a matter of which scopes you grant. Cline needs the transport type spelled `streamableHttp` exactly, or it falls back to SSE and the connection fails with a 405. `make_call` dials a real phone and consumes metered minutes; prompt changes require an idempotency key plus human authority or a queued approval.