mcp server
Wavix
Hosted MCP server for the Wavix telecom platform: SMS, voice, 2FA, SIP, numbers, 10DLC, CDRs.
Description as published by the maintainer. Source
- version 1.0.0
- active
- voice
active — Registry entry last updated 2026-05-25. Dashed tags are derived by ZBS Index from the published description, not stated by the maintainer.
What this server can do
122 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
api_keys_activate(id)- Activates an API key. Once activated, the API key can be used for authentication again. Required: id.
api_keys_create(calls, label, trunks, two_fa, account, billing, numbers, messages, webhooks, campaigns, is_active, validator, embeddable, recordings, subaccounts, permitted_ips, is_restriction, is_scopes_enabled)- Creates an API key. Optional IP restrictions can be configured to limit access.
api_keys_deactivate(id)- Deactivates an API key. Once deactivated, the API key cannot be used for authentication. Required: id.
api_keys_delete(id)- Deletes an API key. This action is permanent. Required: id.
api_keys_list(label)- Returns a list of API keys.
billing_invoices_download(id)- Get a download URL for a billing invoice PDF. Returns ``{download_url, content_type, status_code, note}`` instead of the binary PDF stream. Fetch ``download_url`` to obtain the file. Required: id.
billing_invoices_list(page, per_page)- Returns a paginated list of financial statements.
billing_transactions_list(page, type, to_date, payments, per_page, from_date, details_contains)- Returns a paginated list of financial transactions. Required: from_date, to_date.
buy_cities_list(country, text_enabled_only)- Returns a list of cities for countries where `has_provinces_or_states` is `false`. Required: country.
buy_countries_list(text_enabled_only)- Returns a list of countries where phone numbers are available.
buy_numbers_list(city, page, country, per_page, text_enabled_only)- Returns a paginated list of phone numbers available for purchase. Required: country, city.
buy_region_cities_list(region, country, text_enabled_only)- Returns a list of cities in the specified region for countries where `has_provinces_or_states` is `true`. Required: country, region.
buy_regions_list(country, text_enabled_only)- Returns a list of regions (states or provinces) for countries where `has_provinces_or_states` is `true`. Required: country.
call_control_answer(uuid, stream_url, stream_type, call_recording, stream_channel, call_transcription)- Answers an inbound call. Optionally initiate media streaming upon answering. Required: uuid.
call_control_audio_play(uuid, audio_file)- Plays audio in an active call. Required: uuid, audio_file.
call_control_audio_stop(uuid)- Stops audio playback in an active call. Required: uuid.
call_control_collect(uuid, prompt, timeout, max_digits, max_attempts, termination_character)- Collects DTMF input in an active call. Required: uuid.
call_control_create(to, tag, from, timeout, recording, callback_url, voicemail_detection)- Starts an outbound call. Required: from, to, callback_url.
call_control_delete(uuid)- Ends an active call. Required: uuid.
call_control_get(uuid)- Returns a call. Required: uuid.
call_control_list- Returns a list of active calls.
call_control_streams_create(uuid, stream_url, stream_type, stream_channel)- Starts call media streaming. Required: uuid, stream_url, stream_type, stream_channel.
call_control_streams_delete(uuid, stream_uuid)- Stops call media streaming. Required: uuid, stream_uuid.
call_control_update(tag, uuid)- Updates an active call. Only the `tag` field can be modified. Required: uuid, tag.
call_recording_delete(id)- Deletes a call recording. Required: id.
call_recording_get(call_uuid)- Get a download URL for a call recording audio file. Returns ``{download_url, content_type, status_code, note}`` instead of the binary audio stream. Fetch ``download_url`` to obtain the MP3. Required: call_uuid.
call_recording_list(to, from, page, to_date, per_page, call_uuid, from_date, sip_trunks)- Returns a paginated list of call recordings.
call_webhooks_create(url, event_type)- Creates a call webhook. Wavix sends POST callbacks for `on-call` and `post-call` events. Required: url, event_type.
call_webhooks_delete(event_type)- Deletes a call webhook. Required: event_type.
call_webhooks_list- Returns a list of configured call webhooks. Wavix sends POST callbacks for `on-call` and `post-call` events.
cart_add(ids)- Adds phone numbers to the cart. Required: ids.
cart_checkout(ids)- Checks out the cart. Activation and monthly fees are deducted from the account balance. Required: ids.
cart_get- Returns the cart.
cart_remove(ids)- Removes phone numbers from the cart. Required: ids.
cdrs_get(uuid, show_transcription)- Returns call details. Required: uuid.
cdrs_list(to, from, page, type, uuid, per_page, sip_trunk, to_search, disposition, from_search)- Returns a paginated list of CDRs. Required: from, to, type.
cdrs_list_all(to, from, page, type, uuid, per_page, sip_trunk, to_search, disposition, from_search)- Returns CDRs in NDJSON format for bulk export. Required: from, to, type.
cdrs_retranscribe(uuid, language, webhook_url)- Transcribes a recorded call. Required: uuid.
cdrs_search(to, from, page, type, uuid, per_page, sip_trunk, to_search, disposition, from_search, min_duration, transcription)- Searches call transcriptions for specific keywords or phrases. Required: type, from, to, page, per_page.
cdrs_transcription_get(uuid)- Returns a recorded call transcription. Required: uuid.
link_shortener_create(link, phone, fallback_url, utm_campaign, expiration_time)- Creates a short link. Required: link.
link_shortener_metrics_list(to, from, page, phone, per_page, utm_campaign)- Returns short link metrics. Required: from, to.
my_numbers_delete(ids, dids)- Releases phone numbers back to stock.
my_numbers_destinations_update(ids, destinations, sms_relay_url)- Updates inbound call routing for phone numbers. Required: ids, destinations, sms_relay_url.
my_numbers_get(id)- Returns a phone number. Required: id.
my_numbers_list(page, label, search, city_id, per_page, label_present)- Returns a paginated list of phone numbers on the account. Results are limited to 25 records per page by default. Use `page` and `per_page` to navigate results.
my_numbers_papers_upload(doc_id, did_ids, doc_attachment)- Uploads a document for one or more phone numbers. Uploaded files must meet the following requirements: - Allowed formats: PNG, JPG, JPEG, TIFF, BMP, or PDF - Maximum file size: 10 MB - Files can't be password protected - PDF files must not contain digital signatures
my_numbers_sms_update(id, sms_enabled)- Enables or disables inbound SMS support for a phone number.
my_numbers_update(id, sms_relay_url, call_status_url, transcription_enabled, call_recording_enabled, transcription_threshold)- Updates a phone number. Required: id.
number_validator_create_bulk(type, async, force, phone_numbers)- Returns details for multiple phone numbers. If `async` is true, returns a token to poll for results. Required: phone_numbers, type, async, force.
number_validator_get(type, phone_number)- Returns details for a phone number. Required: phone_number, type.
number_validator_results_get(request_id)- Returns asynchronous validation results. Required: request_id.
profile_config_get- Returns the account balance and configuration details.
profile_get- Returns the account profile and billing details.
profile_update(phone, contacts, job_title, last_name, time_zone, first_name, company_info, dlr_relay_url, sms_relay_url, additional_info, default_short_link_endpoint)- Updates the account profile and billing details.
sip_trunks_create(label, callerid, password, call_limit, cost_limit, allowed_ips, ip_restrict, host_request, max_channels, rewrite_cond, call_restrict, max_call_cost, rewrite_prefix, didinfo_enabled, encrypted_media, rewrite_enabled, multiple_numbers, channels_restrict, transcription_enabled, call_recording_enabled, transcription_threshold, machine_detection_enabled)- Creates a SIP trunk. Required: label, password, callerid, ip_restrict, didinfo_enabled, call_restrict, cost_limit, channels_restrict, rewrite_enabled, transcription_enabled, transcription_threshold.
sip_trunks_delete(id)- Deletes a SIP trunk. Required: id.
sip_trunks_get(id)- Returns a SIP trunk configuration. Required: id.
sip_trunks_list(page, per_page)- Returns a paginated list of SIP trunks. Results are limited to 25 records per page by default. Use `page` and `per_page` to navigate results.
sip_trunks_update(id, label, callerid, password, call_limit, cost_limit, allowed_ips, ip_restrict, host_request, max_channels, rewrite_cond, call_restrict, max_call_cost, rewrite_prefix, didinfo_enabled, encrypted_media, rewrite_enabled, multiple_numbers, channels_restrict, transcription_enabled, call_recording_enabled, transcription_threshold, machine_detection_enabled)- Updates a SIP trunk configuration. Required: id, label, password, callerid, ip_restrict, didinfo_enabled, call_restrict, cost_limit, channels_restrict, rewrite_enabled, transcription_enabled, transcription_threshold.
sms_and_mms_messages_get(id)- Returns a message. Required: id.
sms_and_mms_messages_list(to, tag, from, page, type, status, per_page, sent_after, sent_before, message_type)- Returns a paginated list of SMS and MMS messages. Required: type.
sms_and_mms_messages_list_all(to, tag, from, type, status, sent_after, sent_before, message_type)- Returns SMS and MMS messages in newline-delimited JSON (NDJSON) format. Required: type.
sms_and_mms_messages_send(to, tag, from, validity, callback_url, message_body)- Sends SMS or MMS messages. MMS is supported for U.S. numbers only. **Rate limit**: 20 messages per phone number in 24 hours. Required: from, to, message_body.
sms_and_mms_opt_outs_create(opt_out)- Creates an opt-out for a Sender ID, 10DLC campaign, or all outbound messages. Required: opt_out.
sms_and_mms_opt_outs_list(page, per_page, sender_id, campaign_id, created_after, created_before)- Returns a paginated list of opted-out phone numbers. Results are limited to 25 records per page by default. Use `page` and `per_page` to navigate results.
sms_and_mms_sender_ids_create(type, samples, usecase, countries, sender_id, monthly_volume)- Creates a Sender ID. Use the 10DLC API to create Sender IDs in the US. Required: sender_id, type, countries, usecase.
sms_and_mms_sender_ids_delete(id)- Deletes a Sender ID. Required: id.
sms_and_mms_sender_ids_get(id)- Returns a Sender ID. Required: id.
sms_and_mms_sender_ids_list- Returns a list of Sender IDs.
speech_analytics_create(file, insights, callback_url)- Uploads an audio file for transcription. Wavix sends a POST callback to the specified callback URL when the transcription is complete. Callback body: ```json { "request_id": "e865ea07-25af-4fdd-876e-04b0d41d5ebd", "status": "completed", "error": null } ``` - `request_id`: Transcription request ID. - `status`: Operation status. Possible values are `completed`, `failed`. `completed` indicates successful transcription; `failed` indicates an error. - `error`: Error description. Value is `null` if the transcription was successful.
speech_analytics_file_get(uuid)- Get a download URL for a speech-analytics audio file. Returns ``{download_url, content_type, status_code, note}`` instead of the binary audio stream (WAV/MP3/MP4). Fetch ``download_url`` to obtain the file. Required: uuid.
speech_analytics_get(uuid)- Returns a transcription. Required: uuid.
speech_analytics_retranscribe(uuid, insights, callback_url)- Retranscribes an uploaded file. Required: uuid.
sub_accounts_create(name, default_destinations)- Creates a sub-account. Required: name.
sub_accounts_get(id)- Returns a specific sub-account. Results are limited to 25 records per page by default. Use `page` and `per_page` to navigate results. Required: id.
sub_accounts_list(status)- Returns a paginated list of sub-accounts. Results are limited to 25 records per page by default. Use `page` and `per_page` to navigate results.
sub_accounts_transactions_list(id, page, type, to_date, per_page, from_date)- Returns a paginated list of transactions for a specific sub-account. Filter by date range and type. Results are paginated with 25 records per page by default. Use `page` and `per_page` to navigate results. Required: id, from_date, to_date.
sub_accounts_update(id, name, status, default_destinations)- Updates a sub-account's configuration. Required: id, name.
ten_dlc_brand_appeals_create(brand_id, evidence, explanation, appeal_categories)- Submits an appeal for 10DLC brand identity verification. Provide any additional documentation to support the appeal. Use `appeal_category` to specify the appeal type: - `VERIFY_TAX_ID` — Use if the brand is UNVERIFIED due to a tax ID mismatch. Applies to private companies, public companies, non-profits, and government entities. - `VERIFY_NON_PROFIT` — Use if a non-profit brand is UNVERIFIED or VERIFIED but missing tax-exempt status. - `VERIFY_GOVERNMENT` — Use if a government brand is UNVERIFIED or VERIFIED but missing government entity status. Required: brand_id, appeal_categories, evidence.
ten_dlc_brand_appeals_list(brand_id)- Returns a list of brand identity verification appeals. Required: brand_id.
ten_dlc_brand_campaigns_create(help, mock, name, optin, optout, sample1, sample2, sample3, sample4, sample5, usecase, brand_id, age_gated, description, auto_renewal, help_message, help_keywords, optin_message, direct_lending, embedded_links, optin_keywords, optin_workflow, optout_message, privacy_policy, embedded_phones, optout_keywords, terms_conditions, affiliate_marketing, embedded_link_sample)- Registers a 10DLC Campaign. Required: brand_id, affiliate_marketing, age_gated, auto_renewal, direct_lending, embedded_links, embedded_phones, embedded_link_sample, description, optin_workflow, help, help_keywords, help_message, optin, optin_keywords, optin_message, optout, optout_keywords, optout_message, name, sample1, sample2, sample3, sample4, sample5, mock, usecase, terms_conditions.
ten_dlc_brand_campaigns_delete(brand_id, campaign_id)- Deletes a 10DLC Campaign. Associated phone numbers cannot be used as Sender IDs once the Campaign is deleted. Required: brand_id, campaign_id.
ten_dlc_brand_campaigns_get(brand_id, campaign_id)- Returns a 10DLC Campaign. Required: brand_id, campaign_id.
ten_dlc_brand_campaigns_list(mock, name, page, status, usecase, brand_id, per_page, created_after, created_before)- Returns 10DLC Campaigns associated with a Brand. Results are limited to 25 records per page by default. Use `page` and `per_page` to navigate results. Required: brand_id.
ten_dlc_brand_campaigns_update(help, name, optin, optout, sample1, sample2, sample3, sample4, sample5, usecase, brand_id, age_gated, campaign_id, description, auto_renewal, help_message, help_keywords, optin_message, direct_lending, embedded_links, optin_keywords, optin_workflow, optout_message, privacy_policy, embedded_phones, optout_keywords, terms_conditions, embedded_link_sample)- Updates a 10DLC Campaign. Required: brand_id, campaign_id.
ten_dlc_brand_evidence_delete(uuid, brand_id)- Deletes a 10DLC Brand evidence file. Required: brand_id, uuid.
ten_dlc_brand_evidence_get(uuid, brand_id)- Get a download URL for a 10DLC brand evidence file. Returns ``{download_url, content_type, status_code, note}`` instead of the binary file stream. Fetch ``download_url`` to obtain the file. Required: brand_id, uuid.
ten_dlc_brand_evidence_list(brand_id)- Use this method to list previously uploaded Brand appeal evidence. Required: brand_id.
ten_dlc_brand_evidence_upload(file, brand_id)- Uploads 10DLC Brand evidence. Supported formats include .jpg, .png, .pdf, and more. File size must be under 10MB. Required: brand_id.
ten_dlc_brand_usecase_qualify(brand_id, use_case)- Returns the qualification results for a 10DLC Brand use case. Includes MNO-specific attributes, restrictions, and fees. Required: brand_id, use_case.
ten_dlc_brand_vetting_appeals_create(evp_id, brand_id, evidence, vetting_id, explanation, appeal_categories)- Submits an appeal for a 10DLC Brand external vetting. Required: brand_id, appeal_categories, evidence.
ten_dlc_brand_vetting_appeals_list(brand_id)- Returns a list of external vetting appeals for a 10DLC Brand. Required: brand_id.
ten_dlc_brand_vettings_create(evp_id, brand_id, vetting_class)- Requests external vetting for a 10DLC Brand. Supported providers: `AEGIS`, `CV`, `WMC`. Supported classes: `STANDARD`, `ENHANCED`. Required: brand_id, evp_id, vetting_class.
ten_dlc_brand_vettings_import(evp_id, brand_id, vetting_id, vetting_token)- Imports an existing external vetting for a 10DLC Brand. Required: brand_id, evp_id, vetting_id, vetting_token.
ten_dlc_brand_vettings_list(brand_id)- Returns a list of external vettings for a 10DLC Brand. Required: brand_id.
ten_dlc_brands_create(zip, city, mock, email, country, website, dba_name, vertical, ein_taxid, last_name, first_name, entity_type, company_name, phone_number, stock_symbol, stock_exchange, street_address, ein_taxid_country, state_or_province)- Registers a 10DLC Brand. TCR automatically verifies the brand identity. Only brands with `VERIFIED` or `VETTED_VERIFIED` identity status can register 10DLC Campaigns. Required: dba_name, company_name, entity_type, vertical, ein_taxid, ein_taxid_country, first_name, last_name, phone_number, email, street_address, city, state_or_province, country, zip.
ten_dlc_brands_delete(brand_id)- Deletes a 10DLC Brand. Brands with active campaigns cannot be deleted. Required: brand_id.
ten_dlc_brands_get(brand_id)- Returns a 10DLC Brand. Required: brand_id.
ten_dlc_brands_list(mock, page, status, country, dba_name, per_page, ein_taxid, entity_type, company_name, show_deleted, created_after, created_before)- Returns a paginated list of 10DLC brands. Filter results by date, name, legal name, and status. Results are limited to 25 records per page by default. Use `page` and `per_page` to navigate results.
ten_dlc_brands_update(zip, city, mock, email, country, website, brand_id, dba_name, vertical, ein_taxid, last_name, first_name, entity_type, company_name, phone_number, stock_symbol, stock_exchange, street_address, ein_taxid_country, state_or_province)- Updates a 10DLC brand. Updating identity-related parameters, including `ein_taxid`, `ein_taxid_country`, and `entity_type`, resets the Brand status to `UNVERIFIED` and triggers automatic re-submission. Brands in `VETTED_VERIFIED` status or with active Campaigns cannot be updated. Required: brand_id.
ten_dlc_campaign_numbers_link(number, brand_id, campaign_id)- Links a phone number to a 10DLC Campaign. Wavix automatically creates a Sender ID once the number is approved. Required: brand_id, campaign_id, number.
ten_dlc_campaign_numbers_list(brand_id, campaign_id)- Returns a list of phone numbers associated with a 10DLC Campaign. Required: brand_id, campaign_id.
ten_dlc_campaign_numbers_unlink(number, brand_id, campaign_id)- Unlinks a phone number from a 10DLC Campaign. The associated Sender ID is also deleted. Required: brand_id, campaign_id, number.
ten_dlc_campaigns_list(mock, name, page, status, usecase, per_page, created_after, created_before)- Returns a paginated list of 10DLC Campaigns. Filter results by date, status, and use case. Results are limited to 25 records per page by default. Use `page` and `per_page` to navigate results.
ten_dlc_campaigns_nudge(brand_id, campaign_id, description, nudge_intent)- Requests action on a pending or rejected 10DLC Campaign. Use `nudge_intent` to specify the action: - `REVIEW`: Request review for a pending Campaign. - `APPEAL_REJECTION`: Appeal a rejected Campaign. Note: - The Campaign must be at least 72 hours old. - Only one nudge request per Campaign is allowed every 24 hours. Required: brand_id, campaign_id, nudge_intent, description.
ten_dlc_subscriptions_create(url, subscription_category)- Subscribes to Wavix 10DLC event callbacks. Required: subscription_category, url.
ten_dlc_subscriptions_delete(subscription_category)- Deletes a 10DLC event subscription. Required: subscription_category.
ten_dlc_subscriptions_list- Returns a list of 10DLC event subscriptions.
two_fa_events_list(session_id)- Returns a list of events for a specific 2FA Verification. Required: session_id.
two_fa_sessions_list(to, from, service_id)- Returns a list of 2FA verifications. Filter by service or date. Required: service_id, from, to.
two_fa_verification_cancel(session_id)- Cancels a 2FA verification. After cancellation, no additional codes are sent, and previously sent codes can no longer be validated. You must create a new verification to send another code. Required: session_id.
two_fa_verification_check(code, session_id)- Validates the verification code. Required: session_id, code.
two_fa_verification_create(to, channel, service_id)- Creates a new 2FA Verification and sends a one-time password (OTP) to the destination phone number. Before using this endpoint, create a 2FA Service in the Wavix portal. The service is created once and reused to generate and validate OTPs. OTP flow: 1. Create a Verification to generate and send an OTP. 2. Reuse the same Verification to resend the OTP if needed. 3. Validate the OTP using the 2FA API When a Verification is created, Wavix generates a random code and sends it to the destination phone number via the selected channel. Required: service_id, to, channel.
two_fa_verification_resend(channel, session_id)- Resends the verification code using the specified channel. Previously sent codes are invalidated. Required: session_id, channel.
voice_campaigns_create(voice_campaign)- Triggers an outbound call based on a pre-configured scenario. Required: voice_campaign.
voice_campaigns_get(id)- Returns a specific voice campaign. Required: id.
webrtc_tokens_create(ttl, payload, sip_trunk)- Creates a Wavix Embeddable widget token. Required: sip_trunk, ttl.
webrtc_tokens_delete(uuid)- Deletes a Wavix Embeddable widget token. After deletion, the token can't be used to authenticate widget sessions, and any active session associated with it is terminated. Required: uuid.
webrtc_tokens_get(uuid)- Returns a Wavix Embeddable widget token configuration. Required: uuid.
webrtc_tokens_list- Returns a paginated list of active Wavix Embeddable widget tokens. Results are limited to 25 records per page by default. Use `page` and `per_page` to navigate results.
webrtc_tokens_update(uuid, payload)- Updates the payload for a Wavix Embeddable widget token. Required: uuid, payload.
Last successful function declaration observed on . Source: https://mcp.wavix.com/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://mcp.wavix.com/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Latest published version | 1.0.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-05-25 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-05-25 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 122 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | mcp.wavix.com | |
| mcp endpoint status | ok | The server listed 122 functions when asked. | as of probe | mcp.wavix.com |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json