Serveur MCP pour assistants IA
Le MCP (Model Context Protocol) est le standard ouvert qui permet à un assistant IA d’utiliser un logiciel à travers des outils. Le serveur MCP WhatSetter expose 34 outils, un par endpoint de l’API, pour que ton assistant lise tes leads, importe des contacts ou bloque un indicatif depuis une conversation.
Le serveur
Section intitulée « Le serveur »| Élément | Valeur |
|---|---|
| URL | https://mcp.whatsetter.com/mcp |
| Transport | Streamable HTTP. https://mcp.whatsetter.com/sse fonctionne encore pour les clients plus anciens. |
| Authentification | OAuth (recommandé) ou un en-tête direct Authorization: Bearer ws_live_… |
| Ce qu’il faut | Une clé API créée dans Paramètres, puis API & MCP |
Le serveur est un simple traducteur : chaque appel d’outil est un appel à l’API REST avec ta clé. Les scopes, les limites de débit et les règles anti-ban s’appliquent exactement comme pour l’API.
Deux façons de s’authentifier
Section intitulée « Deux façons de s’authentifier »OAuth. Tu ajoutes l’URL du serveur dans ton client. Le client ouvre une page de consentement WhatSetter dans ton navigateur ; tu colles ta clé ws_live_… une seule fois et tu cliques sur Authorize. Le client garde ensuite un jeton révocable et ne voit plus jamais la clé. À utiliser pour Claude, ChatGPT, Cursor, VS Code et tout client compatible OAuth.
Bearer direct. Tu passes la clé toi-même, dans un en-tête Authorization: Bearer ws_live_…. À utiliser pour les scripts, les serveurs et les clients où tu préfères gérer le secret dans une variable d’environnement.
POST https://mcp.whatsetter.com/mcpAuthorization: Bearer ws_live_…Dans les deux cas, révoquer la clé dans le dashboard coupe la connexion en moins d’une minute.
Claude Code
Section intitulée « Claude Code »Ajoute le serveur, puis lance /mcp dans Claude Code pour ouvrir la page de consentement :
claude mcp add --transport http whatsetter https://mcp.whatsetter.com/mcpPour utiliser la clé directement plutôt qu’OAuth :
claude mcp add --transport http whatsetter https://mcp.whatsetter.com/mcp \ --header "Authorization: Bearer ws_live_…"Ajoute --scope user pour rendre le serveur disponible dans tous tes projets plutôt que dans le projet courant.
Claude (web et application de bureau)
Section intitulée « Claude (web et application de bureau) »Les connecteurs personnalisés se configurent dans ton compte Claude, puis sont disponibles dans l’application web et dans l’application de bureau Claude.
- Ouvre Customize, puis Connectors.
- Clique sur +, puis Add custom connector.
- Colle
https://mcp.whatsetter.com/mcpcomme URL du serveur MCP distant, puis clique sur Add. - Une page WhatSetter s’ouvre : colle ta clé API et clique sur Authorize.
Clique sur le lien d’installation, ou ajoute le serveur à la main dans ~/.cursor/mcp.json. Cursor ouvre la page de consentement à la première utilisation.
{ "mcpServers": { "whatsetter": { "url": "https://mcp.whatsetter.com/mcp" } }}Pour utiliser la clé directement, ajoute un objet headers avec "Authorization": "Bearer ws_live_…" à la même entrée.
En ligne de commande, ou dans .vscode/mcp.json (ou ton profil utilisateur via MCP: Open User Configuration). VS Code lance le flux OAuth dans ton navigateur à la première connexion.
code --add-mcp '{"name":"whatsetter","type":"http","url":"https://mcp.whatsetter.com/mcp"}'{ "servers": { "whatsetter": { "type": "http", "url": "https://mcp.whatsetter.com/mcp" } }}Les serveurs MCP distants sont disponibles pour les comptes Pro, Plus, Business, Enterprise et Education sur le web, après activation du mode développeur.
- Ouvre Settings, puis Security and login, et active Developer mode.
- Va sur
chatgpt.com/pluginset sélectionne le bouton plus pour créer une app pour ton serveur MCP. - Donne-lui un nom, et sous Connection saisis
https://mcp.whatsetter.com/mcpcomme URL du serveur MCP. - Choisis OAuth comme authentification et termine la page de consentement WhatSetter.
Dans une conversation, choisis Developer mode dans le menu plus et sélectionne WhatSetter.
Gemini CLI
Section intitulée « Gemini CLI »Gemini CLI découvre le flux OAuth tout seul pour les serveurs HTTP distants :
gemini mcp add --transport http whatsetter https://mcp.whatsetter.com/mcpPour utiliser la clé directement :
gemini mcp add --transport http --header "Authorization: Bearer ws_live_…" whatsetter https://mcp.whatsetter.com/mcpCodex CLI
Section intitulée « Codex CLI »Avec la clé dans une variable d’environnement :
export WHATSETTER_API_KEY="ws_live_…"codex mcp add whatsetter --url https://mcp.whatsetter.com/mcp --bearer-token-env-var WHATSETTER_API_KEYOu avec OAuth :
codex mcp add whatsetter --url https://mcp.whatsetter.com/mcpcodex mcp login whatsetterL’équivalent dans ~/.codex/config.toml :
[mcp_servers.whatsetter]url = "https://mcp.whatsetter.com/mcp"bearer_token_env_var = "WHATSETTER_API_KEY"Les 34 outils
Section intitulée « Les 34 outils »Chaque outil demande le scope de l’endpoint qu’il appelle. Une clé sans ce scope fait répondre insufficient_scope à l’outil.
| Outil | Scope | Ce qu’il fait |
|---|---|---|
whoami |
aucun | Espace, nom de la clé et scopes accordés. Appelle-le en premier. |
list_leads |
leads:read |
Lister les leads, filtrables par statut, campagne, téléphone, origine, lien traqué, date. |
get_lead |
leads:read |
Un lead avec statut, tags, responsable, prochaine action, compteurs. |
update_lead |
leads:write |
Changer le statut, les tags, assigned_to, next_action_at, next_action_label, deal_status, lost_reason. |
handoff_lead |
leads:write |
Arrêter l’IA sur cette conversation et passer la main à un humain. |
resume_lead |
leads:write |
Rendre la conversation à l’IA. |
list_lead_notes |
leads:read |
Les notes d’un lead, les plus récentes d’abord. |
add_lead_note |
leads:write |
Ajouter une note à un lead. |
list_conversations |
conversations:read |
Boîte de réception, activité la plus récente d’abord. |
get_conversation_messages |
conversations:read |
Historique complet des messages d’un lead. |
send_whatsapp_message |
messages:send |
Envoie un vrai message WhatsApp à un lead déjà en conversation. Règles anti-ban et Idempotency-Key automatique. |
list_lists |
lists:read |
Tes listes de contacts. |
create_list |
lists:write |
Créer une liste vide. |
import_leads |
lists:write |
Pousser jusqu’à 500 contacts dans une liste. L’import n’envoie aucun message par lui-même. |
list_campaigns |
campaigns:read |
Les campagnes avec leur statut et leur numéro connecté. |
pause_campaign |
campaigns:write |
Mettre en pause une campagne active. |
resume_campaign |
campaigns:write |
Relancer une campagne en pause. Les envois reprennent. |
add_campaign_lead |
messages:send |
Envoie le premier message à un lead opt-in via le pipeline de la campagne. |
list_bookings |
bookings:read |
Les rendez-vous pris par l’agent. |
list_groups |
groups:read |
Les groupes WhatsApp suivis. |
get_group |
groups:read |
Un groupe avec ses compteurs, son lien d’invitation, son mode IA. |
list_group_members |
groups:read |
Les membres d’un groupe, actifs ou partis. |
list_group_messages |
groups:read |
La transcription d’un groupe. |
list_group_events |
groups:read |
Les arrivées et départs d’un groupe. |
list_webhooks |
webhooks:manage |
Tes souscriptions, sans les secrets. |
create_webhook |
webhooks:manage |
Abonner un endpoint HTTPS. Le secret est renvoyé une seule fois. |
delete_webhook |
webhooks:manage |
Supprimer une souscription. |
test_webhook |
webhooks:manage |
Poster un événement de test signé vers ton endpoint. |
list_blocked_contacts |
blocklist:manage |
Les numéros et indicatifs bloqués. |
block_contact |
blocklist:manage |
Bloquer un numéro ou un indicatif. L’agent cesse d’y répondre. |
unblock_contact |
blocklist:manage |
Retirer un blocage. |
list_team_members |
team:read |
Les membres de l’espace, pour attribuer des leads. |
list_links |
links:read |
Les liens traqués avec leur nombre de clics. |
get_link |
links:read |
Un lien avec ses statistiques sur 30 jours. |
Seuls deux outils atteignent une vraie personne sur WhatsApp : send_whatsapp_message et add_campaign_lead. resume_campaign relance les envois propres à une campagne. test_webhook poste vers ton serveur, pas vers un contact.
Exemples de demandes
Section intitulée « Exemples de demandes »- « Montre-moi les leads qualifiés cette semaine et qui est responsable de chacun. »
- « Attribue tous les leads qualifiés sans responsable à Julien et mets une prochaine action lundi 9h intitulée Rappeler. »
- « Bloque l’indicatif +91, raison : hors marché. »
- « Quel lien traqué a amené le plus de leads sur les 30 derniers jours ? »
- « Importe ces 40 contacts dans une nouvelle liste appelée Webinaire septembre. » (colle les contacts)
- « Mets la campagne Acme France en pause. »
- « Résume la conversation avec +33612345678 et ajoute une note avec le résumé. »
Sécurité
Section intitulée « Sécurité »- Les outils de lecture sont marqués en lecture seule.
send_whatsapp_messageetadd_campaign_leadsont marqués comme ayant un effet réel : un client bien conçu te demande avant de les appeler. Relis le message avant d’approuver, il part vers une vraie personne. - L’assistant ne peut faire que ce que la clé autorise. Donne à un assistant une clé Personnalisé avec des scopes de lecture s’il ne doit rien envoyer.
- Chaque session
/mcpest liée à la clé qui l’a ouverte : un identifiant de session volé est inutilisable sans la clé. - Révoque la clé dans Paramètres, puis API & MCP, et tout s’arrête : appels REST, sessions OAuth et sessions bearer direct.

