Wavix

officiel

Wavix est une plateforme de communications mondiale proposant des API pour la voix, les SMS, la 2FA et les numéros de téléphone. Notre serveur MCP apporte ces capacités aux agents IA et aux workflows agentiques.

Que pouvez-vous faire avec Wavix MCP ?

  • Envoyer des SMS transactionnels — Demandez l'envoi d'un SMS avec un texte personnalisé et un numéro d'expéditeur via sms_and_mms_messages_send.
  • Exécuter la vérification 2FA — Créez et vérifiez des codes de vérification pour les flux de connexion sans mot de passe à l'aide de two_fa_verification_create et two_fa_verification_check.
  • Trouver et acheter des numéros — Recherchez les numéros disponibles par pays/fonctionnalités, ajoutez-les au panier et finalisez l'achat avec confirmation via buy_numbers_list, cart_add et cart_checkout.
  • Rechercher des transcriptions d'appels — Trouvez des appels par durée et mots-clés dans les transcriptions, puis enrichissez-les avec des métadonnées complètes via cdrs_search et cdrs_get.
  • Transcrire des enregistrements d'appels — Récupérez un enregistrement d'appel, demandez sa transcription et interrogez les résultats à l'aide de call_recording_get_by_call, cdrs_retranscribe et cdrs_transcription_get.
  • Auditer la facturation — Listez les transactions et factures filtrées par type et date via billing_transactions_list et billing_invoices_list.

Documentation

Serveur MCP Wavix

License: MIT MCP

Un serveur Model Context Protocol qui donne aux LLM et aux agents IA un accès direct à la plateforme télécom Wavix — SMS/MMS, appels vocaux, 2FA, trunking SIP, gestion des numéros de téléphone, enregistrement 10DLC, enregistrements d'appels, analyse vocale et facturation.

Wavix est une plateforme de communication mondiale pour l'envoi de SMS, les appels vocaux et les flux 2FA via une API unique. Un essai gratuit est disponible ; l'utilisation payante suit le plan de tarification Wavix associé à votre compte.

Le moyen le plus rapide d'utiliser ce serveur MCP est le point de terminaison hébergé à https://mcp.wavix.com/mcp — pointez n'importe quel client compatible MCP vers celui-ci et connectez-vous en vous identifiant avec votre compte Wavix ou avec une clé API Wavix. Si vous devez auto-héberger (déploiement Wavix personnalisé, derrière un pare-feu, instance dédiée), consultez Exécuter votre propre serveur.

Table des matières

Point de terminaison

ChampValeur
URLhttps://mcp.wavix.com/mcp
TransportHTTP streamable
AuthentificationConnexion avec un compte Wavix (OAuth 2.1), ou Authorization: Bearer <api_key>
Outilsvoir TOOLS.md
RessourcesDocumentation Wavix + spécification OpenAPI (découverte automatique)

Obtenez une clé API Wavix depuis la Console Wavix → Administration → Clés API → Créer nouvelle.

Installation

Deux façons de se connecter — choisissez celle que votre client prend en charge ; aucune n'est requise par rapport à l'autre.

Connexion avec un compte Wavix

Si votre client MCP prend en charge OAuth (Claude Desktop / Web, et autres clients compatibles OAuth), connectez-vous sans clé API : ajoutez le connecteur pour https://mcp.wavix.com/mcp et, lorsque le client vous invite, connectez-vous avec votre compte Wavix et approuvez l'accès. Le client exécute le flux OAuth 2.1 et stocke le jeton lui-même — rien à coller. Les outils que vous obtenez sont limités à ce que vous approuvez et à ce que votre rôle de compte permet (voir Dépannage).

Connexion avec une clé API

Avant de commencer : récupérez votre clé API Wavix.

  1. Connectez-vous à https://wavix.com.
  2. Ouvrez Administration → Clés API.
  3. Cliquez sur Créer nouvelle (ou copiez une clé existante). Gardez-la à portée de main — vous la collerez à la place de YOUR_API_KEY ci-dessous.

Installation en un clic

⚠️ Les boutons ci-dessous initialisent la configuration MCP de votre éditeur avec un jeton d'espace réservé YOUR_API_KEY. Après l'installation par l'éditeur, ouvrez la configuration générée et remplacez le jeton d'espace réservé par votre vraie clé API avant d'envoyer toute requête — sinon chaque appel renverra 401 Unauthorized.

Install in VS Code Install in Cursor

Pour supprimer plus tard : ouvrez le même fichier de configuration (~/.cursor/mcp.json, .vscode/mcp.json, ou l'équivalent pour votre éditeur) et supprimez l'entrée wavix, ou retirez le connecteur via l'interface MCP / Connecteurs de votre éditeur.

Claude Code

claude mcp add --transport http wavix https://mcp.wavix.com/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Utilisez claude mcp list pour vérifier et /mcp dans une session pour l'état.

Claude Desktop / Claude Web

Paramètres → Connecteurs → Ajouter un connecteur personnalisé :

  • Nom : Wavix
  • URL : https://mcp.wavix.com/mcp
  • Transport : Streamable HTTP
  • En-tête d'authentification : Authorization: Bearer <api_key>

Pour vous connecter par connexion à la place, ajoutez le connecteur sans en-tête d'authentification et connectez-vous avec votre compte Wavix lorsque le client vous invite.

Cursor (manuel)

Ajoutez à ~/.cursor/mcp.json (ou au niveau du projet .cursor/mcp.json) :

{
  "mcpServers": {
    "wavix": {
      "url": "https://mcp.wavix.com/mcp",
      "headers": {
        "Authorization": "Bearer <api_key>"
      }
    }
  }
}

Cursor 2.4+ expose le catalogue complet ; les versions antérieures plafonnent à 40.

VS Code (manuel, GitHub Copilot Chat)

Créez .vscode/mcp.json dans votre espace de travail (ou ajoutez le même objet servers sous la clé "mcp" dans l'utilisateur settings.json) :

{
  "servers": {
    "wavix": {
      "type": "http",
      "url": "https://mcp.wavix.com/mcp",
      "headers": {
        "Authorization": "Bearer <api_key>"
      }
    }
  }
}

Consultez le guide des serveurs MCP VS Code pour le schéma à jour.

Codex CLI

Codex CLI prend en charge MCP sur stdio. Faites le pont vers le serveur hébergé via mcp-remote. Modifiez ~/.codex/config.toml :

[mcp_servers.wavix]
command = "npx"
args = [
  "-y",
  "mcp-remote",
  "https://mcp.wavix.com/mcp",
  "--header",
  "Authorization:Bearer ${WAVIX_API_KEY}"
]

[mcp_servers.wavix.env]
WAVIX_API_KEY = "YOUR_API_KEY"

Windsurf / autres clients

Tout client MCP qui prend en charge le transport HTTP streamable avec des en-têtes personnalisés fonctionnera. Utilisez :

  • URL : https://mcp.wavix.com/mcp
  • En-tête : Authorization: Bearer <api_key>

Configuration via un agent IA ? Pointez votre agent vers llms-install.md — c'est un guide d'installation lisible par machine qui donne au modèle l'URL, l'en-tête et la configuration par client dans un format déterministe afin qu'il n'improvise pas les valeurs de point de terminaison.

Exécuter votre propre serveur

Le serveur hébergé fonctionne immédiatement pour la plupart des utilisateurs. Auto-hébergez si vous devez pointer vers un déploiement Wavix non public, fonctionner derrière un pare-feu ou opérer dans votre propre infrastructure.

Docker

docker build -t wavix-mcp-server .
docker run --rm -p 8000:8000 wavix-mcp-server

Le serveur écoute sur le port 8000 et expose le point de terminaison MCP à /mcp. Pointez votre client vers http://<host>:8000/mcp.

Depuis la source

git clone https://github.com/Wavix/wavix-mcp-server.git
cd wavix-mcp-server
pip install -e .
wavix-mcp

Nécessite Python 3.10+.

Configuration

Variable d'environnementDéfautObjectif
WAVIX_API_BASE_URLhttps://api.wavix.comRemplace le point de terminaison API Wavix en amont (pour les déploiements internes ou de préproduction)
OAUTH_ISSUERnon définiURL de base du serveur d'autorisation OAuth 2.1. Son JWKS est lu depuis <issuer>/.well-known/jwks.json
OAUTH_RESOURCEnon définiURL de base publique à laquelle ce serveur est accessible, utilisée comme identifiant de ressource
OAUTH_API_KEY_PASSTHROUGHtrueAvec OAuth activé, accepte toujours un porteur qui n'est pas un JWT OAuth et le transmet en amont (les clés API continuent de fonctionner). Définissez false pour exiger un JWT
MCP_PATH/mcpChemin sur lequel le point de terminaison MCP est servi

Aucune information d'identification Wavix n'est requise pour exécuter le serveur — elles sont transmises par requête depuis l'en-tête Authorization: Bearer <api_key> du client MCP. Les auto-hébergeurs sont responsables de la terminaison TLS devant le serveur (nginx, Caddy, équilibreur de charge cloud) avant de l'exposer publiquement.

OAuth 2.1 (optionnel)

Définissez OAUTH_ISSUER et OAUTH_RESOURCE ensemble pour transformer le serveur en ressource protégée OAuth 2.1. Il publie alors les métadonnées RFC 9728 à /.well-known/oauth-protected-resource<MCP_PATH>, valide les jetons d'accès entrants comme JWT contre le JWKS de l'émetteur, et répond aux requêtes non authentifiées avec un défi WWW-Authenticate pointant vers ces métadonnées. Les clients MCP qui prennent en charge OAuth utilisent cela pour exécuter eux-mêmes le flux d'autorisation, de sorte que les utilisateurs n'ont plus à coller de clé API dans leur configuration client.

L'audience que chaque jeton doit porter est OAUTH_RESOURCE + MCP_PATH, qui est également la valeur resource publiée dans les métadonnées. Les serveurs d'autorisation implémentant RFC 8707 comparent le paramètre resource du client à cette chaîne exactement, donc les deux doivent être configurés pour correspondre — y compris le chemin.

L'activation d'OAuth ne coupe pas les clients qui s'authentifient avec une clé API Wavix. Un jeton porteur qui n'est pas un JWT OAuth valide est transmis en amont sans vérification, exactement comme avant, laissant l'API Wavix comme seule autorité sur celui-ci — donc un déploiement existant peut activer OAuth pour les nouveaux clients sans casser ceux déjà connectés. Une requête sans aucun jeton reçoit toujours le défi WWW-Authenticate, ce qui permet à un client compatible OAuth de découvrir le serveur d'autorisation. Seules les connexions authentifiées OAuth sont filtrées par portée ; une connexion par clé API voit la surface d'outils complète.

Définissez OAUTH_API_KEY_PASSTHROUGH=false pour supprimer ce repli et exiger un JWT valide — le mode strict à adopter une fois l'accès par clé API retiré.

Laisser l'une ou l'autre de OAUTH_ISSUER / OAUTH_RESOURCE non définie conserve le comportement précédent : aucune métadonnée n'est publiée et tout jeton porteur envoyé par le client est transmis en amont sans vérification.

Exemples

Des invites concrètes que vous pouvez déposer dans n'importe quel client connecté.

Les numéros de téléphone ci-dessous (+1 310 555 0100, +44 7700 900123) se trouvent dans des plages de test réservées (NANP 555 et Ofcom 070 09xx) — sûrs à copier tels quels, aucun abonné réel n'est joignable via eux.

Envoyer un SMS transactionnel

Invite : "Envoie un SMS depuis +13105550100 à +447700900123 disant 'Votre code de vérification est 4821'."

L'agent appelle sms_and_mms_messages_send avec from, to et text. Renvoie l'ID du message et l'état de livraison.

Exécuter une vérification 2FA

Invite : "Envoie un code de vérification 2FA à +13105550100 par SMS. Quand je te donne le code que je reçois, vérifie s'il est correct."

L'agent appelle two_fa_verification_create, attend que vous partagiez le code reçu par SMS, puis appelle two_fa_verification_check. Utile pour prototyper des flux sans mot de passe sans écrire de code d'intégration.

Trouver et acheter un numéro de téléphone

Invite : "Trouve un numéro gratuit américain disponible avec capacité SMS, ajoute-le à mon panier et finalise l'achat."

L'agent enchaîne buy_numbers_list (filtrage par pays et fonctionnalité), cart_add et cart_checkout. cart_checkout renvoie d'abord un aperçu avec les numéros et leurs frais, et facture le compte uniquement lorsqu'il est rappelé avec son confirmation_token.

Rechercher des transcriptions d'appels

Invite : "Montre-moi tous les appels entrants d'hier de plus de deux minutes où l'appelant a mentionné 'remboursement'."

L'agent utilise cdrs_search sur les transcriptions, puis enrichit chaque résultat via cdrs_get pour les métadonnées complètes d'appel.

Récupérer un enregistrement et le transcrire

Invite : "Récupère l'enregistrement de l'appel abc-123, demande à Wavix de le transcrire et renvoie la transcription."

L'agent appelle call_recording_get_by_call (renvoie une URL de téléchargement pré-signée), cdrs_retranscribe, puis interroge cdrs_transcription_get.

Auditer la facturation

Invite : "Combien avons-nous dépensé en SMS le mois dernier, et quelles factures ont été émises ?"

L'agent appelle billing_transactions_list filtré par type et date, puis billing_invoices_list. Le téléchargement du PDF de facture lui-même n'est pas exposé via MCP — récupérez-le depuis l'API ou le tableau de bord Wavix.

Outils

Généré à partir de la spécification OpenAPI Wavix. Les arguments reflètent les paramètres de requête et les champs du corps. Les outils affichés dépendent des autorisations que vous approuvez à la connexion et des fonctionnalités activées sur votre compte.

GroupeCouverture
SMS et MMSEnvoyer, lister, récupérer des messages ; identifiants d'expéditeur ; désinscriptions
WhatsAppComptes professionnels ; expéditeurs ; modèles ; envoyer / lister / récupérer des messages
Contrôle des appelsDémarrer / répondre / terminer des appels ; lire de l'audio ; collecter des DTMF
Enregistrement des appelsLister, télécharger (URL pré-signée), supprimer
Streaming des appelsDémarrer / arrêter le flux média
Webhooks d'appelsLister, créer, supprimer
CDRLister, récupérer ; recherche de transcription et retranscription
Analyse de la paroleTranscrire, récupérer le fichier original
2FACréer / vérifier / annuler / renvoyer la vérification ; événements
Mes numérosLister, mettre à jour, libérer ; routage SMS / voix
AcheterPays, régions, villes ; recherche de numéros disponibles
PanierAjouter, retirer, récupérer, passer à la caisse
Validateur de numérosValidation unique et en masse
Troncs SIPCRUD complet
10DLCMarques, campagnes, vérification, preuves, abonnements aux événements
ProfilObtenir / mettre à jour le profil ; configuration du compte
Clés APILister, créer, mettre à jour, supprimer
Sous-comptesLister, créer, obtenir, mettre à jour ; transactions
FacturationTransactions ; lister les factures / relevés
Campagnes vocalesDéclencher et récupérer
Wavix Embeddable (WebRTC)CRUD des jetons de widget
Raccourcisseur de liensCréer des liens courts ; métriques

Voir TOOLS.md pour la liste complète des outils avec des descriptions en une ligne. La source faisant autorité est la spécification OpenAPI de Wavix — votre client voit toujours le catalogue en direct actuel.

Ressources

En plus des outils, le serveur expose la documentation Wavix en tant que Ressources MCP, afin que le modèle puisse récupérer un contexte faisant autorité à la demande plutôt que de deviner à partir de connaissances antérieures.

Schéma d'URIContenu
wavix://docs/<path>Pages de documentation de docs.wavix.com (découvertes automatiquement via llms.txt).
wavix://api/openapi.yamlLa spécification complète OpenAPI 3.0 de Wavix.

Les deux sources — docs.wavix.com et la spécification OpenAPI de Wavix — sont publiquement disponibles et peuvent être consultées directement sans authentification.

Les ressources sont récupérées paresseusement sur resources/read et mises en cache côté serveur avec un TTL d'une heure. Le jeton Bearer en amont n'est jamais transmis aux hôtes de documentation — uniquement à api.wavix.com.

Authentification

Le serveur hébergé accepte deux méthodes de connexion — aucune n'est privilégiée :

  • Se connecter avec un compte Wavix (OAuth 2.1). Pour les clients compatibles OAuth. Le client exécute le flux d'autorisation et l'utilisateur se connecte ; aucune clé API n'est stockée. L'accès est limité aux portées approuvées par l'utilisateur et autorisées par son rôle de compte. Voir Se connecter avec un compte Wavix.
  • Clé API Wavix (Bearer). Pour tout client Streamable-HTTP. Chaque requête doit inclure :
Authorization: Bearer <api_key>

Le serveur transmet cet en-tête à api.wavix.com pour chaque requête. Le jeton :

  • n'est jamais journalisé,
  • n'est jamais transmis lors de redirections entre hôtes (par exemple, les URL de téléchargement S3 pré-signées),
  • n'est jamais envoyé aux hôtes de documentation.

Si votre client suit une URL de téléchargement pré-signée renvoyée par call_recording_get_by_call, speech_analytics_file_get ou ten_dlc_brand_evidence_get, récupérez-la directement sans l'en-tête Authorization.

Bonnes pratiques

  • Utilisez une clé API dédiée pour MCP. Créez une clé API séparée sur https://wavix.com → Administration → Clés API (ou via l'outil api_keys_create lui-même, depuis une autre session). Cela vous permet de révoquer l'accès MCP sans perturber d'autres intégrations.

  • Faites une rotation périodique. Traitez la clé API comme tout secret de production : faites une rotation selon un calendrier et en cas de suspicion de fuite.

  • Gardez les clés API hors de git. Les configurations de clients MCP sont faciles à committer par accident, emportant le jeton avec elles dans l'historique et les journaux CI. La plupart des clients prennent en charge la substitution ${env:VAR} dans la valeur de l'en-tête — stockez la clé API dans une variable d'environnement ou votre trousseau OS et référencez-la depuis la configuration. Comme filet de sécurité, ajoutez les chemins courants de configuration client à votre .gitignore de projet :

    .cursor/mcp.json
    .vscode/mcp.json
    claude_desktop_config.json
    .claude/mcp.json
    .codex/config.toml
    

Si un identifiant est compromis

Si vous vous êtes connecté avec une clé API :

  1. Dans la console Wavix, désactivez ou supprimez cette clé immédiatement (ou appelez api_keys_delete).
  2. Créez un remplacement via api_keys_create ou la console.
  3. Mettez à jour la configuration du client et reconnectez-vous.

Si vous vous êtes connecté en vous connectant avec votre compte Wavix :

  1. Révoquez la connexion depuis la page de gestion des autorisations du portail Wavix, qui liste les connexions que vous avez autorisées et révoque celle que vous choisissez — cela invalide les jetons de cette connexion. Aucune clé API n'est impliquée.
  2. Reconnectez-vous et connectez-vous à nouveau.

Dans les deux cas, examinez billing_transactions_list et cdrs_list pour toute activité inattendue.

Dépannage

SymptômeCause probable / correctif
401 Unauthorized de tout outilÉchec de l'authentification. Avec une clé API : l'en-tête Authorization: Bearer … est manquant, ou la clé est invalide ou inactive — vérifiez-la dans la console Wavix. Avec la connexion par compte : votre session/jeton a expiré ou a été révoqué, ou la connexion n'a jamais été terminée — reconnectez-vous et connectez-vous à nouveau.
L'outil renvoie un download_url, pas le fichier lui-mêmeAttendu. Les points de terminaison d'enregistrement, d'analyse de la parole et de preuves 10DLC renvoient des URL pré-signées (voir Authentification). Récupérez l'URL directement sans l'en-tête Authorization.
Le client n'affiche qu'une partie du catalogueLes clients plus anciens imposent une limite d'outils par serveur. Mettez à niveau (Cursor 2.4+, dernier VS Code, dernier Claude).
Moins d'outils disponibles après la connexion avec un compte WavixAttendu. La connexion par compte est filtrée par portée — vous obtenez les outils que vos portées approuvées et votre rôle de compte permettent, pas le catalogue complet. Une connexion par clé API voit la surface d'outils complète. Pour élargir l'ensemble, approuvez plus de portées à la connexion (sous réserve de votre rôle) ou connectez-vous avec une clé API qui les porte.
Tool not found pour un outil listé dans ce READMELe client local peut mettre en cache une ancienne liste d'outils. Redémarrez le client, ou supprimez et réajoutez le serveur.
4xx avec un tableau errorsErreur de validation de l'API Wavix. Inspectez errors ; recoupez avec la page wavix://docs/* pertinente ou la spécification OpenAPI.
Impossible d'atteindre le serveurConfirmez le DNS et le HTTPS sortant vers mcp.wavix.com:443.
L'agent appelle un outil destructeur de manière inattendueLa plupart des clients peuvent exiger une confirmation avant les appels d'outils — activez ce paramètre et faites une rotation vers une clé API MCP dédiée (voir Bonnes pratiques).

Compatibilité et limites

  • Compatible avec tout client MCP prenant en charge le transport Streamable HTTP (Claude Desktop / Web / Code, Cursor 2.4+, VS Code, Windsurf, SDK MCP personnalisés) et tout framework d'agent avec un adaptateur client MCP.
  • Chaque outil annoté avec destructiveHint, plus call_webhooks_create, sip_trunks_update et sub_accounts_update, s'exécute en deux étapes : le premier appel renvoie un aperçu et un confirmation_token à usage unique (valable 5 minutes), et l'action ne s'exécute que lorsque l'outil est appelé à nouveau avec les mêmes arguments et ce jeton. Tout client MCP peut faire cela ; aucun support de confirmation côté client n'est nécessaire.
  • Les clients plus anciens peuvent imposer une limite d'outils par serveur ; mettez à niveau vers une version récente pour accéder au catalogue complet.
  • Les limites de débit et les frais d'utilisation suivent le plan de votre compte Wavix. Voir Tarification Wavix.

Journal des modifications

Le serveur hébergé est mis à jour en continu à mesure que la spécification OpenAPI de Wavix évolue ; de nouveaux outils apparaissent automatiquement et les arguments des outils existants peuvent gagner des champs optionnels. Les modifications de documentation pour ce dépôt sont suivies sous Releases. Pour les changements de comportement substantiels affectant les entrées d'outils ou l'authentification, nous publierons un avis à la fois là et dans les notes de version Wavix.

Support

Contribution

Ce dépôt est source-disponible mais non ouvert aux contributions externes. Les pull requests sont automatiquement fermées, et les Issues / Discussions sont désactivées. Envoyez les rapports de bugs, demandes de fonctionnalités et retours à support@wavix.com. Voir CONTRIBUTING.md pour plus de détails.

Si vous trouvez un bug dans le framework sous-jacent FastMCP, veuillez le signaler en amont là-bas.

Sécurité

Pour signaler une vulnérabilité de sécurité, veuillez envoyer un e-mail à support@wavix.com avec l'objet Security: <short summary> plutôt que d'ouvrir une issue publique. Voir SECURITY.md pour plus de détails.

Licence

MIT © Wavix