Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

KaiCalls

REMOTE · WWW.KAICALLS.COM · 2 COMPONENTS

A phone number for your business or your AI agent. Kai answers it and calls businesses for you.

0 this week 40 Trust /100

Last scanned (9 hours ago)

Scores higher than 39% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Communication

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security100
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
  • Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
  • Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified

Unverified: 6 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 15 Oct 26 +1
    • DNSSEC: fail → pass ▲ security
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 1 Aug 26 0
    • Endpoint reachability: reachable → behind authorisation ▼ security
    • Transport: pass → unverified ▼ security
    • Stability: 0.17 → unverified ▼ security
    • Authorization: The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. security
    • Capabilities: fail → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://www.kaicalls.com/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=www.kaicalls.com CN=YR1,O=Let's Encrypt,C=US 20 Oct 2026 18 Jan 2027 RSA 2048 SHA256-RSA 616d15659186f1e47484d8cbcf50d03df0b
SANs: www.kaicalls.com
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of www.kaicalls.com. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
kaicalls.com. present 2371 13 Verified
www.kaicalls.com. Verified address RRset verified with the apex keys
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On connection
HTTP status 401

WWW-Authenticate challenge Bearer resource_metadata="https://www.kaicalls.com/.well-known/oauth-protected-resource/api/mcp", scope="agents:read agents:write calls:read calls:write numbers:read numbers:write webhooks:read webhooks:write billing:read billing:write leads:write sms:read sms:write emails:read emails:write events:read evals:read evals:write knowledge:read knowledge:write products:read products:write support:write workspaces:read workspaces:write"

Bearer resource_metadata="https://www.kaicalls.com/.well-known/oauth-protected-resource/api/mcp", scope="agents:read agents:write calls:read calls:write numbers:read numbers:write webhooks:read webhooks:write billing:read billing:write leads:write sms:read sms:write emails:read emails:write events:read evals:read evals:write knowledge:read knowledge:write products:read products:write support:write workspaces:read workspaces:write"
Header Value
strict-transport-security max-age=63072000
www-authenticate Bearer resource_metadata="https://www.kaicalls.com/.well-known/oauth-protected-resource/api/mcp", scope="agents:read agents:write calls:read calls:write numbers:read numbers:write webhooks:read webhooks:write billing:read billing:write leads:write sms:read sms:write emails:read emails:write events:read evals:read evals:write knowledge:read knowledge:write products:read products:write support:write workspaces:read workspaces:write"

Protected resource metadata

Document https://www.kaicalls.com/.well-known/oauth-protected-resource/api/mcp
Retrieved Yes
Resource https://www.kaicalls.com/api/mcp
Authorisation server https://www.kaicalls.com

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://www.kaicalls.com/api/mcp Auth required 401
http (plaintext) http://www.kaicalls.com/api/mcp HTTPS enforced 308 https://www.kaicalls.com/api/mcp
MCP tools · 51 exposed · ~7,092 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
rollback_config ~490

Roll an agent's deployed voice configuration back to a prior assistant_config_versions snapshot — restoring greeting, voice, prompt, and scalar model params (never secrets/credentials) onto the live agent. This OVERWRITES the live deployed config, so it is APPROVAL-GATED: without human-grade authority (an authority envelope with mode human_confirmed, or a dashboard approval) the tool executes nothing and returns a pending_approval record the business owner approves or denies from the dashboard — relay the returned confirmation text to them. Agent-initiated rollbacks never run unattended. Wraps the same version-restore logic as POST /api/v1/agents/rollback and the admin_rollback_change voice tool, via the agent.config.rollback update intent. Discover a target with list_config_versions or get_change_history. Every executed rollback records a new config version; to repeat a rollback that already executed, pass a fresh idempotency_key.

NameTypeReqDescription
actorobject–Who is asking: { type: agent|human|system|integration, id, display_name }.
agent_idstringyesAgent ID to roll back.
authorityobject–How the rollback was authorized: { mode, confirmed_by, confirmed_at, confirmation_ref }. human_confirmed requires all three confirmation fields; anything weaker returns pending_approval.
business_idstring–Business ID (optional only when the token can access exactly one business).
dry_runboolean–Validate tenant, scope, and policy without touching the live config.
idempotency_keystring–Stable key for the rollback request; repeating it returns the original outcome. Defaults to a key derived from agent + version — pass a fresh key to repeat a rollback that already executed.
queue_for_approvalboolean–When authority is insufficient, create a durable dashboard approval (default true). Set false to get needs_approval and retry yourself with the same idempotency_key once a human confirms.
reasonstring–Optional human-readable reason recorded in the audit trail.
source_refstring–External source reference, such as a ticket or automation run ID.
version_idstring–Target assistant_config_versions row id to restore. One of version_number/version_id is required.
version_numberinteger–Target assistant_config_versions.version_number to restore. One of version_number/version_id is required.
NameTypeReqDescription
agent_idstring––
approvalobject|null––
business_idstring|null––
codestring|null––
errorstring–Present when success is false
messagestring|null––
request_idstring|null––
resultobject|null–On executed: { agent_id, restored_from_version, restored_fields, skipped_fields, new_version_number, warning? }.
risk_levelstring|null––
statusstring––
successbooleanyesWhether the tool completed successfully
summaryobject|null––

No examples provided.

run_eval ~127

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 POST /api/v1/evals/run.

NameTypeReqDescription
agent_idstring–Run every eval scenario for this agent.
eval_idstring–Run a single eval scenario by ID.
max_wait_msinteger–Per-run wait cap in ms when wait is true (default 60000, max 110000).
waitboolean–Block until the run completes (default true).
NameTypeReqDescription
completedinteger|null––
errorstring–Present when success is false
failedinteger|null––
passedboolean|null––
resultsarray|object|null––
run_idstring|null––
statusstring|null––
successbooleanyesWhether the tool completed successfully
totalinteger|null––
vapi_run_idstring|null––

No examples provided.

search_available_numbers ~84

Search the carrier for phone numbers available to purchase (real-time Twilio inventory lookup). Mirrors GET /api/v1/phone-numbers/search.

NameTypeReqDescription
area_codestring–Preferred area code (optional).
countrystring–Two-letter country code (default US).
limitinteger–Max results to return (default 10, max 20).
NameTypeReqDescription
available_numbersarray––
errorstring–Present when success is false
successbooleanyesWhether the tool completed successfully

No examples provided.

send_sms ~213

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-Call / quiet-hours), rate limits, and message logging all apply. Provide from_agent_id (the sending agent), to (recipient phone in E.164), and message. Optionally link lead_id to attribute the text and respect that lead's automation-pause state.

NameTypeReqDescription
from_agent_idstringyesAgent ID whose phone line the text is sent from.
idempotency_keystring–Optional caller-supplied key. A replay with the same key returns the original send outcome instead of sending again — use it when retrying after an uncertain response.
lead_idstring–Optional lead ID to link and honor the lead's automation-pause state.
messagestringyesText message body.
tostringyesRecipient phone number in E.164 format (e.g. +18135551234).
NameTypeReqDescription
errorstring–Present when success is false
fromstring|null––
message_sidstring|null––
successbooleanyesWhether the tool completed successfully
tostring|null––

No examples provided.

set_webhook ~139

Create or update a business outbound webhook (URL + subscribed events). Returns a webhook secret on first creation only. Mirrors POST /api/v1/webhooks.

NameTypeReqDescription
business_idstring–Business ID (optional only when the token can access exactly one business).
descriptionstring–Human label for this webhook.
eventsarray–Event types to subscribe to (see get_webhook for the supported list).
idstring–Existing webhook ID to update (omit to create new).
is_activeboolean–Enable or disable delivery.
webhook_urlstringyesHTTPS/HTTP destination URL for event delivery.
NameTypeReqDescription
business_idstring––
errorstring–Present when success is false
eventsarray––
messagestring––
successbooleanyesWhether the tool completed successfully
webhookobject––
webhook_secretstring|null––

No examples provided.

update_agent_config ~464

Edit an agent's live runtime configuration — greeting/first message, inbound or SMS prompt, voice, language model, max call duration, and call-transfer settings — routed through the governed update broker so every change keeps the consent + audit trail (a versioned config snapshot and change history). Every write here is reversible: inspect what changed with get_change_history or list_config_versions, then undo it with rollback_config. Mutating changes need an idempotency_key; high-impact live changes need human authority (an authority envelope) or queue_for_approval for dashboard sign-off. For just a single named operational-rules section, prefer configure_agent_business_rules.

NameTypeReqDescription
actorobject–Who is asking: { type: agent|human|system|integration, id, display_name }.
agent_idstringyesKaiCalls agent ID to update.
authorityobject–Human-grade authority for live changes: { mode: human_confirmed|dashboard_session|system_policy, confirmed_by, confirmed_at, confirmation_ref }.
business_idstring–Business ID. Required when the agent has multiple accessible assignments.
dry_runboolean–Validate and summarize the change without writing.
first_messagestring–Spoken greeting / first message callers hear.
idempotency_keystring–Required for writes. Reuse the same key when retrying the same change.
inbound_promptstring–Full inbound system prompt that drives the agent.
max_durationinteger–Maximum call duration in seconds.
modelobject–Language model selection: { provider, model, temperature }.
namestring–Agent display name.
outbound_promptstring–Outbound (campaign) system prompt.
queue_for_approvalboolean–When authority is missing, create a pending dashboard approval instead of returning needs_approval.
sms_promptstring–SMS reply prompt.
source_refstring–External source reference, such as a support ticket or conversation ID.
transfer_enabledboolean–Enable/disable live call transfer.
transfer_phone_numberstring–Number to transfer qualified calls to.
voiceobject–Voice selection: { provider, voiceId }.
NameTypeReqDescription
agent_idstring|null––
approvalobject|null––
business_idstring|null––
codestring|null––
errorstring–Present when success is false
messagestring|null––
request_idstring|null––
resultobject|null––
risk_levelstring|null––
statusstring––
successbooleanyesWhether the tool completed successfully
summaryobject|null––

No examples provided.

upsert_knowledge ~120

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.

NameTypeReqDescription
business_idstring–Business ID. Required for create when the token can access multiple businesses.
categorystring––
contentstring––
content_typestring––
idstring–Knowledge item ID to update (omit to create).
tagsarray––
titlestring––
NameTypeReqDescription
errorstring–Present when success is false
knowledgeobject|null––
successbooleanyesWhether the tool completed successfully

No examples provided.

upsert_lead ~256

Create a new lead or update existing leads for the authenticated business, routed through the governed leads API (business access-checked, usage-logged, and audited). To create one, pass `lead` with at least one of name/phone/email plus optional status/source/notes/agent_id/etc. To update, pass `updates`: an array of { id, ...fields } for one or many existing leads (status, name, phone, email, notes, address, city, state, zip). Updates are access-checked per row and report partial success.

NameTypeReqDescription
business_idstring–Business ID. Required for create when the API key can access multiple businesses.
leadobject–Fields for a NEW lead: name, first_name, last_name, phone, email, status, source, notes, address, city, state, zip, agent_id, message. At least one of name/phone/email is required.
updatesarray–Update existing leads. Each item is { id, ...fields } where fields are a subset of name, first_name, last_name, email, phone, status, source, notes, address, city, state, zip. Max 100 per call.
NameTypeReqDescription
errorstring–Present when success is false
failedinteger|null––
leadobject|null––
operationstring–create or update
resultsarray|null––
successbooleanyesWhether the tool completed successfully
updatedinteger|null––

No examples provided.

upsert_product ~140

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/update inventory.

NameTypeReqDescription
attributesobject––
business_idstring–Business ID. Required for create when the token can access multiple businesses.
categorystring––
descriptionstring––
idstring–Product ID to update (omit to create).
namestring––
pricenumber––
quantitynumber–Inventory quantity to set (optional).
skustring––
NameTypeReqDescription
errorstring–Present when success is false
productobject|null––
successbooleanyesWhether the tool completed successfully

No examples provided.

Install

How do I install the KaiCalls MCP server?

KaiCalls is a hosted endpoint at https://www.kaicalls.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · www.kaicalls.com

# add to Claude Code
claude mcp add --transport http com-kaicalls-kaicalls 'https://www.kaicalls.com/api/mcp'
Common questions

What is the KaiCalls MCP server?

KaiCalls is an MCP server listed in the public MCP registry as com.kaicalls/kaicalls. A phone number for your business or your AI agent. Kai answers it and calls businesses for you. This page covers its hosted endpoint (https://www.kaicalls.com/api/mcp).

Is the KaiCalls MCP server safe to use?

KaiCalls scores 40 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the KaiCalls MCP server expose?

KaiCalls exposes 51 tools: make_call, check_call_status, list_recent_calls, get_transcript, get_call_recording, and 46 more. Their descriptions and schemas cost roughly 7,092 tokens of context every time the server is loaded.

Does the KaiCalls MCP server require authentication?

Yes. KaiCalls asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the KaiCalls MCP server still maintained?

KaiCalls is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.