Le serveur MCP de TrueCalling
TrueCalling publie un serveur Model Context Protocol : votre assistant IA travaille dans votre espace de recrutement au lieu de travailler à côté. Connectez Claude, Microsoft Copilot Studio ou n'importe quel client compatible MCP, et demandez en langage naturel ce que vous feriez autrement à la souris. Le serveur agit en votre nom, avec les accès de votre propre compte.
En un coup d'œil
- URL du serveur
- https://mcp.truecalling.ai/mcp — le point d'entrée MCP répond en POST.
- Transport
- Streamable HTTP pour les clients distants. Une version locale en stdio existe pour les clients de bureau.
- Outils
- 58 au total. 55 en HTTP : les trois outils de connexion ne sont pas exposés quand vous vous authentifiez avec une clé.
- Authentification
- Une clé personnelle (tcmcp_…) envoyée dans un en-tête x-api-key, ou OAuth pour les clients incapables d'envoyer un en-tête personnalisé.
- Où obtenir sa clé
- Dans l'application TrueCalling : Paramètres → Intégrations → Clés MCP → Générer une clé.
- Prérequis de l'install locale
- Node.js 22+ et git. Rien à compiler, aucun fichier .env à remplir.
- Version
- Serveur 0.3.0, licence MIT.
Qu'est-ce que le MCP ?
Le Model Context Protocol est un standard ouvert qui relie les assistants IA aux systèmes où le travail se fait réellement. Un serveur MCP publie une liste d'outils, chacun étant une action nommée avec ses entrées décrites. Un client — l'assistant que vous utilisez déjà — lit cette liste et appelle les outils dont il a besoin pour vous répondre.
L'intérêt : l'intégration est écrite une fois et fonctionne partout. Le serveur MCP de TrueCalling décrit ce qu'un recruteur peut faire dans TrueCalling ; tout client qui parle le protocole peut ensuite le faire. Aucun greffon à maintenir par assistant, et aucune copie de vos données ailleurs : les outils lisent et écrivent les mêmes enregistrements que l'application web.
Ce que vous pouvez faire
Le serveur expose 58 outils. Une consigne courte en enchaîne généralement plusieurs ; voici le terrain qu'ils couvrent.
- Rechercher et scorer des candidats face à l'une de vos fiches de poste, puis obtenir le raisonnement derrière chaque score, en clair.
- Sourcer de nouveaux profils sur LinkedIn et chez les fournisseurs de recherche de personnes, et verser ceux qui valent la peine dans le bon pipeline.
- Retrouver l'e-mail ou le téléphone manquant d'un candidat, ou enrichir une liste courte entière en une seule passe.
- Rédiger une approche et des questions d'entretien pour un poste précis, puis envoyer une relance WhatsApp depuis la même conversation.
- Créer, modifier, publier ou dépublier des fiches de poste, et transformer une annonce brute en fiche structurée.
- Assigner un test psychométrique, relire la soumission et générer un rapport candidat en PDF pour le manager recruteur.
Catalogue d'outils
Les 58 outils, par domaine. Les trois outils de connexion ne concernent que l'installation locale : en HTTP, votre clé fait office d'identifiant, ils ne sont donc pas enregistrés et 55 outils sont exposés.
- Candidats (13)
- list_candidates · get_candidate · create_candidate · create_candidates_bulk · update_candidate · update_candidate_status · delete_candidate · score_candidate · enrich_candidate · upload_cv · extract_cv · parse_cv_file · lookup_linkedin_profile
- Postes (8)
- list_jds · get_jd · create_jd · update_jd · publish_jd · unpublish_jd · parse_job_text · expand_job_title
- Sourcing & recherche (6)
- search_jd_candidates · fullenrich_search · fullenrich_enrich_linkedin · fullenrich_poll · search_candidates_pdl · find_recruiter
- Emily / WhatsApp (7)
- emily_chat · emily_analyze · emily_score_screening · send_whatsapp · list_whatsapp_messages · list_wa_contacts · generate_writer
- Analyse & génération (4)
- generate_interview_questions · analyze_cv_standalone · generate_score_explanation · interpret_psychometric
- Évaluations (4)
- create_psy_assignment · list_psy_items · get_psy_submission · psy_score
- Rapports (3)
- generate_candidate_pdf · generate_cv · send_candidate_report
- Traitements par lot (4)
- sweep_enrich_candidates · recalculate_scores · compare_jd_candidate · match_internal_jds
- Planification (3)
- list_interview_slots · propose_interview_slots · approve_interview_slot
- Entreprise (3)
- get_my_enterprise · list_team_members · get_enterprise_config
- Connexion (install locale seulement) (3)
- tc_login · tc_logout · tc_auth_status
Démarrer
Il vous faut un compte TrueCalling et un client compatible MCP. C'est toute la liste des prérequis pour le serveur hébergé : rien à installer, rien à compiler.
Créez votre clé dans l'application
Ouvrez l'application TrueCalling et allez dans Paramètres → Intégrations → Clés MCP → Générer une clé. Nommez-la d'après l'assistant que vous connectez, pour distinguer vos clés plus tard.
La clé est tirée dans votre navigateur et affichée une seule fois. Copiez-la directement dans votre client et conservez-la comme un mot de passe : seule son empreinte arrive dans notre base, personne — nous compris — ne peut vous la réafficher.
Le même panneau liste vos clés avec leur date de création, leur dernière utilisation et leur statut, et en révoque n'importe laquelle en un clic.
Pointez votre client sur le serveur
Tous les clients demandent les trois mêmes choses : l'URL du serveur, le transport, et l'en-tête qui porte votre clé.
{
"url": "https://mcp.truecalling.ai/mcp",
"transport": "streamable-http",
"headers": {
"x-api-key": "tcmcp_..."
}
}Les noms de champs changent d'un client à l'autre ; les valeurs, non. Le point d'entrée répond en POST et rejette les appels non authentifiés.
Claude Code
Une seule commande, identique sur macOS, Linux et Windows. Remplacez l'emplacement réservé par la clé que vous venez de générer.
claude mcp add truecalling-remote --transport http https://mcp.truecalling.ai/mcp --header "x-api-key: <your key>"Microsoft Copilot Studio
Dans votre agent, allez dans Tools → Add a tool → New tool → Model Context Protocol, saisissez l'URL du serveur ci-dessus, et choisissez l'authentification API key avec l'en-tête x-api-key. Chacun colle sa propre clé dans sa propre connexion : un agent partagé donne donc quand même à chaque recruteur ses propres données.
Les clients qui ne peuvent pas envoyer d'en-tête personnalisé
Certains clients, ChatGPT parmi eux, ne gèrent que OAuth. Le serveur implémente aussi le flux OAuth de serveur de ressources du MCP et publie ses métadonnées de découverte : ces clients s'enregistrent seuls et vous font passer par une connexion TrueCalling normale au lieu de réclamer une clé. Parlez-nous-en avant d'en câbler un, nous vous confirmerons l'état exact de ce chemin.
Installation locale
Une version locale existe : elle fait tourner le serveur sur votre machine en stdio, pour les clients de bureau. Elle demande Node.js 22+ et git, et rien d'autre : pas de npm install, pas d'étape de compilation et pas de fichier d'environnement, parce que le serveur est livré en bundle autonome. Elle est distribuée sur demande tant que le dépôt est privé : demandez-nous l'installeur.
Un assistant qui agit en votre nom, pas au-dessus de vous
Confier à un assistant IA une clé vers vos données de recrutement est une vraie décision. Voici ce que le serveur fait pour elle, point par point.
Le serveur agit en votre nom, jamais au-dessus de vous
Votre clé est échangée contre un jeton de courte durée qui appartient à votre propre compte. Chaque appel est ensuite émis en tant que cet utilisateur, et la sécurité par ligne de la base décide de ce que l'appel a le droit de lire ou d'écrire.
Aucune clé privilégiée n'est embarquée
Le seul identifiant intégré au serveur est la clé d'API publique. Il n'y a pas de clé de service à l'intérieur, donc aucun chemin par lequel le serveur lirait vos données avec plus de droits que vous.
Votre clé est générée dans votre navigateur
L'application tire 32 octets aléatoires avec l'API Web Crypto de votre navigateur et vous montre le résultat une seule fois. Seuls son empreinte SHA-256 et un préfixe de 12 caractères arrivent jusqu'à la base.
Révocation en un clic
Révoquer une clé bloque immédiatement tout nouvel échange et coupe les sessions déjà en cours en moins de cinq minutes, la durée de vie du jeton en cache. L'application vous le dit avant que vous ne confirmiez.
Une clé n'oblige pas à donner tous les outils
Une clé peut être restreinte à une liste d'outils. Le filtre s'applique à la construction du serveur : un outil écarté n'apparaît même pas dans la liste vue par le client et ne peut donc pas être appelé.
Les outils de connexion ne sont pas exposés à distance
Quand vous vous authentifiez avec une clé, les trois outils de connexion ne sont pas enregistrés. La clé est l'identifiant ; rien dans la session ne permet de se connecter à la place de quelqu'un d'autre.
Les actions destructrices demandent deux appels
Suppressions, envois et exports passent par un verrou tenu par le serveur : le premier appel renvoie un aperçu et un jeton à usage unique, et rien ne se produit tant que le même appel n'est pas répété avec ce jeton. Supprimer un candidat est une suppression douce, réversible.
Le texte extérieur est encadré avant d'atteindre le modèle
CV, profils LinkedIn, résultats de recherche et corps des messages WhatsApp sont entourés d'un marqueur explicite de contenu non fiable, pour qu'une instruction cachée dans un document ne soit pas lue comme une instruction par l'assistant.
Les écritures laissent une trace
Chaque écriture réussie ajoute une ligne — le nom de l'outil et l'enregistrement touché — dans un journal d'audit en ajout seul, que vous seul pouvez relire.
Les requêtes sont bornées
Soixante requêtes par minute et par clé, tentatives de connexion échouées limitées par adresse IP, corps de requête plafonnés à 4 Mo, et des délais d'attente sur les en-têtes, les corps et les requêtes.
Mettez votre assistant au travail sur votre pipeline.
Générez une clé dans vos paramètres et connectez votre client, ou laissez-nous vous guider en 20 minutes avec l'un de vos postes ouverts à l'écran.