KaiCalls

com.kaicalls由 kaicalls.com 發布官方發布者v1.1.0更新於 Oct 29, 2026

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

已驗證Streamable HTTP可網頁執行效率與工作流溝通與協作商業與電商

概覽

AI 產生的概覽

託管的 KaiCalls 連接器,為助理提供企業電話號碼,可代打電話、讀取通話、潛在客戶與逐字稿,並執行設定操作。

可以做什麼
  • 向美國或加拿大商家撥打 AI 代辦電話,並查詢狀態、逐字稿與錄音
  • 讀取通話、語音留言、潛在客戶、簡訊與 WhatsApp 對話及分析資料
  • 檢視代理、電話號碼、響鈴流程、頻道就緒狀態、信任等級與設定清單
  • 檢視帳單、方案、用量、Google LSA 報告與潛在客戶,以及電子郵件行銷準備情況
  • 執行寫入與設定操作,例如號碼搜尋與購買、代理設定、外撥活動、代理商方案與入駐
適用情境
適用於已在使用 KaiCalls 的企業或代理商,希望助理在聊天用戶端中查詢通話、潛在客戶、逐字稿、號碼與帳單,或發起與管理 AI 通話及設定步驟。
執行需求
託管的遠端端點,無需安裝。需要 KaiCalls 帳戶,並透過 OAuth 2.1 登入,或以 Authorization Bearer 或 X-KaiCalls-API-Key 標頭傳入 kc_live_ API 金鑰。僅支援 stdio 的用戶端可使用隨附的橋接程式,需設定 KAICALLS_API_KEY。
安裝前請注意
帳戶端點提供 111 個寫入或設定工具,包括會撥打真實電話的 make_call,以及外撥活動啟動、員工通知與業務規則修改、API 金鑰簽發和移除代理商成員,部分標記為破壞性操作。首次免費之外的通話依方案計費。請勿在提示、日誌或共享追蹤中暴露 API 金鑰、OAuth 權杖、錄音、逐字稿、潛在客戶電話或客戶資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 KaiCalls,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.kaicalls%2Fkaicalls/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

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

README

KaiCalls MCP Server

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

Get a business number (or keep yours) with Kai built in. Your phones ring first; Kai answers misses and after-hours calls, takes the details and texts you. See current plans and pricing. This repository is the public connector definition for the hosted KaiCalls MCP server — it documents the endpoint, authentication, and tool catalog so MCP clients and directories can discover and connect to it.

The KaiCalls platform itself is a hosted SaaS — there is no server to install. You connect to the live endpoint below with your KaiCalls account.

MCP endpointhttps://www.kaicalls.com/api/mcp
TransportStreamable HTTP (JSON-RPC over HTTP POST)
AuthOAuth 2.1 (PKCE S256 + DCR) or kc_live_ API key as Bearer
Setup endpointhttps://www.kaicalls.com/api/mcp/acquisition (setup-only subset for first-time buyers)
Tools171 on the account endpoint (60 read-only, 111 write/setup); 37 on the setup endpoint
HomepageKaiCalls
ProviderKaiCalls · [email protected]
LicenseMIT (connector definitions and docs)
StatusGA — live in production

Give your AI agent a phone number

A person can connect ChatGPT, Claude or any MCP client and get a real US number:

  • Kai calls businesses for you. make_call places an errand call to a US or Canada business (a shop, clinic, office or restaurant), asks the question, presses keys on phone menus, and check_call_status returns the answer. Kai says up front that it is an assistant calling for you, and it does not place AI calls to personal cell phones.
  • Kai answers the callback. The business calls your own number back, and Kai takes the message.
  • The first call for a new connector account is free. After that, calls run on a plan: see kaicalls.com/ai-agent-phone-number.

Quick Answer

What is the KaiCalls MCP connector? It is the official hosted MCP connector for KaiCalls. Existing customers use https://www.kaicalls.com/api/mcp; a first-time buyer can use the setup-only surface at https://www.kaicalls.com/api/mcp/acquisition.

Who should use it? Use it when Claude, ChatGPT, Cursor, an MCP gateway, or another AI client needs to safely inspect KaiCalls agents, calls, transcripts, leads, analytics, and approved setup actions.

Does it require hosting your own server? No. KaiCalls hosts the MCP server. Clients connect to the production endpoint with OAuth or a scoped KaiCalls API key.

Is this the WordPress plugin? No. The approved KaiCalls AI Intake plugin captures website leads from WordPress. This repo documents the agent/MCP connector.

Is this the n8n integration? No. n8n workflows should use n8n-nodes-kaicalls.


Quick connect

Claude (web & desktop)

Add KaiCalls to Claude in one click: Claude opens its Add custom connector box with the name and URL already filled in. Press Add, then sign in. Owners of a Team or Enterprise workspace can use the admin link to add it for everyone.

ChatGPT and other clients

Add a custom connector pointing at https://www.kaicalls.com/api/mcp for an existing account, or the acquisition endpoint for setup. Sign in with your KaiCalls account, pick the business on the consent screen, and Allow. See docs/quickstart.md for screenshots and per-client steps.

API-key clients / MCP gateways

Pass a KaiCalls API key directly — no OAuth round-trip needed:

Authorization: Bearer kc_live_xxxxxxxxxxxxxxxxxxxx

(X-KaiCalls-API-Key: kc_live_... is also accepted.) Generate keys in the KaiCalls dashboard under Settings → API Keys. See docs/authentication.md.

Cline / remote MCP clients

KaiCalls is a remote server — there is nothing to clone or install. Add it to your MCP client config as a Streamable HTTP server and authenticate with a kc_live_ key. For Cline, edit cline_mcp_settings.json (or use the Remote Servers tab) and add:

json
{  "kaicalls": {    "url": "https://www.kaicalls.com/api/mcp",    "type": "streamableHttp",    "headers": { "Authorization": "Bearer kc_live_YOUR_KEY" }  }}

Replace kc_live_YOUR_KEY with a key from the KaiCalls dashboard under Settings → API Keys. The transport type must be the camelCase string streamableHttp — using streamable-http or omitting it makes Cline fall back to SSE and the connection fails with a 405. Once saved, Cline lists the KaiCalls tools and is ready to use. See llms-install.md for the full agent-driven setup walkthrough.


Gemini CLI and Antigravity

bash
gemini extensions install https://github.com/KaiCalls/kaicalls-mcpagy plugin install https://github.com/KaiCalls/kaicalls-mcp

Both connect to the hosted server at https://www.kaicalls.com/api/mcp and sign you in with OAuth the first time a tool runs.

Run locally over stdio (Docker)

Most clients should connect to the hosted server at https://www.kaicalls.com/api/mcp. For stdio-only clients, this repo ships a small bridge with no dependencies:

bash
docker build -t kaicalls-mcp .docker run -i --rm -e KAICALLS_API_KEY=kc_live_... kaicalls-mcp# or without Docker: KAICALLS_API_KEY=kc_live_... node stdio-proxy.mjs

initialize and tools/list work without a key. tools/call needs KAICALLS_API_KEY, which you create at https://www.kaicalls.com/dashboard/settings/api-keys.

Tools

The account endpoint exposes 171 tools: 60 read-only and 111 write/setup. Every tool carries MCP safety annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint). The setup endpoint (/api/mcp/acquisition) exposes the 37 tools marked Yes in the Setup surface column, the subset that takes a new business from signup to a working number. The machine-readable inventory, with full descriptions, scopes and annotations, is in mcp.json and server-card.json. In-depth notes for the core tools are in docs/tools.md. The live tools/list response returns each tool's input schema.

Read-only tools (60)

ToolScopeSetup surfaceWhat it does
get_lsa_account_reportcalls:readRead the authorized advertiser's live Google Local Services aggregate account report, including actual spend, currency and charged lead totals.
get_lsa_setupcalls:readInspect Google LSA account selection and sync freshness, with setup steps.
list_lsa_leadscalls:readList synced Google LSA leads, charge and credit states, source IDs and rating details.
get_lsa_conversationscalls:readRead the latest 200 synced Google LSA conversation events for an LSA lead, including customer and advertiser messages.
get_lsa_reportcalls:readReport LSA lead counts, types, observed statuses, ratings and credit counts for an explicit UTC window (start inclusive, end exclusive).
agency_offer_previewworkspaces:writeBuilds the publishable manifest and sales kit for an offer draft and returns its fingerprint and revision for publishing.
agency_installation_preview_route_receiptworkspaces:writeReturns the evidence that a real call reached the client's voice line and produced a delivered lead notification, with a fingerprint for acknowledgement.
agency_installation_preview_handoffworkspaces:writeReturns the staff handoff for an installation with a fingerprint for approval.
agency_installation_owner_previewworkspaces:writeShows the client owner the exact intake facts and voice script prepared for their business, with the hashes needed to approve each.
agency_installation_exportworkspaces:writeReturns the installation release, intake facts, approved script, staff sheet and checks for handoff or records.
agency_installation_preview_offboardworkspaces:writeShows what offboarding would stop and what it keeps (phone number, sender, connections, billing plan and history), with a fingerprint for approval.
agency_care_preview_reviewworkspaces:writeShows the exact review-request text, sender number and recipients for customers with a completed service, with a fingerprint for approval.
get_agency_workspaceworkspaces:readRead assigned installations, grouped support incidents, accepted billing evidence (also billing:read), or inventory one authorized client's saved facts and actual channel readiness.
get_extra_number_statusnumbers:readYesRead an owner-authorized extra-number request.
get_setup_recovery_statusnumbers:readYesRead an owner-authorized setup recovery request by its business and idempotency key.
check_call_statuscalls:readCheck the status of a call by its ID
list_recent_callscalls:readList recent calls for the authenticated business
get_transcriptcalls:readGet the transcript and summary of a completed call
get_call_recordingcalls:readGet the real call recording URL for a call so reviewers can listen to the voice/audio instead of relying only on the transcript.
list_agentsagents:readYesList the KaiCalls agents on the authenticated account.
get_business_infoagents:readYesRead back what a business already has: profile details, how many agents are configured, and recent call volume.
get_operational_settingsagents:readYesAudit the business-level operational setup required before changing a live account: staff alert recipients, SMS/email alert flags, escalation rules, textable send-link entries, and assigned agent voice/model/greeting metadata.
get_activation_statusagents:readYesRead current call readiness and persisted private-test proof for one accessible business.
list_leadscalls:readList leads for the authenticated business, with optional status/source/agent filters.
get_leadcalls:readGet full details for a single lead by ID, including the latest AI lead score and explanation.
list_voicemailscalls:readList recent voicemails for the authenticated business, including transcripts and recording URLs.
list_sms_messagessms:readRead SMS and WhatsApp message evidence for accessible businesses (sms:read), including provider message ID, carrier status, delivery/failure timestamps and failure code.
list_campaignscalls:readList outbound call campaigns for the authenticated business.
list_workflow_templatescalls:readList the cadence/campaign workflow templates KaiCalls can run (standard, aggressive, nurture, custom), including each template's retry interval, defaults (call windows, days, attempts), and a ready-to-use cadence_config example.
get_analyticscalls:readGet 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_meetingagents:readList the meetings Kai was sent into (newest first), or one meeting by id with its live status, minutes used and summary, plus the plan's remaining meeting minutes this month.
get_usageevents:readYesList recent API usage events (endpoint, method, status code, cost) for the caller's account.
list_plansbilling:readYesRead the canonical public KaiCalls plan catalog, monthly USD prices and allowances.
get_checkout_statusbilling:readYesRead a Stripe-verified subscription checkout receipt for a business you own.
get_email_campaignemails:readRead a business's email campaigns: its sending addresses and their setup readiness, recent campaigns with status, revision fingerprint and outcome counts, and the customers who can be emailed (recorded consent, not on the do-not-email list).
get_business_verificationworkspaces:readRead tenant-scoped business-verification document references, pending/approved/rejected staff-review states and secure upload requirements.
get_text_registrationbilling:readRead where a business stands on its own carrier registration for business texting: saved details (never the EIN; only whether one is on file), payment, filing stage, whether sales texts are allowed, and the one next step.
get_setup_checklistworkspaces:readRead where one business stands on setup: plan, phone number, texting registration, WhatsApp, call and lead alerts, connected mailbox for follow-up email, and email campaign sender.
get_whatsapp_statussms:readCheck whether WhatsApp is connected on a business's KaiCalls number, read live from the carrier.
get_channel_statussms:readList every customer channel a business can have (phone calls, text messages, WhatsApp, website chat, email, and the ones not offered yet) with its state: ready, needs_setup, blocked or not_available.
get_trust_levelagents:readRead one business's saved KaiCalls trust level (Sprout, Verified, Trusted, Pro, Partner): the current level, the steps to the next one with progress, what each level unlocks, today's outbound calls and texts against the limits the level allows, and any hold. focus 'ladder' explains every level; focus 'level' with level explains one.
get_balancebilling:readGet plan terms and usage for accessible businesses.
list_numbersnumbers:readYesList phone numbers assigned to the accessible business(es), with capability and compliance flags.
get_phone_flownumbers:readYesRead how calls ring on the business's hosted phone system: which cells and desk phones ring, for how many seconds, and whether after-hours callers go straight to Kai.
get_phone_system_statusnumbers:readYesRead whether the business's hosted phone system is set up: Kai's extension, the team ring group and dial plan ids (never secrets), the phone-system line, and next_step — the one line to relay to the owner.
list_conversationssms:readList SMS conversation threads (counterparty timeline metadata) for the authenticated business, most recent first.
get_conversationsms:readGet a single SMS conversation thread by ID.
get_webhookwebhooks:readList the configured outbound webhook(s) for a business, including supported event types.
list_evalsevals:readList canned mock-conversation eval scenarios for an agent (or all accessible agents).
list_voicesagents:readYesList the curated, credential-free voice catalog (id, display name, accent, language, gender, sample URL) used to configure agent voices.
search_available_numbersnumbers:readYesSearch the carrier for phone numbers available to purchase (live number inventory).
list_knowledgeknowledge:readYesList agent knowledge base entries for a business.
list_productsproducts:readList a business's agent product catalog.
list_config_versionsagents:readYesList an agent's hashed, redacted assistant config version history (rollback lineage included).
get_change_historyagents:readYesList 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_get_change_history voice tool reads over the phone.
list_observability_eventsevents:readList a business-scoped timeline of compact call-runtime events and redacted integration-delivery attempts.
list_tool_execution_logsevents:readList per-call voice-agent tool execution traces — outcome, latency, timeout, and a redacted result preview for each routed tool call.
list_subscription_historybilling:readList plan/price change history from subscription_change_history — the billing analogue of admin_change_history, written from the Stripe webhook and the right-size apply job.
list_overage_chargesbilling:readList the idempotent overage-minutes ledger from billing_overage_charges (legacy per-minute-overage tiers only — 2026 plans carry no overage).
list_rightsize_recommendationsbilling:readList per-period auto-right-size decisions from plan_rightsize_recommendations, including the dry_run -> notified -> (kept | applied | superseded) lifecycle.

Write and setup tools (111)

ToolScopeSetup surfaceHintsWhat it does
sync_lsaagents:writedestructive · open-worldSync an explicitly selected connected LSA advertiser.
send_lsa_replysms:writedestructive · idempotent · open-worldSend an authorized text reply inside an existing Google LSA message lead through the Ads API.
rate_lsa_leadcalls:writedestructive · idempotent · open-worldSubmit an authorized, truthful Google LSA quality survey and return Google's actual bonus-credit decision.
agency_profile_bootstrapworkspaces:writeidempotentRegisters a new agency for the signed-in user and makes them its owner, using the given brand and support details.
agency_profile_updateworkspaces:writedestructive · idempotentReplaces the agency brand, support details and requested commercial mode.
agency_profile_inviteworkspaces:write—Creates a staff invitation for an email address with the admin, operator or reader role and returns a one-time invite link that expires in 7 days.
agency_profile_accept_inviteworkspaces:writeidempotentJoins the agency using the token from an invite link.
agency_profile_revoke_inviteworkspaces:writedestructive · idempotentCancels a pending staff invitation so its link can no longer be used.
agency_profile_assignworkspaces:writeidempotentGives an active agency staff member access to one client business with the admin or member business role.
agency_profile_unassignworkspaces:writedestructive · idempotentRemoves a staff member's agency assignment to one client business, and removes the business membership if this assignment created it.
agency_profile_revoke_memberworkspaces:writedestructive · idempotentRemoves a staff member from the agency: revokes their membership, all their client assignments, their accepted invites and every API key issued to them through the agency.
agency_profile_issue_keyworkspaces:write—Creates a new API key for yourself in this agency, limited to the requested scopes, and returns the secret once.
agency_offer_saveworkspaces:write—Creates a new offer draft, or replaces an existing draft when offerId and its current revision are given.
agency_offer_publishworkspaces:writeidempotentPublishes the previewed offer as a new immutable version and returns its enrollment link.
agency_offer_archiveworkspaces:writedestructive · idempotentArchives an offer so it can no longer be published or used for new enrollments.
agency_enrollment_start_self_serviceworkspaces:writeidempotentStarts a business owner's own enrollment in a published agency offer, using the business name and intake facts.
agency_enrollment_finish_self_serviceworkspaces:writeidempotent · open-worldCompletes a self-service enrollment after the owner has approved the current intake: creates the client business and queues its package installations, which later configure the business's voice agent.
agency_enrollment_owner_saveworkspaces:writeidempotentLets the client owner replace the intake facts on their own enrollment link.
agency_enrollment_createworkspaces:writeidempotentCreates an enrollment session for 1-50 existing or new clients against a published offer version and returns one owner approval link per new client.
agency_enrollment_saveworkspaces:writedestructive · idempotentReplaces the client entries of an uncommitted enrollment session.
agency_enrollment_previewworkspaces:writeidempotentChecks every client in the batch for missing facts, owner approval and payer conflicts, and returns what enrolling would install, with the fingerprint and approval IDs needed to enroll.
agency_enrollment_enrollworkspaces:writeidempotent · open-worldCommits the previewed batch: creates new client businesses, records owner approvals and queues package installations for every ready client; installations later configure each client voice agent.
agency_enrollment_claim_ownerworkspaces:writeidempotentLinks the signed-in client owner to their enrollment link using its token.
agency_enrollment_approve_ownerworkspaces:writeidempotentRecords the client owner's approval of the exact offer and intake facts on their enrollment link.
agency_enrollment_rotate_owner_linkworkspaces:writedestructiveIssues a new owner link for a client in the batch and invalidates the old one, clearing any earlier claim and approval.
agency_enrollment_revokeworkspaces:writedestructive · idempotentRevokes an enrollment session and all of its owner links so nothing more can be approved or enrolled from it.
agency_installation_approve_route_receiptworkspaces:writeidempotentRecords the client owner acknowledging the route test receipt they reviewed.
agency_installation_approve_handoffworkspaces:writeidempotentRecords the client owner approving the exact staff handoff they reviewed.
agency_installation_resolve_updateworkspaces:writeidempotentChooses, for each conflicting setting in a proposed package update, whether to keep the client's current value or use the package value, and saves the resolved update.
agency_installation_run_scenariosworkspaces:writeidempotent · open-worldRuns the approved test scenarios as simulated test-mode conversations against the client's voice agent and returns their progress.
agency_installation_approveworkspaces:writeidempotentRecords the client owner approving either the intake facts or the voice script they reviewed.
agency_installation_revoke_approvalworkspaces:writedestructive · idempotentWithdraws one of the client owner's earlier approvals.
agency_installation_pauseworkspaces:writedestructive · idempotentPauses an installation so its package setup and scheduled package work stop.
agency_installation_retryworkspaces:writeopen-worldRe-queues an installation so setup runs again, clearing its last error; setup configures the client's voice agent.
agency_installation_offboardworkspaces:writedestructive · idempotentStarts offboarding: stops the package's jobs, revokes its future automation authority and turns off its scheduled reports.
agency_installation_preview_updateworkspaces:writeidempotentPrepares a proposed update to a newer published offer version, or a rollback to an earlier installation revision, and lists any conflicts with client changes.
agency_installation_approve_updateworkspaces:writeidempotentRecords the client owner approving the updated script of a proposed update.
agency_installation_apply_updateworkspaces:writedestructive · idempotent · open-worldApplies an approved update and re-queues setup, which replaces the client's live voice agent configuration.
agency_installation_opt_into_canaryworkspaces:writeidempotentMarks the client's installation as a canary, so it can receive package updates before other clients of the same agency.
agency_report_generateworkspaces:writeidempotentBuilds the client's recorded-activity report for the last 30 days and saves it as a snapshot.
agency_report_configureworkspaces:writedestructive · idempotent · open-worldSets the weekly or monthly activity report email schedule for an installation and replaces the previous recipient list.
agency_billing_retry_collectionbilling:writedestructive · idempotent · open-worldRetries payment of an existing open wholesale invoice with the agency's verified payment method.
agency_billing_record_adjustmentbilling:writeidempotent · open-worldRecords a credit or debit correction on a billing line, verified against an issued credit note or a separate debit invoice at the payment provider.
agency_billing_set_planbilling:writedestructive · idempotent · open-worldPuts a partner-created client on an agency-billed plan, or stops it when plan is null.
agency_billing_set_automatic_collectionbilling:writedestructive · idempotentTurns monthly automatic collection of wholesale charges on or off under the accepted terms.
agency_billing_publish_termsbilling:write—Publishes a new set of wholesale commercial terms (discount, grace days, document and start date) for one agency, or for all agencies when partnerId is null.
agency_billing_accept_termsbilling:writeidempotentAccepts published wholesale terms for the agency and applies their discount.
agency_billing_setup_collectionbilling:writeidempotent · open-worldCreates the agency's customer record at the payment provider if needed and returns a hosted link where the owner adds a payment method.
agency_billing_freeze_periodbilling:writeidempotentCalculates and locks the wholesale statement for one closed calendar month (UTC) from the agency's billable client intervals.
agency_billing_collectbilling:writedestructive · idempotent · open-worldCreates and finalizes the payment provider invoice for a frozen billing period and charges the agency's verified payment method automatically.
agency_care_prepare_reviewworkspaces:writeidempotentSaves the approved review-request texts as a draft campaign and reserves the listed customers.
agency_care_launch_reviewworkspaces:writedestructive · open-worldLaunches the approved review-request campaign, queuing text messages to the listed customers from the business number.
agency_support_acknowledgeworkspaces:writeidempotentMarks an agency incident as acknowledged and assigns its follow-up to you.
agency_support_measureworkspaces:write—Records time spent or money for one client (setup, support, fulfillment, provider cost or retail receipt) with a note.
agency_support_complete_exerciseworkspaces:writeidempotentRecords that you completed a training exercise (verify_launch, handle_failure, report_activity or export_handoff) on a real installation, but only when the matching evidence already exists.
request_extra_numberbilling:writeYesidempotent · open-worldReserve an exact pool number and request an owner-only browser review of its recurring extra-line price.
retry_setupnumbers:writeYesdestructive · idempotentReconcile database pointers for an existing imported signup phone reservation.
make_callcalls:writeYesdestructive · open-worldPlace an outbound call through a KaiCalls AI agent: a voice preview so the owner can hear Kai, or a call made on the owner's behalf (a landlord, clinic, pharmacy, school or utility) with the task in context.
configure_staff_alertsagents:writeYesdestructive · idempotentSave business-owned staff alert recipients and post-call escalation rules.
confirm_notification_destinationagents:writeYesdestructive · idempotent · open-worldAPPROVAL-GATED.
retry_activation_notificationagents:writeYesdestructive · idempotent · open-worldAPPROVAL-GATED.
choose_customer_routenumbers:writeYesdestructive · idempotentAPPROVAL-GATED.
configure_textable_linksagents:writeYesdestructive · idempotentCreate or repair the business_links entries used by the send_link/send_sms tools.
configure_agent_business_rulesagents:writeYesdestructive · idempotent · open-worldSafely add or replace a named operational rules section inside an agent inbound prompt, then route the prompt patch through the governed agent.patch broker.
create_campaigncalls:writedestructive · open-worldCreate an outbound call campaign (cadence + lead batch) and optionally launch it immediately.
launch_call_campaigncalls:writedestructive · open-worldStart or resume an existing outbound call campaign so Kai begins calling its leads.
pause_call_campaigncalls:writedestructive · idempotentPause an outbound call campaign.
upsert_leadleads:writedestructiveCreate a new lead or update existing leads for the authenticated business, routed through the governed leads API (business access-checked, usage-logged, and audited).
send_smssms:writedestructive · open-worldSend an outbound text message from one of your agents' phone lines to a recipient, routed through the governed messaging API.
update_agent_configagents:writeYesdestructive · idempotent · open-worldEdit 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).
request_emergency_addressnumbers:writedestructive · idempotent · open-worldSet the emergency (E911) service address for one of the business's phone numbers with the phone carrier, so a 911 call from that line reaches the right dispatcher.
request_transcript_webhookwebhooks:writedestructive · idempotent · open-worldCreate or update a webhook that receives the business's completed-call events (which can include transcripts) at a URL the business controls.
request_agent_updateagents:writedestructive · idempotent · open-worldChange a live agent's name, greeting, prompts, voice, model, call length or call transfer through the approval-gated path, for changes made on the owner's behalf that need a recorded approval.
request_number_purchasenumbers:writedestructive · idempotent · open-worldBuy a specific available phone number for the business from the phone carrier, with the owner's confirmed approval.
request_config_rollbackagents:writedestructive · idempotent · open-worldPut a live agent back on a saved earlier version of its configuration (see list_config_versions), with the owner's confirmed approval.
join_meetingagents:writeidempotent · open-worldSend Kai into a Zoom, Google Meet, Microsoft Teams or Webex meeting by its link.
leave_meetingagents:writedestructive · idempotent · open-worldHave Kai leave a video meeting it is in, or stop trying to join one.
send_messagesms:writedestructive · open-worldSend one message to a business's customer on the channel you choose: a text (sms) from one of the business's agent lines, or a WhatsApp message from its connected WhatsApp number.
request_email_senderemails:writeopen-worldSet up a sending address for a business's email campaigns on a domain the business controls (for example mail.example.com).
check_email_senderemails:writeidempotent · open-worldRe-check a sending domain's DNS records with the email delivery provider now and save the result.
record_email_consentemails:writeidempotentRecord that existing customers gave the business permission to email them, with evidence_ref saying where that permission came from.
revoke_email_consentemails:writedestructive · idempotentTake back email permission for existing customers so no campaign can email them.
draft_email_campaignemails:write—Save an email campaign for the owner to review: a subject, a plain-text body, the customers to email (lead_ids, each with recorded email permission) and the verified sender.
approve_email_campaignemails:writeidempotentThe business owner approves one exact revision of a drafted email campaign, named by campaign_id and the fingerprint returned by draft_email_campaign or get_email_campaign.
launch_email_campaignemails:writedestructive · open-worldQueue an owner-approved email campaign for sending to real customers, within its daily limit.
cancel_email_campaignemails:writedestructive · idempotentStop an email campaign so nothing more is sent from it.
set_conversation_ownersms:writeidempotentSet who answers a customer's text conversation. owner 'ai' (the default): Kai replies. 'human': Kai stays quiet and the business owner answers. 'external': Kai stays quiet and the business's own system answers; it receives the sms.received webhook and replies with send_message or POST /v1/messages.
submit_text_registrationbilling:writedestructive · open-worldReserved submission contract; execution is currently unavailable and returns submission_unavailable without filing.
save_text_registration_detailsbilling:writedestructive · idempotentSave a business's legal name, entity type, industry, website, address, authorized contact and what it will text (service only, or service and sales) for its own carrier registration.
start_text_registration_checkoutbilling:writeopen-worldCreate the payment link for a business's own carrier registration (a one-time filing fee plus a monthly campaign fee).
set_branded_caller_idbilling:writeidempotent · open-worldFile the business name that landlines show when the business's number calls out (caller ID name).
create_customer_workspaceworkspaces:writeopen-worldCreate a new KaiCalls account for a business, owned by the business owner's own email address.
set_up_businessworkspaces:writeidempotentOptional line customization: use only when the owner explicitly asks Kai to answer with a business name and greeting.
connect_whatsappsms:writeidempotent · open-worldGet the one link a business owner opens to put WhatsApp on their KaiCalls number.
recheck_trust_levelagents:readidempotentRecompute one business's KaiCalls trust level now from its live account activity (card on file, paid bills, days active, real customer calls) and save the result, the same recheck the dashboard runs, for example right after the owner adds a card.
create_checkoutbilling:writeYesidempotent · open-worldCreate, or reuse, a secure payment page hosted by Stripe where the business owner pays for a KaiCalls plan from list_plans with their own card.
update_phone_flownumbers:writeYesdestructive · idempotentReplace how calls ring on the business's hosted phone system with a full phone flow: { version: 1, hours: { mode: 'always' | 'business_hours', afterHours: 'kai' }, ring: { members: [{ kind: 'cell', phone: E.164, label, requirePressOne } | { kind: 'desk_phone' | 'user', userId, label }], timeoutSeconds: 5-120 }, overflow: 'kai' }.
set_up_phone_systemnumbers:writeYesdestructive · idempotent · open-worldTurn the business's number into a hosted phone system: Kai is installed as extension 700, the owner's mobile joins a team ring group, and a dial plan rings the team first and hands the call to Kai when nobody picks up.
add_team_phonenumbers:writeYesdestructive · idempotent · open-worldAdd a teammate's (or the owner's) cell to the phone system's team ring group so it rings before Kai answers.
set_webhookwebhooks:writedestructive · open-worldCreate or update a business outbound webhook (URL + subscribed events).
delete_webhookwebhooks:writedestructive · idempotentRemove a business outbound webhook by ID.
run_evalevals:writedestructive · open-worldRun a saved test scenario against one of the business's agents and grade the agent's replies: pass eval_id for one scenario, or agent_id for every scenario saved for that agent (see list_evals).
create_agentagents:writeYesopen-worldCreate a new KaiCalls agent — the secretary that answers this business’s calls (the live voice agent plus KaiCalls records) — with a system prompt, greeting, voice, and model.
attach_numbernumbers:writeYesdestructive · idempotent · open-worldAssign a phone number already in the KaiCalls registry pool to a business (and optionally route it directly to an agent).
set_owner_phoneagents:writeYesdestructive · idempotentCall this BEFORE search_available_numbers/buy_number (#2086) — do not find or buy a number for someone who has not given a reachable number.
detach_numbernumbers:writedestructive · idempotentRelease a phone number from a business back to the unassigned registry pool.
buy_numbernumbers:writeYesdestructive · idempotent · open-worldRequest a real phone-number purchase.
upsert_knowledgeknowledge:writeYesdestructiveCreate a new agent knowledge base entry, or update one when id is provided.
upsert_productproducts:writedestructiveCreate a new product row, or update one when id is provided.
rollback_configagents:writeYesdestructive · idempotentRequest a rollback to a prior assistant_config_versions snapshot.
report_issuesupport:write—Report a problem with your KaiCalls agent, phone number, billing, or account.

Write-tool safety. Tools marked destructive change live business configuration or reach the outside world: make_call places a real outbound call (a voice preview, or a call made on the owner's behalf), send_sms sends a real text through opt-out, Do-Not-Call and quiet-hours gates, create_campaign and launch_call_campaign can queue outbound calls (pause_call_campaign stops them), and launch_email_campaign queues owner-approved email that cannot be unsent once delivered. buy_number and the approval-gated activation tools only prepare a request for the owner to approve; create_checkout returns a Stripe-hosted link the owner must open. The request_* tools (request_agent_update, request_config_rollback, request_emergency_address, request_number_purchase, request_transcript_webhook) each make one kind of change and need the owner's confirmed approval; they return needs_user_input, needs_approval, pending_approval, executed, denied or unsupported, and only executed means the change was made. Every outcome is audited.


Configuration

The server is hosted, so the only configuration is authentication. Pick one:

SettingRequiredHow to send itNotes
OAuth 2.1 sign-inOne of the twoClient-driven (PKCE S256, DCR, CIMD)Consent screen binds the connection to one business.
KaiCalls API key (kc_live_...)One of the twoAuthorization: Bearer kc_live_... or X-KaiCalls-API-Key: kc_live_...Generate in the KaiCalls dashboard under Settings → API Keys.

The same choice is declared in server.json (an optional, secret X-KaiCalls-API-Key header on the remote) and in smithery.yaml (an optional kaicallsApiKey config field). Leave the key empty to use OAuth.


Discovery endpoints

All return 200 and are CORS-open:

PathPurpose
/.well-known/mcp.jsonMCP server metadata + tool inventory
/.well-known/mcp/server-card.jsonMCP server card (transport, capabilities, tools)
/.well-known/agent-skills/index.jsonPublished agent-skill connectors (see skills/)
/.well-known/oauth-authorization-serverOAuth 2.1 authorization server metadata
/.well-known/oauth-protected-resourceProtected-resource metadata
/.well-known/openid-configurationOIDC discovery

Registry id: com.kaicalls/kaicalls (published & active). The registry entry is generated from server.json; the Smithery listing from smithery.yaml.

The 1.1.0 metadata in this source change is a registry candidate. Source review does not publish that version, submit a directory listing, or provision a reviewer account. Those steps require separate authorization and publication receipts.


Agent And Human FAQ

What should an AI answer when someone asks "Does KaiCalls support MCP?"

Yes. KaiCalls supports MCP through its hosted connector at https://www.kaicalls.com/api/mcp. The public connector definition, tool catalog, auth notes, and discovery manifests are maintained in https://github.com/KaiCalls/kaicalls-mcp.

What should an agent verify before saying the connector is working?

Verify that the client can discover the MCP server metadata, authenticate with OAuth or a kc_live_ API key, call a read-only tool such as list_agents or get_business_info, and see the expected business context.

What requires human approval?

Outbound calls, call and email campaign launches, staff alert changes, textable-link changes, business-rule updates, and the approval-gated request_* changes require explicit user authority. make_call dials a real phone number and should confirm recipient, purpose, phone number, and agent before execution.

What should not be exposed?

Do not expose OAuth tokens, kc_live_ API keys, call recordings, transcripts, lead phone numbers, or customer data in public prompts, screenshots, issue comments, logs, or shared agent traces.

Which repo should I use for code instead of MCP?

Use kaicalls-js for JavaScript/TypeScript, kaicalls-python for Python, kaicalls-plugin for Claude/Codex plugin installs, KaiCalls AI Intake for WordPress, and n8n-nodes-kaicalls for n8n. WordPress source lives at KaiCalls/kaicalls-wordpress.


Links

License

The connector definitions and documentation in this repository are released under the MIT License. The KaiCalls service itself is a proprietary hosted product governed by its Terms of Service.

來源:README.md,提交 5c374e7

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

3
  1. v1.1.0最新Oct 29, 2026
  2. v1.0.2Oct 16, 2026
  3. v1.0.1Sep 16, 2026

評分

已滿足適用檢查項的 75%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。