- Required parameters are shown in bold; everything else is optional. Defaults are noted in the description.
- Rate limit: 60 requests per minute per company across all tools. A large job runs in batches; a
429means wait a minute and continue. - A ⚠️ marks a write you cannot undo through the MCP (a deleted campaign, or a created contact / voice agent / knowledge base / AIVA tool that has no delete tool here).
- Tools marked Asks for confirmation return a preview of what would happen instead of acting, and execute only when the call carries explicit confirmation. Your assistant is what decides to show you that preview and ask. CloudTalk does not remember that a preview was returned, so an assistant that confirms on its own behalf executes in one step — treat this as a review step your assistant honours, not a lock CloudTalk enforces.
- The Campaigns tools require the new Sales Dialer add-on.
- Call tags and contact tags are separate catalogs; an id from one is rejected by the other.
- Every profile includes the connection check and the four account lookups.
Calls & analytics
cloudtalk_search_calls
Find calls, newest first. Returns compact summaries (with tags as{id, name}); use cloudtalk_get_call for detail. Covers external calls only: internal agent-to-agent calls are not in this call log, so totals can read lower than the Dashboard, which counts them. Each row’s total_time is a composite duration, not the connected time: ring plus talking plus wrap-up on an inbound call, talking plus wrap-up on an outbound one. The public API’s billsec for the same call counts only the connected part, so the two do not match — compare talking_time, the closest counterpart. The first page also returns the total match count (items_count, page_count); later pages return rows only. You can page through up to 10,000 matching calls per search; to reach more, narrow the date range or add a filter.
cloudtalk_get_call_insights
AI summary, sentiment, topics, smart notes and talk-listen ratio for one call.cloudtalk_get_call
Full detail for one call: contact, agent, tags, timings, call flow, topics, sentiment.cloudtalk_get_call_transcript
The verbatim, speaker-tagged transcript as time-coded segments. A call with no transcript answerstranscription: null with reason: "no_transcript" — an answer, not a transport failure, so there is nothing to retry.
cloudtalk_get_call_recording
A signed link to the call audio, valid for up to 12 hours and sometimes much less. Fetch it again rather than storing it. A call with no recording returns a clear “no recording” answer. Every access is audit-logged.cloudtalk_list_call_tags
List the call tags your company can attach to a call. Every id returned is onecloudtalk_add_call_tags accepts. Call tags are a separate catalog from contact tags (cloudtalk_list_contact_tags); the ids are not interchangeable.
cloudtalk_add_call_tags
Attach one or more call tags to a call. Idempotent: tags already on the call are ignored, so re-running is safe. Returns the call’s full tag set after the change.cloudtalk_remove_call_tags
Detach one or more tags from a call. Idempotent: tags not on the call are ignored, and only the ids you name are removed. Reversible withcloudtalk_add_call_tags. Returns the call’s full tag set after the change.
cloudtalk_get_agent_performance
One agent’s activity aggregated over a period: call counts, talk time, top contacts and tags. Counts are reliable; the talk-time figures presently often come backnull, which means no answered call in the window reported a duration — unknown, never zero. Read talk_reported_count against answered for the coverage, and cloudtalk_get_call for one call’s exact duration.
cloudtalk_realtime_group_stats
Live queue stats per group: agents online, waiting calls, abandon rate, wait times. Counts are today-so-far (UTC). No parameters.Contacts
cloudtalk_get_contact_interactions_summary
Compact digest of one contact’s history: counts, last contact, top tags, plus AI summaries and a sentiment trend over recent calls.cloudtalk_list_contacts
List contacts, search them by free text, or look up an exact address withemail. Tag filtering differs by lane: listing matches all the given tags by default; a keyword query always matches any one.
cloudtalk_get_contact
Full detail for one contact: profile, address, all numbers and emails, tags, CRM links.cloudtalk_get_contact_journey
360° timeline for one contact: every call in the window, notes and activities, merged newest-first. Includes the 100 most recent notes and 100 most recent activities.cloudtalk_create_contact
Create a contact. ⚠️ No duplicate check: creating the same person twice makes two contacts, and there is no tool to delete a contact through the MCP. Search withcloudtalk_list_contacts first, then create only the ones that are missing.
cloudtalk_update_contact
Update fields on a contact. Only the fields you pass change, buttags, phone_numbers, emails and custom_fields are replaced in full, so send the complete list. Asks for confirmation.
Optional fields: the same set as
cloudtalk_create_contact.
cloudtalk_add_contact_note
Add a note to a contact. Notes are additive; existing ones are never touched.cloudtalk_log_contact_activity
Log a CRM-style activity: an order, an email, a custom event from another system.cloudtalk_bulk_tag_contacts
Tag many contacts in one call. Returns per-contact success and error counts. Asks for confirmation.Messaging & calling
cloudtalk_send_sms
Send an SMS to a customer from one of your numbers. Sends to one recipient per call; to message several people, send them one at a time. Asks for confirmation.cloudtalk_initiate_call
Click-to-call: rings the chosen agent first, then dials the customer once they pick up. The agent must be online in CloudTalk and not already on a call, or the call fails. Asks for confirmation.cloudtalk_trigger_aiva_call
Place an outbound AI Voice Agent call. The call is queued; a session ID comes back for tracking. Asks for confirmation.cloudtalk_list_sms_conversations
An agent’s SMS threads: customer number, unread count, last-message preview.cloudtalk_list_sms_messages
The messages in one SMS thread, newest first.AI Voice Agents
cloudtalk_create_voice_agent
Create an AI Voice Agent. Invalid configurations are rejected with specific errors and nothing is saved. ⚠️ There is no tool to delete a voice agent through the MCP; a created agent is managed or removed in the Dashboard. Asks for confirmation.
A Deepgram agent with secondary languages is saved as long as Deepgram serves every language. The create response then lists ElevenLabs under
optimized_settings, and cloudtalk_get_voice_agent under optimizedSettings. A language, primary or secondary, that the agent’s provider does not serve is rejected with LANGUAGE_NOT_SUPPORTED and nothing is saved.
cloudtalk_list_voice_agents
Your AI Voice Agents: ID, name, direction.cloudtalk_get_voice_agent
One agent’s full configuration as CloudTalk stores it, with camelCase keys, including itsprovider, llm and optimizedSettings. The create and update tools return a shorter summary with snake_case keys, where the same object is optimized_settings.
optimizedSettings compares the agent with the values CloudTalk recommends for its current setup. available (the Public API names this field isAvailable) is true when they differ, and each entry of changes names a setting by its path with its current value (from) and the recommended one (to). effects lists what applying them brings that no setting holds, such as backup models. CloudTalk never applies these values on its own: to adopt them, pass apply_optimized_settings to cloudtalk_update_voice_agent.
cloudtalk_update_voice_agent
Change an agent’s configuration. Pass only the fields you want to change: the tool reads the stored agent and merges your fields onto it, so anything you leave out,provider and llm included, keeps its stored value. A field you pass replaces the stored value whole, so to change one entry of skills, scenarios, guardrails, secondaryLanguages, knowledgeBaseIds or elevenLabsSettings, read it with cloudtalk_get_voice_agent and pass the complete value back. Asks for confirmation.
Plus any parameter of
cloudtalk_create_voice_agent; none of them is required here.
An update never changes a value you did not pass. minorVersion keeps its stored value: passing a different one is refused, so an agent moves to the latest version only through apply_optimized_settings.
To adopt the agent’s optimized settings, pass "apply_optimized_settings": true. The tool sets every change’s path to its to value in one save: provider, llm, the latest minorVersion and any elevenLabsSettings keys. A nested path such as elevenLabsSettings.vad replaces that one key and keeps the rest of elevenLabsSettings. Don’t adopt the changes by passing each to under its path yourself: minorVersion is refused, and a dotted path is not a parameter. You can change other fields in the same save, except the inputs the optimized settings depend on. The tool refuses the call and saves nothing when:
- the agent has no optimized settings to apply (
availableisfalse); - you also pass a different value for one of the paths it would set; send either the optimized value or your own. A value equal to the stored one (the change’s
from) is not a conflict, so you can resend the full stored configuration; - you pass
providerOverrideorllmOverride, which would override the applied value; - you also change an input the optimized settings depend on:
language,secondaryLanguages,knowledgeBaseIds, custom skills or tools, transfer-to-human rules,scenariosorgoalPrompt. Save that change first, then apply the optimized settings in a separate call, so they are worked out for the saved setup.
optimized_settings_available is the available flag, optimized_settings holds the changes and effects, and applies_optimized_settings says whether this save applies them. The update response, like the create response, returns the whole object as optimized_settings.
cloudtalk_list_knowledge_bases
Knowledge bases with type, status, and which agents use them.cloudtalk_create_knowledge_base
Give voice agents material to answer from: inline text, or a public web page ingested in the background. ⚠️ There is no tool to delete a knowledge base through the MCP; manage it in the Dashboard. Asks for confirmation.cloudtalk_list_voice_agent_tools
HTTP actions a voice agent can perform mid-conversation, with their current assignments.cloudtalk_assign_tool_to_voice_agent
Give an agent an action. Assigning one it already has is a safe no-op. Asks for confirmation.cloudtalk_unassign_tool_from_voice_agent
Take an action away from one agent; other agents keep it. Asks for confirmation.cloudtalk_create_voice_agent_tool
Create an AIVA tool: an HTTP action a voice agent can call mid-conversation. If the server rejects the tool, it returns the validator’s specific errors and nothing is saved. ⚠️ There is no tool to delete an AIVA tool through the MCP; manage it in the Dashboard. Asks for confirmation. Header and parameter values may hold credentials for your endpoint. They are sent to CloudTalk but never shown back in previews or responses.cloudtalk_update_voice_agent_tool
Update an AIVA tool. Only the fields you pass change; omitted fields, including stored header and parameter values, are preserved. Passing an empty list explicitly clears that list. Asks for confirmation.
Optional fields: the same set as
cloudtalk_create_voice_agent_tool.
Campaigns
The campaign tools require the new Sales Dialer add-on. Without it, these tools have nothing to operate on.
cloudtalk_launch_campaign_from_source
Create a campaign, attach its sources, and start it in one step. Not atomic: if a later step fails, the campaign is left ininitializing and dials nothing, and the response says how far it got. Asks for confirmation.
Also accepts the same optional config bundles as
cloudtalk_create_campaign (the policy objects, agent_permissions, waterfall_order, call_script_id, survey_id).
cloudtalk_list_campaigns
List outbound campaigns with status, mode and contact sources.cloudtalk_get_campaign
One campaign in detail: sources, status, policies, linked script and survey.cloudtalk_get_campaign_statistics
How a campaign is performing: the contact funnel by state, dialed and answered counts with the answer rate, conversions and conversion rate, how many calls reached a person, a voicemail or another machine, the disposition breakdown, and call durations. Figures are aggregates for the whole campaign; no contact, agent or call is identified. Without a window the figures are all-time. Withdate_from and date_to the dialing outcomes, dispositions and durations cover that window only, and range in the response echoes it. The contact funnel always shows the campaign’s current state; a window does not narrow it. Rates are fractions from 0 to 1: the answer rate is answered calls divided by calls dialed, and the conversion rate is conversions divided by dispositioned calls, not by calls dialed. All-time figures come from a running total the dialer keeps, and updated_at says when it last changed; a windowed read is counted when you ask and has no updated_at. Results can be up to 60 seconds old. Also in the Analytics profile, together with cloudtalk_list_campaigns for finding the id. The same figures are available from the API as Get a campaign’s statistics.
A windowed read is the expensive kind; ask for one campaign at a time rather than many at once.
cloudtalk_create_campaign
Create a campaign. It starts ininitializing and dials nothing until you add sources and set it active. Asks for confirmation.
cloudtalk_update_campaign
Update a campaign’s configuration. Scalar fields merge, but a policy bundle you pass is replaced in full: send the complete bundle fromcloudtalk_get_campaign, because any key you leave out is dropped from the stored bundle. It is not reset to some default value — cloudtalk_get_campaign simply stops returning it, and the campaign runs as though that setting had never been configured. Asks for confirmation.
Plus at least one field from the
cloudtalk_create_campaign set. Pass null for call_script_id or survey_id to clear that link.
cloudtalk_set_campaign_status
Start, pause or archive a campaign. Pausing never interrupts calls already in progress. Asks for confirmation.cloudtalk_delete_campaign
⚠️ Delete a campaign. This is terminal and irreversible: the status becomesdeleted, with no undo and no way to reactivate it. This is not archiving; to retire a campaign reversibly, use cloudtalk_set_campaign_status with archived (which exits back to inactive). Asks for confirmation.
cloudtalk_get_campaign_associations
A campaign’s contact sources (tags) and assignees (groups, agents). Read this before replacing them.cloudtalk_replace_campaign_associations
Set a campaign’s sources and assignees. One write covers all three kinds and always sends all three: a kind you pass replaces its current set in full (an empty array clears it), and a kind you omit is preserved. Asks for confirmation.Connection
cloudtalk_health_check
Check that CloudTalk is reachable and see which company and user your API key resolved to. Run this first when something is failing: it separates an authentication or wrong-account problem from a data problem. No parameters.Account lookups
The reference data other tools need: agent, group, number and tag ids. Included in every profile.cloudtalk_list_agents
Agents: names, emails, extensions, availability, default number.cloudtalk_list_groups
Agent groups (queues and teams).cloudtalk_list_numbers
Your phone numbers with friendly names and caller IDs.cloudtalk_list_contact_tags
Your contact tag catalog: the tags used on contacts and bycloudtalk_bulk_tag_contacts. Call tags live in a separate catalog; for those use cloudtalk_list_call_tags.