MCP
Connectez Claude, Cursor ou tout client MCP au serveur distant WASync. Six outils, aucun code de votre côté.
WASync exploite un serveur MCP distant via Streamable HTTP. Ajoutez-le à un client MCP et l'agent dispose d'outils WhatsApp, sans code de votre côté.
https://cloudapi.wasync.app/api/mcpCet hôte est voulu. L'URL de base REST et tous les liens destinés aux
utilisateurs utilisent developers.wasync.app, mais l'URL du serveur MCP, les
endpoints OAuth et les documents /.well-known/… sont des identifiants de
protocole que les clients ont déjà enregistrés : ils restent sur
cloudapi.wasync.app et doivent correspondre octet pour octet. Ne les
« normalisez » pas.
Connecter un client
Pour les clients qui lisent un fichier de configuration (Claude Desktop, Cursor, …) :
{
"mcpServers": {
"wasync": {
"url": "https://cloudapi.wasync.app/api/mcp"
}
}
}L'authentification utilise OAuth 2.0 avec PKCE, gérée par le client : le premier appel ouvre un navigateur, vous approuvez, et le client stocke les jetons. Il n'y a aucune clé à coller.
Un client sans prise en charge native du MCP distant peut passer par un pont stdio :
npx mcp-remote https://cloudapi.wasync.app/api/mcpLe trouver dans le registre
WASync est référencé dans le registre MCP officiel sous le nom :
app.wasync/whatsappLes clients et annuaires qui lisent le registre peuvent trouver le serveur par son nom, sans coller l'URL.
Les outils
| Tool | What it does | Needs |
|---|---|---|
list_whatsapp_connections | Liste les connexions que l'autorisation peut utiliser, avec leur statut et l'état de la licence. Tous les autres outils prennent un identifiant de connexion issu de cette liste. | read |
get_whatsapp_connection | L'état actuel d'une connexion : en ligne ou non, statut et expiration de la licence. Lecture seule. | read |
read_whatsapp_messages | Messages stockés, du plus récent au plus ancien, sur toutes les connexions partagées ou sur une seule ; paginés avec nextCursor. Rien n'est envoyé et aucun accusé de lecture n'est affiché. | read |
send_whatsapp_message | Envoie un message texte depuis une connexion à un destinataire. La description de l'outil demande au modèle de confirmer d'abord le destinataire et le texte : un message WhatsApp ne peut pas être rappelé. | send |
send_whatsapp_file | Envoie un fichier (document, image, audio ou vidéo, jusqu'à 5 Mo) avec une légende facultative. Fournissez un lien https direct dans url (recommandé) ou du base64 dans data. Même règle de confirmation préalable : il ne peut pas être rappelé. | send |
mark_whatsapp_messages_read | Marque comme lus (coches bleues) les messages entrants d'un client, par numéro de téléphone ou par identifiant de message. | send |
Ils correspondent à GET /connections, GET /connections/{id}, GET /messages,
POST /messages (texte et médias) et POST /messages/read, et ils respectent
les mêmes scopes : un agent ne peut faire que ce que
l'autorisation permet.
Envoyer un fichier
send_whatsapp_file accepte exactement l'un des deux : url ou data :
{
"connectionId": "conn_123",
"to": "40700000000",
"url": "https://files.example.com/offers/offer-2026.pdf",
"filename": "offer-2026.pdf",
"caption": "Here is the offer we discussed."
}urldoit être un lienhttps://direct vers un fichier que n'importe qui sur Internet peut ouvrir sans se connecter. WASync le télécharge (jusqu'à 5 Mo, 20 secondes) et reprend lemimetypede la réponse du serveur de fichiers, sauf si vous en indiquez un. Les liens qui pointent vers des réseaux privés, vers WASync lui-même ou vers une page web plutôt qu'un fichier sont refusés.dataest le fichier en base64 brut (sans préfixedata:), de 5 Mo au plus une fois décodé ;mimetypeest alors obligatoire. Privilégiezurl: faire transiter les octets d'un fichier par la conversation d'un modèle est lent et coûteux.filenameest ce que voit le destinataire (sans barres obliques) ;captionest facultatif, jusqu'à 1024 caractères.
Les échecs reviennent sous forme d'erreurs d'outil, avec un code stable au début
du message : invalid_url, url_not_allowed, download_failed,
file_too_large, invalid_media, ou send_failed: <reason> lorsque WASync a
refusé l'envoi.
MCP ou API REST ?
Utilisez MCP lorsqu'un agent supervisé par un humain doit pouvoir accéder à WhatsApp : répondre depuis un client de chat, rédiger des réponses, faire des recherches. Utilisez l'API REST lorsque votre propre logiciel gère le comportement et a besoin de webhooks, de clés d'idempotence, de fichiers de plus de 5 Mo ou de provisionnement — rien de tout cela n'est exposé par MCP.
Une autorisation OAuth n'est délivrée que sur des connexions déjà existantes : MCP ne peut donc pas créer la première connexion d'un espace de travail. Créez-la d'abord avec une API key : Démarrage rapide.
n8n
Installez le nœud communautaire, créez l'identifiant, construisez un premier workflow et comprenez la limite du webhook unique avant d'ajouter un déclencheur.
Webhooks
Un seul endpoint signé par compte. Vérification de la signature, catalogue des événements, politique de nouvelles tentatives et rotation du secret.