Référence des outils

Les 26 outils MCP de Certivant regroupés selon la tâche qu'ils accomplissent — tri de la file, envoi et suivi des formulaires, actions sur le cycle de vie, explication des décisions et risque réseau, sessions de vérification Live ID, contrôles de registre KYB et rapports — avec ce que chacun renvoie et ce qu'il ne renvoie volontairement pas.

Le catalogue compte 26 outils par défaut, volontairement limité à environ ce nombre. Au-delà, la précision de la sélection des outils par le modèle se dégrade de façon mesurable : une nouvelle capacité remplace ou regroupe donc les outils existants au lieu de s'y ajouter. Par exemple, list_expiring_documents prend un argument mode au lieu de proposer deux outils frères, et les outils de vérification Live ID regroupent la liste et le détail dans un seul outil, ainsi que la reprogrammation, l'annulation et la nouvelle invitation dans un autre. Trois autres outils de conformité existent derrière des indicateurs d'opérateur (voir la fin de cette page).

Chaque outil est annoté de façon fidèle (readOnlyHint, destructiveHint, idempotentHint) afin que votre hôte puisse encadrer ceux qui ont des conséquences réelles. Cinq outils envoient de vrais courriels (ou SMS). Deux sont destructeurs. Tous les autres se contentent de lire.

send_form_to_customer, send_verification_reminder et renew_verification envoient de vrais courriels à des clients. Aucun n'est idempotent : appeler l'un deux fois envoie deux courriels. Si un appel échoue, vérifiez list_form_deliveries avant de réessayer, plutôt que de renvoyer aveuglément.

Traiter la journée

OutilRenvoieNe renvoie pas
get_todays_queueUn instantané agrégé pour l'ensemble de l'organisation : totaux par statut, dossiers escaladés et en attente de second examen, dossiers bloqués (sans activité depuis N jours, 7 par défaut), contrôles de sanctions en échec, escalades ayant dépassé le délai de révision, réexamens KYC dus, ainsi que l'activité des 24 h et des 7 jours.Uniquement des totaux — ni identifiants de demande, ni noms, ni données de demandeurs. Utilisez les outils de liste pour agir sur une catégorie.
find_verificationRecherche libre par nom de personne, courriel, nom d'entreprise ou référence externe. Une liste de désambiguïsation compacte — identifiant, statut, type, décision, score, horodatages, jours depuis la dernière mise à jour — ainsi que le nombre de correspondances, afin qu'une recherche ambiguë reste visiblement ambiguë.Les adresses courriel ne sont pas renvoyées par défaut. Les noms des demandeurs arrivent dans l'enveloppe non fiable.
list_stalled_verificationsDossiers non terminés sans activité depuis N jours (7 par défaut), chacun avec daysWaiting et les pendingDocTypes encore attendus. C'est la liste « qui dois-je relancer ? » : ces dossiers attendent le demandeur.Le retard côté réviseur. Les escalades et les dépassements de délai se trouvent dans get_todays_queue. Associer ce filtre à un statut terminal ne renvoie rien.
whats_changed_sincePassation de poste : tout ce qui a été modifié depuis un horodatage, du plus ancien au plus récent, regroupé par statut actuel, avec le temps écoulé depuis chaque changement.Les heures en langage naturel. since doit être une date-heure ISO-8601 complète, comme 2026-07-18T00:00:00.000Z — une simple date est refusée.
get_verification_statusUne forme de statut allégée pour un identifiant de demande — statut, horodatages, décision, score global. Assez léger pour être interrogé.Aucune donnée personnelle, quel que soit le réglage.

Commencez par get_todays_queue, puis affinez. Ne reconstruisez pas la file en bouclant sur find_verification : la limite de débit par locataire est de 120 requêtes par minute, et une boucle l'épuise avant d'avoir terminé.

Faire avancer le travail

OutilRenvoieRemarques
start_verificationCrée une vérification et renvoie, en un seul appel, le lien que le demandeur utilise.N'envoie aucun courriel : le lien vous revient pour que vous le transmettiez. Non idempotent.
start_verifications_batchJusqu'à 50 lignes en un seul appel. Chaque ligne est validée et créée indépendamment ; un courriel invalide n'échoue que cette ligne, et les lignes réussies ne sont pas annulées. Les échecs indiquent l'index dans votre liste ainsi que la raison.À utiliser à la place d'une boucle sur start_verification. Signalez les échecs individuellement — jamais sous la forme « certains ont échoué ».
send_form_to_customerEnvoie un vrai courriel. Crée le demandeur, crée la demande, génère le lien personnel, envoie l'invitation, et renvoie un identifiant de suivi pour get_delivery_status.Non idempotent : deux appels signifient deux demandeurs, deux demandes et deux courriels. Obtenez d'abord l'identifiant du formulaire avec list_verification_forms ; deviner conduit à un 404.
send_verification_reminderEnvoie un vrai courriel. Relance un demandeur avec un nouveau lien qui reprend la même demande — le statut et les documents déjà envoyés sont conservés.Uniquement lorsque le dossier est PENDING_UPLOAD ou DOCUMENTS_READY. Limité côté serveur : voir Sécurité et limites.
renew_verificationEnvoie un vrai courriel. Crée une nouvelle demande pour le même demandeur, liée à l'originale, exigeant les mêmes documents, et envoie un avis de nouvelle vérification.La demande d'origine n'est pas modifiée. Non idempotent : chaque appel est un renouvellement de plus et un courriel de plus. Repérez d'abord les dossiers échus avec list_expiring_documents en mode renewals.
resubmit_verificationRamène une demande REJECTED à PENDING_UPLOAD afin que le demandeur puisse réessayer — la solution habituelle pour une photo floue ou une pièce d'identité expirée.Destructeur. Il supprime les contrôles et le score de risque existants, de sorte que explain_verification_decision ne peut plus expliquer le rejet ensuite. Lisez d'abord l'explication. N'envoie aucun courriel.
list_verification_formsLe catalogue à partir duquel vous envoyez : identifiant, nom, type (kyc = particulier, kyb = entreprise), statut, slug public. Formulaires publiés uniquement par défaut.Aucune donnée de demandeur, quelle qu'elle soit. Un formulaire non publié envoie le destinataire vers le parcours de téléversement générique au lieu du formulaire voulu.
list_form_deliveriesToutes les personnes à qui un formulaire donné a été envoyé, et l'état de chacune — sent, started, completed, bounced, failed. status: sent est la liste de relance.Les courriels des destinataires sont masqués par défaut.
get_delivery_statusLe cycle de vie complet d'un envoi : envoyé, distribué, ouvert, commencé, terminé, nombre de rappels envoyés et date du dernier.Faites confiance à startedAt/completedAt — observés côté serveur. openedAt dépend du suivi d'ouverture des clients de messagerie, que la plupart bloquent ; un openedAt vide n'est pas la preuve que la personne a ignoré le courriel.

Comprendre une décision

OutilRenvoieNe renvoie pas
explain_verification_decisionLe raisonnement réel du moteur de score pour une demande : quelles causes de disqualification de niveau 1 ou quels déclencheurs de révision de niveau 2 ont été activés, quels facteurs de scoring ont échoué et sur quelles preuves, lesquels n'ont pas pu être évalués et pourquoi, le score par rapport au seuil appliqué, les règles de politique déclenchées, les indicateurs de risque réseau avec la manière dont chacun a été détecté, et un résumé rédigé du dossier. Il signale aussi lorsqu'un réviseur humain a remplacé le verdict automatisé.Voir la lacune ci-dessous : le raisonnement structuré n'existe pas pour chaque demande.
get_verification_resultLe résultat : statut, décision, score de confiance, chaque contrôle exécuté et s'il a réussi, un décompte réussite/échec/non applicable sur les facteurs de scoring, les causes de disqualification ou déclencheurs de révision activés, les redFlags et un résumé network (VPN / proxy / Tor / centre de données / relais détecté, comment, pays et opérateur réseau de l'adresse IP, si le fuseau horaire de l'appareil correspond), les documents fournis, et ce que le demandeur doit encore fournir.Aucune donnée personnelle par défaut — ni nom, ni date de naissance, ni numéros de document, ni adresses, ni texte OCR. include_pii: true élargit la réponse aux champs d'identité et cet accès est enregistré.

reasoningAvailable: false est fréquent. Le raisonnement structuré du moteur de score (verdictMeta) n'est enregistré que pour les vérifications scorées depuis son introduction ; de nombreuses demandes — en pratique la plupart des demandes anciennes — renvoient donc reasoningAvailable: false et aucun détail par facteur. Lors d'un contrôle ponctuel sur un locataire en production, aucune des 12 demandes les plus anciennes ne le contenait, et seulement 5 des 12 plus récentes. Lorsque vous le constatez, décrivez ce que montrent le statut et les contrôles, et indiquez que le raisonnement n'a pas été enregistré. Ne déduisez pas pourquoi le moteur a décidé.

Risque réseau

La connexion de chaque vérification est contrôlée par la détection propre à Certivant — sans fournisseur tiers — pour les réseaux Tor, VPN, proxy, d'hébergement / centres de données et de relais de confidentialité. Les deux outils ci-dessus le signalent sous la forme de redFlags et d'un objet network :

  • detected — les types trouvés ; detections — chacun avec sa source (une liste d'adresses IP actualisée quotidiennement, le nom de l'opérateur, une fuite WebRTC ou DNS, une adresse IP partagée par de nombreux demandeurs, ou un aller-retour du navigateur bien plus long que ce que la périphérie a mesuré).
  • ipCountry, networkOperator, deviceTimezoneMatchesIp, ipToGpsDistanceKm, likelyRealNetworkCountry.
  • Jamais l'adresse IP, le nom d'hôte ni la ville — ce sont des données personnelles.
  • assessed: false signifie non vérifié (aucune adresse IP du demandeur, par exemple pour les demandes créées par API) — jamais « propre ».

Un indicateur de risque décrit la connexion, et non la personne : les utilisateurs soucieux de leur vie privée et les utilisateurs d'entreprise utilisent des VPN. Chaque organisation choisit, par type, si une détection entraîne un rejet, une escalade, un simple signalement, ou si elle est ignorée.

Vérification d'identité en direct

OutilRenvoieRemarques
list_live_verificationsSans conference_id : les sessions filtrées par statut (scheduled, in_progress, completed, cancelled, ou expired = n'ayant jamais eu lieu), demande, référence ou plage de dates. Avec conference_id : le détail de cette session — animateur, présence et consentement du demandeur, paramètres de session (envoi de fichiers par le demandeur, vérification automatique des documents reçus), décision et issue, enregistrement et certificat.Aucun nom ni courriel de demandeur, sauf si include_pii: true est associé à un conference_id (audité).
schedule_live_verificationPlanifie une session pour une demande existante (scheduled_for avec un fuseau horaire, ou start_now), avec les options applicant_file_upload et auto_verify_documents.Envoie un courriel ou un SMS au demandeur. Non idempotent ; une demande ayant déjà une session accessible renvoie 409. Le lien de connexion à usage unique n'est renvoyé que dans le texte — ne le partagez qu'avec le demandeur.
manage_live_verificationaction : reschedule (participants informés), resend_invitation (nouveau lien, l'ancien cesse de fonctionner), ou cancel.Annoté destructeur : l'annulation est irréversible. Confirmez avant d'annuler ou de réinviter.

KYB

OutilRenvoieRemarques
get_business_recordCe que l'entreprise a déclaré sur une demande BUSINESS : dénomination, numéro d'immatriculation, pays et type de constitution, statut KYB, le représentant autorisé et la façon dont il a été rapproché, ainsi que les administrateurs et bénéficiaires effectifs déclarés, avec leurs pourcentages de détention et toute demande KYC liée vérifiant un UBO.Une lecture pure de ce que Certivant détient. Aucun appel au registre, et sans coût. Il n'indique pas si l'une de ces informations est exacte.
check_company_registryLa différence entre le registre public des entreprises et ce que l'entreprise a déclaré : quels administrateurs déclarés ne figurent pas au registre, et quels administrateurs du registre n'ont jamais été déclarés. La différence est la réponse ; la fiche brute n'est qu'une preuve à l'appui.N'est pas une simple lecture : il effectue un appel facturable à un registre externe et, en cas de correspondance, passe la fiche KYB à verified. À appeler une fois par entreprise, jamais dans une boucle.
submit_business_detailsEnregistre les informations KYB d'une entreprise sur une demande BUSINESS existante — dénomination légale, numéro d'immatriculation, pays et type de constitution, administrateurs, bénéficiaires effectifs.Effets secondaires au-delà de l'enregistrement : il déclenche une recherche en arrière-plan dans le registre et crée une demande de vérification INDIVIDUAL distincte pour chaque bénéficiaire effectif détenant 25 % ou plus (le seuil du GAFI). Ne l'appelez jamais de façon spéculative ni pour « corriger une faute de frappe ».

Limitation connue : check_company_registry échoue actuellement en production. L'appel amont au registre renvoie 401 parce que la clé d'API OpenCorporates n'est pas transmise ; la différence de correspondance des administrateurs n'est donc pas démontrée face à une véritable correspondance au registre. Tant que ce point n'est pas corrigé, attendez-vous à une erreur plutôt qu'à une différence, et ne construisez pas de workflow qui dépend du cas nominal de cet outil. get_business_record et submit_business_details ne sont pas concernés.

Rapports et documents

OutilRenvoieNe renvoie pas
get_compliance_metricsLa synthèse à l'échelle du locataire : taux d'approbation et entonnoir complet (soumis / en attente / en traitement / approuvés / rejetés / escaladés), volume par type de document, résultats par nationalité, une tendance quotidienne sur 30 jours, et des taux d'échec par contrôle indiquant le contrôle qui échoue le plus — OCR, correspondance faciale, vivacité, sanctions.Ce n'est pas une liste de motifs de rejet. Les « principaux motifs de rejet » ne sont pas produits par cet outil ; il fournit des taux d'échec par contrôle. Aucune donnée de lignes ni aucune donnée personnelle.
list_expiring_documentsDeux modes. documents (par défaut) — vérifications dont les documents envoyés expirent ou deviennent obsolètes dans N jours (une pièce d'identité périmée, ou un document justificatif daté plus ancien que la fenêtre de fraîcheur du locataire). renewals — vérifications dont le réexamen périodique est dû (la date expiresAt de la demande), en retard ou arrivant à échéance dans N jours.Ce sont deux questions différentes. Un passeport valide sur une demande dont le renouvellement annuel est dû n'apparaît que sous renewals. Utilisez le mode qui correspond réellement à votre demande.
list_verification_documentsMétadonnées uniquement pour chaque document d'une demande : type (passport, id_card, drivers_license, selfie, business_reg, utility_bill, bank_statement), côté, statut de traitement, type et taille du fichier, date d'envoi, et les dates extraites du document lui-même, y compris si celui-ci apparaît comme expiré.Aucune image, aucun texte OCR, aucun numéro de document, aucun nom, aucune adresse, aucune zone MRZ — le bloc OCR est structurellement exclu et ne peut être obtenu à aucun réglage.
get_document_download_urlUne URL signée de courte durée (15 minutes) permettant à un humain de consulter un document envoyé, ainsi que sa durée de validité.Il ne renvoie pas le fichier, et l'agent ne doit pas le récupérer : une pièce d'identité versée dans une conversation revient à copier un scan de passeport dans les journaux d'un fournisseur de modèle. Le lien ne nécessite aucun identifiant ; traitez-le donc comme un secret : remettez-le à la personne qui l'a demandé, puis arrêtez-vous là.

Outils de conformité sous condition

Trois outils existent mais sont désactivés par défaut. La condition est appliquée à l'enregistrement : avec l'indicateur non défini, l'outil n'apparaît pas du tout dans tools/list. Chacun exige que son propre indicateur soit défini à exactement "true" sur le serveur MCP, ainsi qu'une clé d'API dotée de la portée kyc:manage :

OutilIndicateurCe qu'il fait
decide_verificationCERTIVANT_MCP_ALLOW_DECISIONSEnregistre une approbation ou un rejet manuel. Une décision réglementée prise dans un contexte qui contient du texte contrôlé par le demandeur — à activer délibérément.
export_applicant_dataCERTIVANT_MCP_ALLOW_EXPORTLance une tâche d'export de données RGPD.
erase_applicantCERTIVANT_MCP_ALLOW_ERASUREEffacement RGPD — irréversible ; exige de reprendre une confirmation.

Ce qui ne figure pas dans le catalogue

  • get_fraud_signals, explain_to_applicant, submit_verification — non livrés.
  • Paramètres (seuils, actions liées au risque réseau, politique de confidentialité, rôles) — gérés uniquement dans le tableau de bord ; la clé d'API du connecteur ne peut pas les lire.