What's new, 21 October 2026: A customer who sends several messages before the bot's first reply no longer gets the opening sequence of a Chat Flow twice
WASync · Developers

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é.

MCP server URL
https://cloudapi.wasync.app/api/mcp

Cet 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, …) :

mcp config
{
  "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/mcp

Le trouver dans le registre

WASync est référencé dans le registre MCP officiel sous le nom :

app.wasync/whatsapp

Les clients et annuaires qui lisent le registre peuvent trouver le serveur par son nom, sans coller l'URL.

Les outils

ToolWhat it doesNeeds
list_whatsapp_connectionsListe 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_connectionL'état actuel d'une connexion : en ligne ou non, statut et expiration de la licence. Lecture seule.read
read_whatsapp_messagesMessages 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_messageEnvoie 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_fileEnvoie 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_readMarque 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 :

send_whatsapp_file arguments
{
  "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."
}
  • url doit être un lien https:// 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 le mimetype de 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.
  • data est le fichier en base64 brut (sans préfixe data:), de 5 Mo au plus une fois décodé ; mimetype est alors obligatoire. Privilégiez url : faire transiter les octets d'un fichier par la conversation d'un modèle est lent et coûteux.
  • filename est ce que voit le destinataire (sans barres obliques) ; caption est 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.

Cette page vous a-t-elle été utile ?

On this page