Documentation Index
Fetch the complete documentation index at: https://docs.wavix.com/llms.txt
Use this file to discover all available pages before exploring further.
The Model Context Protocol (MCP) is an open standard for connecting AI assistants to external tools and services. Instead of writing code to call an API, you describe what you want in natural language and the agent handles the rest.
The Wavix MCP server exposes your Wavix account as a set of tools that any MCP-compatible client can call. Add a single configuration block to Claude Code, Cursor, VS Code, or Codex and you get immediate access to SMS, voice, numbers, SIP trunking, 2FA, speech analytics, billing, and more.
When to use MCP vs. the REST API
| MCP | REST API |
|---|
| Best for | AI-assisted workflows, exploration, prototyping | Production applications, automation pipelines |
| How you interact | Natural language prompts | Code (HTTP requests, SDK calls) |
| Who uses it | Developers, operations teams, AI agents | Backend services, scheduled jobs |
| Authentication | Bearer token via MCP client config | Bearer token in Authorization header |
Server URL
https://mcp.wavix.com/mcp
Integration options
Claude Code
Cursor
VS Code
Codex
Run the following command to add the Wavix MCP server:claude mcp add wavix https://mcp.wavix.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Replace YOUR_API_KEY with your Wavix API key. To verify it was added:
- Open the command palette with Cmd+Shift+P (or Ctrl+Shift+P on Windows).
- Search for Open MCP settings and select Add custom MCP to open
mcp.json.
- Add the following:
{
"mcpServers": {
"wavix": {
"url": "https://mcp.wavix.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Replace YOUR_API_KEY with your Wavix API key.Create a .vscode/mcp.json file in your project and add the following:{
"servers": {
"wavix": {
"type": "http",
"url": "https://mcp.wavix.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Replace YOUR_API_KEY with your Wavix API key. Open (or create) ~/.codex/config.toml and add the following:[mcp_servers.wavix]
url = "https://mcp.wavix.com/mcp"
http_headers = { "Authorization" = "Bearer YOUR_API_KEY" }
Replace YOUR_API_KEY with your Wavix API key.
The tools available to your agent depend on the scopes granted to your API key. You can manage scopes in Administration → API Keys in the Wavix portal.
SMS / MMS
| Tool | Description |
|---|
sms_and_mms_messages_send | Send an SMS or MMS message |
sms_and_mms_messages_get | Retrieve a message by ID |
sms_and_mms_messages_list | List messages with optional filters |
sms_and_mms_messages_list_all | List all messages without pagination |
sms_and_mms_sender_ids_list | List Sender IDs on your account |
sms_and_mms_sender_ids_create | Create a new Sender ID |
sms_and_mms_sender_ids_get | Get a Sender ID by ID |
sms_and_mms_sender_ids_delete | Delete a Sender ID |
sms_and_mms_opt_outs_list | List opted-out numbers |
sms_and_mms_opt_outs_create | Add a number to the opt-out list |
Voice
| Tool | Description |
|---|
call_control_list | List active calls |
call_control_create | Initiate an outbound call |
call_control_get | Get details of a specific call |
call_control_update | Update call parameters |
call_control_delete | Delete a call record |
call_control_answer | Answer an inbound call |
call_control_streams_create | Start a media stream on a call |
call_control_streams_delete | Stop a media stream on a call |
call_control_audio_play | Play audio into a call |
call_control_audio_stop | Stop audio playback on a call |
call_control_collect | Collect DTMF input from a caller |
cdrs_list | List call detail records |
cdrs_search | Search CDRs by date, number, and disposition |
cdrs_get | Get a single CDR by ID |
cdrs_list_all | List all CDRs without pagination |
cdrs_retranscribe | Request retranscription of a CDR |
cdrs_transcription_get | Get the transcription for a CDR |
call_recording_list | List call recordings |
call_recording_get | Get a specific recording and its download URL |
call_recording_delete | Delete a call recording |
call_webhooks_list | List call webhooks |
call_webhooks_create | Create a call webhook |
call_webhooks_delete | Delete a call webhook |
Speech Analytics
| Tool | Description |
|---|
speech_analytics_create | Submit an audio file for speech analytics |
speech_analytics_get | Retrieve speech analytics results |
speech_analytics_retranscribe | Request retranscription of an analytics job |
speech_analytics_file_get | Download the audio file for an analytics job |
Phone Numbers
| Tool | Description |
|---|
buy_countries_list | List countries available for number purchase |
buy_regions_list | List regions within a country |
buy_cities_list | List cities within a country |
buy_region_cities_list | List cities within a specific region |
buy_numbers_list | Search available numbers to purchase |
cart_get | Get the current number purchase cart |
cart_add | Add a number to the cart |
cart_remove | Remove a number from the cart |
cart_checkout | Purchase all numbers in the cart |
my_numbers_list | List phone numbers on your account |
my_numbers_get | Get details of a specific number |
my_numbers_update | Update a number’s settings |
my_numbers_sms_update | Update SMS-specific settings for a number |
my_numbers_destinations_update | Update inbound call routing for a number |
my_numbers_papers_upload | Upload regulatory documents for a number |
my_numbers_delete | Release a number from your account |
SIP Trunking
| Tool | Description |
|---|
sip_trunks_list | List SIP trunks on your account |
sip_trunks_create | Create a new SIP trunk |
sip_trunks_get | Get the configuration of a specific SIP trunk |
sip_trunks_update | Update a SIP trunk’s settings |
sip_trunks_delete | Delete a SIP trunk |
10DLC
| Tool | Description |
|---|
ten_dlc_brands_list | List 10DLC brands |
ten_dlc_brands_create | Create a new brand |
ten_dlc_brands_get | Get a specific brand |
ten_dlc_brands_update | Update a brand |
ten_dlc_brands_delete | Delete a brand |
ten_dlc_brand_appeals_list | List appeals for a brand |
ten_dlc_brand_appeals_create | Submit a brand appeal |
ten_dlc_brand_evidence_list | List evidence files for a brand |
ten_dlc_brand_evidence_upload | Upload a brand evidence file |
ten_dlc_brand_evidence_get | Get a specific evidence file |
ten_dlc_brand_evidence_delete | Delete an evidence file |
ten_dlc_brand_vettings_list | List vettings for a brand |
ten_dlc_brand_vettings_create | Create a brand vetting |
ten_dlc_brand_vettings_import | Import an external vetting |
ten_dlc_brand_vetting_appeals_list | List appeals for a brand vetting |
ten_dlc_brand_vetting_appeals_create | Submit a brand vetting appeal |
ten_dlc_brand_usecase_qualify | Check which use cases a brand qualifies for |
ten_dlc_campaigns_list | List all campaigns |
ten_dlc_brand_campaigns_list | List campaigns for a specific brand |
ten_dlc_brand_campaigns_create | Create a new campaign |
ten_dlc_brand_campaigns_get | Get a specific campaign |
ten_dlc_brand_campaigns_update | Update a campaign |
ten_dlc_brand_campaigns_delete | Delete a campaign |
ten_dlc_subscriptions_list | List campaign subscriptions |
ten_dlc_subscriptions_create | Create a campaign subscription |
ten_dlc_subscriptions_delete | Delete a subscription |
ten_dlc_campaign_numbers_list | List numbers linked to a campaign |
ten_dlc_campaign_numbers_link | Link a number to a campaign |
ten_dlc_campaign_numbers_unlink | Unlink a number from a campaign |
ten_dlc_campaigns_nudge | Nudge a campaign for faster TCR review |
2FA / OTP
| Tool | Description |
|---|
two_fa_verification_create | Send a verification code to a phone number |
two_fa_verification_resend | Resend a verification code |
two_fa_verification_check | Verify a code submitted by the user |
two_fa_verification_cancel | Cancel an active verification session |
two_fa_sessions_list | List verification sessions |
two_fa_events_list | List verification events |
Number Validator
| Tool | Description |
|---|
number_validator_get | Validate a single phone number |
number_validator_create_bulk | Submit a bulk number validation job |
number_validator_results_get | Retrieve the results of a bulk validation job |
Voice Campaigns
| Tool | Description |
|---|
voice_campaigns_create | Create an outbound voice campaign |
voice_campaigns_get | Get a voice campaign by ID |
WebRTC
| Tool | Description |
|---|
webrtc_tokens_list | List WebRTC tokens |
webrtc_tokens_create | Create a WebRTC token for browser-based calling |
webrtc_tokens_get | Get a specific WebRTC token |
webrtc_tokens_update | Update a WebRTC token |
webrtc_tokens_delete | Delete a WebRTC token |
Link Shortener
| Tool | Description |
|---|
link_shortener_create | Create a trackable short link |
link_shortener_metrics_list | Retrieve click metrics for a short link |
Billing
| Tool | Description |
|---|
billing_transactions_list | List billing transactions |
billing_invoices_list | List invoices |
billing_invoices_download | Download an invoice as a PDF |
Account
| Tool | Description |
|---|
profile_get | Get your account profile |
profile_update | Update your account profile |
profile_config_get | Get account configuration settings |
api_keys_list | List API keys on your account |
api_keys_create | Create a new API key |
api_keys_delete | Delete an API key |
api_keys_activate | Activate an API key |
api_keys_deactivate | Deactivate an API key |
Sub-accounts
| Tool | Description |
|---|
sub_accounts_list | List sub-accounts |
sub_accounts_create | Create a new sub-account |
sub_accounts_get | Get a specific sub-account |
sub_accounts_update | Update a sub-account |
sub_accounts_transactions_list | List transactions for a sub-account |
Example prompts
“The SMS I sent to +12125551234 an hour ago hasn’t been delivered. Can you check what happened?”
The agent will use sms_and_mms_messages_list to find recent messages sent to that number, then call sms_and_mms_messages_get to retrieve the full delivery status and any associated error codes.
“Show me all outbound calls from yesterday that weren’t answered, and tell me which numbers they went to.”
The agent will use cdrs_search to query call records from yesterday filtered by outbound direction and no-answer disposition, then return a list of destination numbers and call times.
“Search last month’s inbound calls for any where the agent mentioned ‘refund’ or ‘escalate.’ Show me the call UUIDs.”
The agent will use cdrs_search to retrieve last month’s inbound calls, then call cdrs_transcription_get for each one to scan for the specified keywords and return the matching call UUIDs.
“Search for available US local numbers containing ‘555’ and buy the first one you find.”
The agent will use buy_numbers_list to search US local numbers matching the pattern, then call cart_add to select the first result. Before calling cart_checkout to complete the purchase, it will ask for your confirmation.
“What’s my current balance and am I likely to have enough for sending 10,000 SMS messages to US numbers?”
The agent will use billing_transactions_list to retrieve your recent billing activity, calculate your running balance, and estimate whether it covers the cost of the planned send.
Recommendations
- Use a restricted API key. Create a dedicated key with only the scopes the agent needs. A key scoped to
messaging doesn’t need access to SIP trunks or number purchasing.
- Some actions are immediate and billable. The agent confirms before purchasing numbers, but sends messages and places calls without a follow-up prompt. Double-check your instructions before bulk operations.
- Keep it internal. The MCP server is a developer and operations tool, not a customer-facing interface.