# Kaicalls MCP server

Source: https://glimind.com/server/mcp-registry%2Fcom.kaicalls%2Fkaicalls
Registry id: `mcp-registry/com.kaicalls/kaicalls`
Status: auth-required (checked 2026-10-27T07:00:55.068Z)

## Verdict

Kaicalls MCP server answered 100% of Glimind's liveness checks over 30 days, better than 42% of MCP servers, with 233 ms median handshake and 0 outages in 90 days. Its agent-readiness grade is A (92/100) across 51 tools, costing an agent about 11,461 tokens to load. Checked every few minutes; no tool is ever called.

## Measurements (30 days)

| Metric | Value | Better than |
|---|---|---|
| Uptime, 30 days | 100% | 42% of MCP servers |
| Median handshake latency | 233 ms | 69% of MCP servers |
| p95 handshake latency | 999 ms | — |
| Checks in 30 days | 219 | — |
| Outages, 90 days | 0 | — |
| Median recovery | — | — |
| Agent-readiness score | 92/100 (A) | 72% of MCP servers |
| Tools | 51 | — |
| Tool-list size for an agent | ~11,461 tokens | 16% of MCP servers |
| Days observed | 27 | — |

## Install

```json
{
  "mcpServers": {
    "kaicalls-mcp-server": {
      "type": "http",
      "url": "https://www.kaicalls.com/api/mcp"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http kaicalls-mcp-server https://www.kaicalls.com/api/mcp
```

## Tools (51)

- `attach_number`: Assign a phone number already in the KaiCalls registry pool to a business (and optionally route it directly to an agent). Does NOT purchase a new number — use s
- `buy_number`: Purchase a real phone number from the carrier and register it to a business. This spends real money — the number is billed by the carrier immediately, so the pu
- `check_call_status`: Check the status of a call by its ID
- `configure_agent_business_rules`: Safely add or replace a named operational rules section inside an agent inbound prompt, then route the prompt patch through the governed agent.patch broker. Use
- `configure_staff_alerts`: Configure business-owned staff alert recipients and post-call escalation rules. Use this for emergency/urgent texts, callback alerts, billing/provider follow-up
- `configure_textable_links`: Create or repair the business_links entries used by the send_link/send_sms tools. Use this when callers need booking, directions, cancellation, sister-location,
- `create_agent`: Create a new KaiCalls voice agent (Vapi assistant + KaiCalls records) with a system prompt, greeting, voice, and model. Mirrors POST /api/v1/agents. Every subse
- `create_campaign`: Create an outbound call campaign (cadence + lead batch) and optionally launch it immediately. Launching queues calls for the orchestrator; existing TCPA/consent
- `delete_webhook`: Remove a business outbound webhook by ID. Mirrors DELETE /api/v1/webhooks.
- `detach_number`: Release a phone number from a business back to the unassigned registry pool. Mirrors DELETE /api/v1/phone-numbers.
- `get_analytics`: Get a dashboard summary (lead counts by status, conversion rate, call volume and duration, top agents, and business outcomes by type) over a recent time window.
- `get_balance`: Get per-business minutes-used and subscription status across every business the caller can access. Mirrors GET /api/v1/balance.
- `get_business_info`: Get business information, agent count, and recent call stats
- `get_call_recording`: Get the real call recording URL for a call so reviewers can listen to the voice/audio instead of relying only on the transcript.
- `get_change_history`: List an agent's recent config-change audit trail (change_type, change_source, old/new value, timestamp) from admin_change_history — the same record the admin_ge
- `get_conversation`: Get a single SMS conversation thread by ID. Mirrors GET /api/v1/sms/conversations?id=.
- `get_lead`: Get full details for a single lead by ID, including the latest AI lead score and explanation.
- `get_operational_settings`: Audit the business-level operational setup Claude needs before changing a client account: staff alert recipients, SMS/email alert flags, escalation rules, texta
- `get_transcript`: Get the transcript and summary of a completed call
- `get_usage`: List recent API usage events (endpoint, method, status code, cost) for the caller's account. Mirrors GET /api/v1/usage.
- `get_webhook`: List the configured outbound webhook(s) for a business, including supported event types. Mirrors GET /api/v1/webhooks.
- `list_agents`: List KaiCalls agents available to the authenticated account
- `list_campaigns`: List outbound call campaigns for the authenticated business.
- `list_config_versions`: List an agent's hashed, redacted assistant config version history (rollback lineage included). Pass `version` to fetch one version's full redacted config_snapsh
- `list_conversations`: List SMS conversation threads (counterparty timeline metadata) for the authenticated business, most recent first. Mirrors GET /api/v1/sms/conversations.
- `list_evals`: List canned mock-conversation eval scenarios for an agent (or all accessible agents). Mirrors GET /api/v1/evals.
- `list_knowledge`: List agent knowledge base entries for a business. Mirrors GET /api/v1/knowledge.
- `list_leads`: List leads for the authenticated business, with optional status/source/agent filters. Includes the latest AI lead score when available.
- `list_numbers`: List phone numbers owned by the accessible business(es), with capability and compliance flags. Mirrors GET /api/v1/numbers.
- `list_observability_events`: List a business-scoped timeline of compact call-runtime events and redacted integration-delivery attempts. Mirrors GET /api/v1/observability-events and uses bou
- `list_overage_charges`: List the idempotent overage-minutes ledger from billing_overage_charges (legacy per-minute-overage tiers only — 2026 plans carry no overage). GET /v1/balance/ge
- `list_products`: List a business's agent product catalog. Mirrors GET /api/v1/products.
- `list_recent_calls`: List recent calls for the authenticated business
- `list_rightsize_recommendations`: List per-period auto-right-size decisions from plan_rightsize_recommendations, including the dry_run -> notified -> (kept | applied | superseded) lifecycle. Ans
- `list_sms_messages`: List recent SMS messages for the authenticated business. Filter by conversation or direction (inbound/outbound).
- `list_subscription_history`: List plan/price change history from subscription_change_history — the billing analogue of admin_change_history, written from the Stripe webhook and the right-si
- `list_tool_execution_logs`: List per-call Vapi tool execution traces from vapi_tool_execution_logs — outcome, latency, timeout, and a redacted result preview for each routed tool call. Mir
- `list_voicemails`: List recent voicemails for the authenticated business, including transcripts and recording URLs.
- `list_voices`: List the curated, credential-free voice catalog (id, display name, accent, language, gender, sample URL) used to configure agent voices. Mirrors GET /api/v1/voi
- `list_workflow_templates`: List the cadence/campaign workflow templates KaiCalls can run (standard, aggressive, nurture, custom), including each template's retry interval, defaults (call 
- `make_call`: Initiate a real outbound phone call via a KaiCalls AI agent. Pass an idempotency_key to make the request safely retryable: a replay with the same key returns th
- `request_kaicalls_update`: Ask the KaiCalls on-behalf update broker to perform a scoped, governed mutation. Supported intents: phone.emergency_address.set, transcripts.sink.configure, age
- `rollback_config`: Roll an agent's deployed voice configuration back to a prior assistant_config_versions snapshot — restoring greeting, voice, prompt, and scalar model params (ne
- `run_eval`: Run a single eval scenario (eval_id) or every scenario for an agent (agent_id) against its live Vapi assistant and grade the result. Bills Vapi compute. Mirrors
- `search_available_numbers`: Search the carrier for phone numbers available to purchase (real-time Twilio inventory lookup). Mirrors GET /api/v1/phone-numbers/search.
- `send_sms`: Send an outbound text message from one of your agents' phone lines to a recipient, routed through the governed messaging API. Compliance gates (opt-out / Do-Not
- `set_webhook`: Create or update a business outbound webhook (URL + subscribed events). Returns a webhook secret on first creation only. Mirrors POST /api/v1/webhooks.
- `update_agent_config`: Edit an agent's live runtime configuration — greeting/first message, inbound or SMS prompt, voice, language model, max call duration, and call-transfer settings
- `upsert_knowledge`: Create a new agent knowledge base entry, or update one when `id` is provided. Mirrors POST /api/v1/knowledge. Creating requires title, content, and content_type
- `upsert_lead`: Create a new lead or update existing leads for the authenticated business, routed through the governed leads API (business access-checked, usage-logged, and aud
- `upsert_product`: Create a new product row, or update one when `id` is provided. Mirrors POST /api/v1/products. Creating requires name and business_id. Pass `quantity` to set/upd

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
