Aller au contenu principal

Assistants IA (serveur MCP)

Le serveur MCP de YesWeCheck donne à votre assistant IA les outils de vérification d'adresses et de recherche d'email BtoB. Vous lui parlez normalement, il appelle YesWeCheck quand c'est utile. Il applique les réglages de votre compte (contrôles, SMTP, politique de validation, listes) et débite les mêmes crédits.

https://api.yeswecheck.fr/mcp

Le protocole est le Model Context Protocol, en transport HTTP Streamable. Tout client MCP compatible peut s'y connecter.

ChatGPTClaudeLe Chat (Mistral)Claude CodeCursorVS Code

Ce que vous pouvez demander​

  • « Vérifie l'adresse [email protected]. »
  • « Voici 300 adresses d'un salon : lesquelles sont invalides ? »
  • « Combien de crédits coûterait cette liste ? » (estimation, rien n'est débité)
  • « Trouve l'email professionnel de Marie Martin chez acme.fr. »
  • « Où en est le nettoyage lancé ce matin ? »
  • « Combien me reste-t-il de crédits ? »

Installer​

Deux façons de se connecter :

  • OAuth (Claude, ChatGPT, Le Chat, Claude Code, Cursor, VS Code) : vous collez l'adresse du serveur, une page YesWeCheck s'ouvre, vous choisissez les droits et cliquez Autoriser. Aucune clé à copier.
  • Clé API (scripts, agents, CI, serveurs sans navigateur) : une clé MCP dédiée envoyée dans l'en-tête Authorization. Voir Se connecter avec une clé API.

L'adresse du serveur et ces mêmes étapes sont aussi dans l'espace client : Intégrer → Connecteurs → Assistants IA.

Claude
  1. Dans Claude (web ou Desktop), ouvrez le menu Connecteurs et ajoutez un connecteur personnalisé.
  2. Nommez-le YesWeCheck et collez l'adresse du serveur.
  3. Cliquez Se connecter : la page YesWeCheck s'ouvre ; choisissez les droits, puis Autoriser.
  4. Activez le connecteur dans la conversation et posez votre question.

Sur une offre Team ou Enterprise, le connecteur est d'abord ajouté par un propriétaire de l'espace Claude.

Autoriser l'accès​

La page d'autorisation s'ouvre sur app.yeswecheck.fr ; connectez-vous si besoin, avec vos moyens habituels (mot de passe, Google, GitHub, double authentification). Elle affiche l'application qui demande l'accès et l'adresse vers laquelle vous serez renvoyé.

RéglagePar défautEffet
OrganisationCelle de votre session (Changer de compte pour une autre)L'assistant agit pour elle seule
Vérifier des adresses emailToujours accordéOutils de validation, de suivi des lots et de crédits
Trouver l'email professionnel d'une personneCoché si l'application le demandeOutil find_btob_email
Vérification de la boîte (SMTP)Activée1 crédit par adresse vérifiée en SMTP (voir Crédits)
Plafond de crédits par jour500 (vide = aucun plafond)Au-delà, les validations avec SMTP de cette connexion sont refusées jusqu'au lendemain

Seuls les propriétaires et administrateurs de l'organisation peuvent autoriser une application ; un membre ne peut que refuser.

À l'autorisation, YesWeCheck crée une clé API dédiée à cette application, nommée MCP – <nom de l'application>. Elle porte les réglages choisis ; son secret n'est jamais affiché. Vous la retrouvez dans Clés API, avec le badge MCP · OAuth, où vous pouvez modifier ses contrôles, son plafond ou ses restrictions d'IP comme pour toute clé.

L'application reçoit un jeton d'accès valable une heure, renouvelé automatiquement pendant 30 jours d'utilisation. Une application inactive plus de 30 jours demande de se reconnecter.

Se connecter avec une clé API​

Pour un script, un agent sur serveur ou une intégration continue, créez une clé MCP dans Intégrer → Connecteurs → Assistants IA, onglet Scripts et agents : choisissez le SMTP, la recherche BtoB et un plafond journalier. Le secret ywc_live_… n'est affiché qu'une fois.

Une clé par agent : elle se révoque seule, sans couper vos autres intégrations. Une clé API ordinaire fonctionne aussi, avec ses propres réglages ; la recherche BtoB s'y active dans la clé, option Finder BtoB pour les agents IA (bloc Agents IA (MCP), désactivée par défaut).

Claude Code
claude mcp add --transport http yeswecheck https://api.yeswecheck.fr/mcp \
--header "Authorization: Bearer ywc_live_…"

Ou, dans le fichier .mcp.json du projet, avec la clé dans la variable d'environnement YWC_API_KEY :

{
"mcpServers": {
"yeswecheck": {
"type": "http",
"url": "https://api.yeswecheck.fr/mcp",
"headers": { "Authorization": "Bearer ${YWC_API_KEY}" }
}
}
}

Le serveur accepte uniquement Authorization: Bearer. Une clé de portée widget et un jeton de session du tableau de bord sont refusés (401/403).

Les outils​

OutilRôleCoûtLecture seule
validate_emailVérifie une adresse1 crédit si SMTP et verdict ≠ unknownNon
validate_emails_batchVérifie une liste (jusqu'à 5 000 adresses)Idem, par adresseNon
get_batch_jobAvancement d'un lotGratuitOui
get_batch_resultsRésultats d'un lot, page par pageGratuitOui
list_batch_jobsLots lancés par vos assistantsGratuitOui
cancel_batch_jobAnnule un lot en coursRemboursement des adresses non concluesNon
find_btob_emailTrouve l'email professionnel d'une personne1 recherche du quota du jour, aucun créditNon
get_creditsSolde, plafonds de la clé, quota BtoBGratuitOui

Chaque outil renvoie un résumé lisible et une sortie structurée (structuredContent) décrite par un schéma : l'assistant lit directement les champs.

validate_email​

EntréeDescription
emailL'adresse à vérifier (320 caractères au plus)

La sortie est celle de POST /v2/email/validate : result (valid, risky, invalid, unknown), score, finalDecision de votre politique, features avec le détail de chaque contrôle actif sur la clé ; plus un objet credits (used, remaining, unlimited). Si une faute de frappe est détectée, l'assistant propose l'adresse corrigée (features.typoCorrection).

Pour protéger l'assistant contre les instructions cachées dans des données de tiers, le texte libre venu de l'extérieur n'est pas transmis : réponse brute du serveur de messagerie (remplacée par un message fixe), enregistrements SPF, DMARC et BIMI, titulaire du domaine. Verdicts, scores et codes sont identiques à l'API.

validate_emails_batch​

EntréeDescription
emails1 à 5 000 adresses
labelNom du lot dans le tableau de bord (facultatif)
dry_runtrue : compte les adresses et estime les crédits, sans rien vérifier ni débiter

Les entrées sans @ sont écartées et les doublons retirés (comparaison en minuscules), comme à l'import d'un fichier. Ensuite :

  • jusqu'à 25 adresses uniques : réponse immédiate, un verdict par adresse (results), avec summary par verdict et credits_used ;
  • au-delà : un traitement par lots démarre en arrière-plan. La réponse donne job.job_id et le lien du lot dans le tableau de bord, où il porte le badge MCP. Un seul lot à la fois par organisation.

Avant de lancer un lot, le serveur vérifie que le solde et le plafond de la clé couvrent l'estimation (max_credits) ; sinon il refuse sans rien démarrer. En mode dry_run, blocked_by indique ce qui bloquerait.

get_batch_job​

Entrée : job_id. Sortie : status (pending, processing, paused, completed, failed, cancelled), phase, percentage, processed/total, compteurs par verdict, smtp.downgraded (solde épuisé en cours de route : la suite a tourné sans SMTP) et results_ready. Un appel par minute suffit.

get_batch_results​

EntréeDescription
job_idIdentifiant du lot
statusFiltre sur un verdict (facultatif)
cursornext_cursor de la page précédente ; absent pour la première
limitTaille de page, 100 par défaut, 500 au plus

Chaque ligne donne email, status, score et reason (les motifs des connecteurs). next_cursor vaut null sur la dernière page. Les exports CSV, Excel et le rapport PDF restent dans le tableau de bord.

list_batch_jobs et cancel_batch_job​

list_batch_jobs (limit de 1 à 20, 10 par défaut) liste les lots lancés par vos assistants, du plus récent au plus ancien ; les lots importés dans le tableau de bord n'y figurent pas, et les outils de suivi ne les voient pas.

cancel_batch_job (job_id) arrête un lot en cours : les adresses sans verdict facturable sont remboursées, les verdicts déjà obtenus restent facturés, et les résultats du lot sont supprimés.

find_btob_email​

EntréeDescription
first_name · last_namePrénom et nom
domainDomaine de l'entreprise, par exemple acme.fr (pas une URL, pas une messagerie grand public)

Les formats d'adresse probables sont testés auprès du serveur de messagerie de l'entreprise jusqu'à confirmation, en 40 secondes au plus. outcome vaut :

outcomeSignification
foundBoîte confirmée : email et son format (pattern, par exemple first.last)
accept_allLe domaine accepte toutes les adresses : aucune boîte ne peut être confirmée
not_foundAucun format testé n'a été accepté
incompleteDélai atteint avant la fin des tests ; une nouvelle recherche repart de zéro

Une recherche consomme une unité du quota BtoB de l'organisation (20 par jour, partagé avec le tableau de bord), jamais un crédit. Un domaine grand public ou sans serveur de messagerie est refusé avant le quota. Les recherches d'une organisation s'exécutent une à la fois ; les adresses trouvées apparaissent aussi dans l'historique de la recherche BtoB du tableau de bord.

L'outil n'est disponible que si la recherche BtoB est accordée à la connexion (case cochée à l'autorisation, ou option Finder BtoB pour les agents IA de la clé).

get_credits​

Sans entrée. Renvoie le solde de l'organisation (balance, ou unlimited), la consommation du jour et du mois de la clé avec ses plafonds, l'état du SMTP sur la clé et le quota BtoB du jour (finder).

Crédits et quotas​

Les règles sont celles de l'API : voir Crédits.

ActionCoût
Validation avec SMTP, verdict valid, risky ou invalid1 crédit
Validation avec SMTP, verdict unknown0
Validation sans SMTP0
dry_run, suivi des lots, résultats, get_credits0
find_btob_email1 recherche du quota BtoB (20 par jour et par organisation)

Le SMTP est décidé par la connexion (réglage à l'autorisation, ou configuration de la clé), jamais par l'assistant. Le plafond journalier de la connexion borne ce qu'un assistant peut dépenser, même si votre solde est plus élevé.

Limites​

ÉlémentLimite
Adresses par appel de validate_emails_batch5 000 (25 en réponse immédiate)
Lots en cours1 par organisation, tous canaux confondus
Appels par cléMêmes limites par clé que l'API : chaque requête MCP compte, et chaque adresse d'une réponse immédiate compte comme un appel de validation
Réponse immédiatePlus aucune adresse ne démarre après 30 secondes ; les restantes sortent unknown, sans débit
Recherche BtoB40 secondes, une à la fois par organisation, 20 par jour
Corps d'une requête2 Mo

Erreurs​

L'authentification répond en HTTP :

RéponseCause
401 avec WWW-AuthenticateJeton ou clé absent, expiré ou révoqué. Le client OAuth relance l'autorisation
403 insufficient_scopeL'outil demande un droit non accordé (recherche BtoB) ; le client propose de se reconnecter avec ce droit
403Clé de portée widget, IP hors des restrictions de la clé
429Trop de requêtes depuis la même IP

Les erreurs d'un outil arrivent dans son résultat (isError: true), sous la forme CODE: message, suivie de Retry after N seconds. quand attendre suffit :

CodeCause
INSUFFICIENT_CREDITSSolde épuisé pour une validation avec SMTP
API_KEY_BUDGET_EXCEEDEDPlafond journalier ou mensuel de la connexion atteint
RATE_LIMITEDLimite d'appels de la clé, ou recherche BtoB déjà en cours
QUOTA_EXCEEDEDQuota BtoB du jour épuisé (remis à zéro à minuit UTC)
SCOPE_REQUIREDRecherche BtoB non accordée à cette connexion
BATCH_ALREADY_RUNNINGUn lot tourne déjà dans l'organisation
BATCH_NOT_READYRésultats demandés avant la fin du lot
RESULTS_EXPIREDRésultats supprimés (durée de conservation ou annulation)
NOT_FOUNDLot inconnu, ou non lancé par un assistant de cette organisation
INVALID_STATELot qui ne peut plus être annulé
INVALID_INPUTEntrée refusée (adresse, domaine, liste vide)
FORBIDDENRefus des règles de protection de la clé
INTERNAL_ERRORErreur interne ; réessayez plus tard

Rien n'est débité sur une erreur.

Sécurité​

  • Une identité par application : chaque autorisation, et chaque clé MCP, a sa propre clé API, ses réglages, ses plafonds et ses statistiques. Couper un assistant ne touche pas les autres.
  • Jetons : jamais dans l'URL, conservés uniquement sous forme d'empreinte. Un jeton de renouvellement réutilisé révoque toute l'autorisation.
  • Données : aucune adresse n'est conservée en clair. Les lots suivent les mêmes règles de chiffrement et de conservation que ceux du tableau de bord.
  • Journal : chaque appel d'outil apparaît dans les statistiques de la clé (endpoint /mcp/<outil>), sans adresse pour la recherche BtoB.

Suivre et révoquer​

Intégrer → Connecteurs → Assistants IA liste les applications connectées (application, adresse de retour, droits, date d'autorisation, dernier appel), les clés MCP et l'activité des 30 derniers jours.

  • Révoquer une application coupe son accès immédiatement : jetons effacés, clé dédiée révoquée.
  • Révoquer la clé dédiée depuis Clés API a le même effet.
  • Supprimer votre compte YesWeCheck révoque toutes les autorisations.

Dépannage​

SymptômeQue faire
L'assistant redemande la connexion en boucleRévoquez l'application dans Assistants IA, puis reconnectez-vous en cochant la recherche BtoB si vous l'utilisez
Bouton Autoriser absent sur la page d'autorisationSeuls le propriétaire et les administrateurs de l'organisation autorisent une application ; demandez-leur, ou Changer de compte
SCOPE_REQUIRED sur find_btob_emailReconnectez l'application en cochant la recherche d'email professionnel, ou activez Finder BtoB pour les agents IA sur la clé
API_KEY_BUDGET_EXCEEDEDRelevez le plafond de la clé dédiée dans Clés API
Aucune adresse vérifiée en SMTPLe SMTP est désactivé sur la connexion : modifiez la clé dédiée dans Clés API
Un lot n'apparaît pas dans list_batch_jobsSeuls les lots lancés par un assistant y figurent