Aller au contenu

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.

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

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/mcp
Authorization: Bearer ws_live_…

Dans les deux cas, révoquer la clé dans le dashboard coupe la connexion en moins d’une minute.

Ajoute le serveur, puis lance /mcp dans Claude Code pour ouvrir la page de consentement :

Terminal window
claude mcp add --transport http whatsetter https://mcp.whatsetter.com/mcp

Pour utiliser la clé directement plutôt qu’OAuth :

Terminal window
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.

Les connecteurs personnalisés se configurent dans ton compte Claude, puis sont disponibles dans l’application web et dans l’application de bureau Claude.

  1. Ouvre Customize, puis Connectors.
  2. Clique sur +, puis Add custom connector.
  3. Colle https://mcp.whatsetter.com/mcp comme URL du serveur MCP distant, puis clique sur Add.
  4. 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.

Ajouter WhatSetter à Cursor
{
"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.

Terminal window
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.

  1. Ouvre Settings, puis Security and login, et active Developer mode.
  2. Va sur chatgpt.com/plugins et sélectionne le bouton plus pour créer une app pour ton serveur MCP.
  3. Donne-lui un nom, et sous Connection saisis https://mcp.whatsetter.com/mcp comme URL du serveur MCP.
  4. 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 découvre le flux OAuth tout seul pour les serveurs HTTP distants :

Terminal window
gemini mcp add --transport http whatsetter https://mcp.whatsetter.com/mcp

Pour utiliser la clé directement :

Terminal window
gemini mcp add --transport http --header "Authorization: Bearer ws_live_…" whatsetter https://mcp.whatsetter.com/mcp

Avec la clé dans une variable d’environnement :

Terminal window
export WHATSETTER_API_KEY="ws_live_…"
codex mcp add whatsetter --url https://mcp.whatsetter.com/mcp --bearer-token-env-var WHATSETTER_API_KEY

Ou avec OAuth :

Terminal window
codex mcp add whatsetter --url https://mcp.whatsetter.com/mcp
codex mcp login whatsetter

L’équivalent dans ~/.codex/config.toml :

[mcp_servers.whatsetter]
url = "https://mcp.whatsetter.com/mcp"
bearer_token_env_var = "WHATSETTER_API_KEY"

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.

  • « 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é. »
  • Les outils de lecture sont marqués en lecture seule. send_whatsapp_message et add_campaign_lead sont 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 /mcp est 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.