Hosted MCP server for the Wavix telecom platform: SMS, voice, 2FA, SIP, numbers, 10DLC, CDRs.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A Model Context Protocol server that gives LLMs and AI agents direct access to the Wavix telecom platform β SMS/MMS, voice calls, 2FA, SIP trunking, phone-number management, 10DLC registration, call recordings, speech analytics, and billing.
Wavix is a global communications platform for sending SMS, placing voice calls, and running 2FA flows over a single API. A free trial is available; paid usage follows the Wavix pricing plan attached to your account.
The fastest way to use this MCP server is the hosted endpoint at https://mcp.wavix.com/mcp β point any MCP-compatible client at it and connect by signing in with your Wavix account or with a Wavix API key. If you need to self-host (custom Wavix deployment, behind a firewall, dedicated instance), see Run your own.
| Field | Value |
|---|---|
| URL | https://mcp.wavix.com/mcp |
| Transport | Streamable HTTP |
| Auth | Sign in with a Wavix account (OAuth 2.1), or Authorization: Bearer <api_key> |
| Tools | see TOOLS.md |
| Resources | Wavix docs + OpenAPI spec (auto-discovered) |
Get a Wavix API key from the Wavix Console β Administration β API keys β Create new.
Two ways to connect β pick whichever your client supports; neither is required over the other.
If your MCP client supports OAuth (Claude Desktop / Web, and other OAuth-capable clients), connect without an API key: add the connector for https://mcp.wavix.com/mcp and, when the client prompts, sign in with your Wavix account and approve access. The client runs the OAuth 2.1 flow and stores the token itself β nothing to paste. The tools you get are scoped to what you approve and your account role permits (see Troubleshooting).
Before you start: grab your Wavix API key.
YOUR_API_KEY below.β οΈ The buttons below seed your editor's MCP config with a placeholder token
YOUR_API_KEY. After the editor finishes installing, open the generated config and replace the placeholder with your real API key before sending any request β otherwise every call will return401 Unauthorized.
To remove later: open the same config file (~/.cursor/mcp.json, .vscode/mcp.json, or the equivalent for your editor) and delete the wavix entry, or remove the connector through your editor's MCP / Connectors UI.
Use claude mcp list to verify and /mcp inside a session for status.
Settings β Connectors β Add custom connector:
Wavixhttps://mcp.wavix.com/mcpStreamable HTTPAuthorization: Bearer <api_key>To connect by signing in instead, add the connector without an authentication header and sign in with your Wavix account when the client prompts.
Add to ~/.cursor/mcp.json (or project-level .cursor/mcp.json):
Cursor 2.4+ exposes the full catalogue; earlier versions cap at 40.
Create .vscode/mcp.json in your workspace (or add the same servers object under the "mcp" key in user settings.json):
See the VS Code MCP servers guide for the up-to-date schema.
Codex CLI supports MCP over stdio. Bridge to the hosted server via mcp-remote. Edit ~/.codex/config.toml:
Any MCP client that supports Streamable HTTP transport with custom headers will work. Use:
https://mcp.wavix.com/mcpAuthorization: Bearer <api_key>Setting up via an AI agent? Point your agent at llms-install.md β it's a machine-readable install guide that gives the model the URL, header, and per-client configuration in a deterministic format so it doesn't improvise endpoint values.
The hosted server works out of the box for most users. Self-host if you need to point at a non-public Wavix deployment, run behind a firewall, or operate inside your own infrastructure.
The server listens on port 8000 and exposes the MCP endpoint at /mcp. Point your client at http://<host>:8000/mcp.
Requires Python 3.10+.
| Env var | Default | Purpose |
|---|---|---|
WAVIX_API_BASE_URL | https://api.wavix.com | Override the upstream Wavix API endpoint (for internal deployments or staging) |
OAUTH_ISSUER | unset | Base URL of the OAuth 2.1 authorization server. Its JWKS is read from <issuer>/.well-known/jwks.json |
OAUTH_RESOURCE | unset | Public base URL this server is reached at, used as the resource identifier |
OAUTH_API_KEY_PASSTHROUGH | true | With OAuth on, still accept a bearer that is not an OAuth JWT and forward it upstream (API keys keep working). Set false to require a JWT |
MCP_PATH | /mcp | Path the MCP endpoint is served on |
No Wavix credentials are required to run the server β they are forwarded per-request from the MCP client's Authorization: Bearer <api_key> header. Self-hosters are responsible for terminating TLS in front of the server (nginx, Caddy, cloud load balancer) before exposing it publicly.
Set OAUTH_ISSUER and OAUTH_RESOURCE together to turn the server into an
OAuth 2.1 protected resource. It then publishes [RFC 9728][rfc9728] metadata at
/.well-known/oauth-protected-resource<MCP_PATH>, validates incoming access
tokens as JWTs against the issuer's JWKS, and answers unauthenticated requests
with a WWW-Authenticate challenge pointing at that metadata. MCP clients that
support OAuth use this to run the authorization flow themselves, so users no
longer paste an API key into their client config.
The audience each token must carry is OAUTH_RESOURCE + MCP_PATH, which is
also the resource value published in the metadata. Authorization servers
implementing [RFC 8707][rfc8707] compare the client's resource parameter
against that string exactly, so the two must be configured to match β including
the path.
Enabling OAuth does not cut off clients that authenticate with a Wavix API
key. A bearer token that is not a valid OAuth JWT is forwarded upstream
unverified, exactly as before, leaving the Wavix API the sole authority on it β
so an existing deployment can turn OAuth on for new clients without breaking
the ones already connected. A request carrying no token at all still gets the
WWW-Authenticate challenge, which is what lets an OAuth-capable client
discover the authorization server. Only OAuth-authenticated connections are
scope-filtered; an API-key connection sees the full tool surface.
Set OAUTH_API_KEY_PASSTHROUGH=false to drop that fallback and require a valid
JWT β the strict mode to switch to once API-key access is retired.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/wavix)<a href="https://allmcps.com/mcp/wavix"><img src="https://allmcps.com/api/badge/wavix?style=directory" alt="Wavix on AllMCPs" /></a>