Connectez votre Curriculo ATS à Claude, Cursor et tout client IA compatible MCP. Le serveur Curriculo ATS MCP est un serveur distant, hébergé à https://mcp.curriculo.me/mcp sans rien à installer. Authentifiez-vous une fois avec OAuth 2.1 ou un jeton d'accès personnel, et le client obtient 25 outils qui lisent et agissent sur vos données de recrutement en temps réel.
Source: https://curriculo.me/docs/mcp/ (Curriculo ATS)
| Propriété | Valeur |
|---|---|
| Point de terminaison | https://mcp.curriculo.me/mcp |
| Transport | HTTP diffusé |
| Auth | OAuth 2.1 + Jeton d'accès personnel (PAT) |
| Scopes | ats:read, ats:write |
| Outils | 25 |
Le serveur Curriculo ATS MCP est un serveur distant, hébergé, sans rien à installer ou à exécuter localement. Dirigez tout client MCP vers le point de terminaison, authentifiez-vous une fois, et le client obtient un ensemble d'outils qui lisent et agissent sur vos données de recrutement en temps réel.
Démarrage rapide
Utilisez ce point de terminaison partout : https://mcp.curriculo.me/mcp
Le chemin le plus rapide est le flux de connecteurs en un clic de Claude :
- Ouvrez Claude, puis Paramètres, puis Connecteurs.
- Cliquez sur Ajouter un connecteur personnalisé et collez l'URL du serveur ci-dessus.
- Terminez la connexion OAuth lorsque demandé. Claude se connecte à votre organisation.
- Démarrez une discussion et demandez, par exemple, "Qu'est-ce qui est en attente dans chaque étape de mes postes ouverts ?"
Nouveau ici ? Suivez le tutoriel étape par étape exécuter votre ATS dans Claude.
Connecter un client
Le serveur communique en HTTP diffusé et prend en charge à la fois l'OAuth interactif et un jeton d'accès personnel via un en-tête Authorization: Bearer.
Claude
Dans Claude (web ou bureau), allez dans Paramètres, Connecteurs, Ajouter un connecteur personnalisé, puis entrez :
https://mcp.curriculo.me/mcp
Cliquez sur Ajouter, terminez la connexion OAuth, puis ouvrez le connecteur pour activer les outils spécifiques que vous souhaitez que Claude utilise.
Claude Code
Ajoutez le serveur avec une seule commande (l'OAuth s'ouvre dans votre navigateur via /mcp) :
claude mcp add --transport http curriculo https://mcp.curriculo.me/mcp
Ou passez un jeton d'accès personnel directement avec un en-tête :
claude mcp add --transport http curriculo https://mcp.curriculo.me/mcp \
--header "Authorization: Bearer YOUR_CURRICULO_PAT"
Cursor
Ouvrez les Paramètres de Cursor, Outils & MCP, Nouveau serveur MCP, et ajoutez ceci à mcp.json :
{
"mcpServers": {
"curriculo": {
"url": "https://mcp.curriculo.me/mcp"
}
}
}
VS Code / autre
Tout client sans support natif de MCP distant peut utiliser le pont mcp-remote :
{
"mcpServers": {
"curriculo": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.curriculo.me/mcp"]
}
}
}
Authentification
Deux façons de s'authentifier. Les deux se résolvent à un utilisateur dans une organisation avec des autorisations limitées.
OAuth 2.1 (recommandé)
Les clients interactifs (Claude, Cursor) utilisent OAuth avec enregistrement dynamique du client. Vous vous connectez à Curriculo, approuvez la connexion, et le client stocke un jeton éphémère qu'il rafraîchit automatiquement.
Jeton d'accès personnel (PAT)
Pour des configurations CLI ou sans interface, générez un jeton dans l'ATS et envoyez-le comme en-tête Bearer :
- Connectez-vous à ats.curriculo.me.
- Allez dans Paramètres, API & Intégrations, Jetons d'accès personnels.
- Créez un jeton, choisissez ses scopes, et copiez-le (affiché une seule fois).
- Passez-le comme
Authorization: Bearer <token>.
Scopes
- ats:read: Lister et lire des emplois, des candidats, une boîte de réception, des interviews, des analyses.
- ats:write: Créer et changer des données : déplacer des étapes, envoyer des e-mails, planifier des entretiens, mettre à jour des emplois.
Appelez l'outil whoami pour confirmer l'utilisateur authentifié, l'organisation, la méthode d'authentification, et les scopes accordés.
Référence des outils (25 outils)
Les outils de lecture ne changent jamais les données. Les outils d'écriture créent ou modifient des enregistrements et peuvent déclencher des e-mails, des événements de calendrier ou des automatisations.
Emplois (4)
list_jobs(lecture) : Lister les emplois dans votre organisation, du plus récemment mis à jour au premier. Params : status, page, limit.get_job(lecture) : Détails complets d'un emploi par UUID, y compris les étapes de l'entonnoir et le nombre de candidats. Params : jobId (requis).create_job(écriture) : Créer une offre d'emploi avec des étapes d'entonnoir par défaut. Seul le titre est requis ; cela s'ouvre en projet. Params : title (requis), description, location, type, headcount, must_have_skills, preferred_skills, salary_min/max, salary_currency.update_job_status(écriture) : Changer le statut d'un emploi (DRAFT / OPEN / PAUSED / CLOSED / ARCHIVED). Params : jobId, status (tous deux requis).
Candidats (8)
list_applicants(lecture) : Lister les candidats, éventuellement pour un emploi, avec des filtres étoilés / rejetés / archivés. Params : jobId, starred, rejected, archived, page, limit.get_applicant(lecture) : Détails complets d'un candidat : étape de l'entonnoir, lien de l'emploi, notes, historique des activités. Params : applicantId (requis).search_candidates(lecture) : Recherche sémantique à travers tous les candidats. Params : query (requis), jobId, timestamp, page, limit.move_applicant_stage(écriture) : Déplacer un candidat vers une autre étape de l'entonnoir. Déclenche des automatisations de l'entonnoir. Params : applicantId, funnelId (requis), reason.add_applicant_note(écriture) : Ajouter une note à un candidat. Params : applicantId, content (requis), noteType, decisionFlag, roundName.get_applicant_resume_text(lecture) : Texte de CV analysé et données structurées. Params : applicantId (requis).get_applicant_evaluation(lecture) : Évaluation par un agent AI-graph : score d'adéquation, balises AI, résumé, statut de lacune. Params : applicantId (requis).reprocess_resume(écriture) : Relancer le pipeline de CV (analyse + évaluation + ingestion de graph). Params : applicantId (requis).
Boîte de réception & e-mail (5)
get_applicant_email_thread(lecture) : Fil d'e-mail complet pour un candidat. Params : applicantId (requis).list_inbox_emails(lecture) : Lister les e-mails entrants dans la boîte de réception de l'organisation. Params : jobId, status, search, page, limit.get_inbox_stats(lecture) : Statistiques récapitulatives de la boîte de réception : comptes non lus et totaux. Params : aucun.reply_to_applicant_email(écriture) : Répondre à un candidat, en filant sur le dernier e-mail entrant. Nécessite un Gmail connecté. Params : applicantId, body (requis), subject.send_bulk_email(écriture) : Envoyer un e-mail à un ou plusieurs candidats par ID. Nécessite un Gmail connecté. Params : applicantIds, subject, messageBody (tous requis).
Entretiens (2)
list_interviews(lecture) : Lister les entretiens. Params : jobId, applicantId, status, type, dateFrom, dateTo, page, limit.schedule_interview(écriture) : Planifier un entretien, créer des liens de feedback, et (avec Gmail) synchroniser un événement de calendrier et informer tout le monde par e-mail. Params : applicantId, jobId, title, scheduledStart, scheduledEnd (requis), plus type, location, meetingProvider, participantIds, externalInterviewers, timezone, instructions.
Analyses (2)
get_analytics(lecture) : Aperçu des analyses de l'organisation : total de candidats, changement de période, pipeline par étape, meilleurs emplois, mix de source. Defaults aux 30 derniers jours. Params : dateFrom, dateTo.get_dashboard(lecture) : Boîte de réception plus répartition par emploi des candidats actifs. Params : aucun.
Automatisations & imports (3)
list_job_automations(lecture) : Lister les automatisations de l'entonnoir configurées pour un emploi. Params : jobId (requis).get_automation_executions(lecture) : Historique d'exécution pour une seule automatisation, paginée. Params : automationId (requis), page, limit.get_import_batch(lecture) : Statut d'un lot d'importation de candidats : progression, état par fichier, erreurs. Params : batchId (requis).
Compte (1)
whoami(lecture) : Retourne l'utilisateur authentifié, l'organisation, la méthode d'authentification, et les scopes accordés. Params : aucun.
Exemples de requêtes
- "Montrez-moi ce qui est en attente dans chaque étape de mes postes ouverts, et signalez tout ce qui est bloqué."
- "Trouvez des ingénieurs React seniors avec une expérience de chef d'équipe et résumez les cinq meilleurs."
- "Déplacez Priya à Second entretien et rédigez une réponse demandant sa disponibilité la semaine prochaine."
- "Planifiez un entretien vidéo de 45 minutes avec ce candidat jeudi à 14h00 ET et ajoutez un lien Google Meet."
- "Comment le volume des candidatures a-t-il changé par rapport au mois dernier, et quel emploi convertit le mieux ?"
Les outils d'écriture ont de réels effets secondaires (envoi d'e-mail, changement de pipelines, fermeture d'emplois). Gardez les approbations d'outils activées pour les actions d'écriture jusqu'à ce que vous fassiez confiance à un flux de travail, et accordez uniquement ats:read si vous souhaitez uniquement une analyse.
FAQ & dépannage
Dois-je installer ou héberger quoi que ce soit ?
Non. Le serveur est entièrement hébergé à https://mcp.curriculo.me/mcp. Dirigez votre client vers l'URL et authentifiez-vous.
Quels clients sont pris en charge ?
Tout client MCP qui prend en charge les serveurs distants via HTTP diffusé : Claude (web/bureau), Claude Code, Cursor, VS Code, et d'autres. Les clients sans support distant natif peuvent utiliser le pont mcp-remote.
Mes outils affichent "Besoin de connexion" ou ne se connectent pas.
Relancez le flux OAuth (dans Claude Code, tapez /mcp ; dans Cursor, cliquez sur Besoin de connexion). Si vous utilisez un PAT, confirmez que l'en-tête est exactement Authorization: Bearer <token> et que le jeton n'a pas été révoqué ou expiré.
Un outil d'e-mail ou d'entretien renvoie une erreur.
Les outils d'e-mail et de calendrier (reply_to_applicant_email, send_bulk_email, le volet e-mail de schedule_interview) nécessitent une connexion Gmail active dans l'organisation. Connectez Gmail dans l'ATS, puis réessayez.
Comment puis-je limiter ce que l'IA peut faire ?
Émettez un jeton avec uniquement ats:read pour un accès d'analyse uniquement, et utilisez les paramètres de permission par outil de votre client pour désactiver des outils d'écriture spécifiques.
Quelle organisation cela agit-il ?
Celle liée à votre jeton. Appelez whoami pour confirmer l'utilisateur, l'organisation, et les scopes à tout moment.
Sécurité
- Accès limité. Chaque jeton est lié à un utilisateur et une organisation et porte des scopes explicites ats:read / ats:write.
- Moins de privilèges. Accordez le plus étroit possible qui fait le travail ; préférez les jetons en lecture seule pour l'analyse.
- Révoquez à tout moment. Les jetons d'accès personnels peuvent être révoqués dans Paramètres, API & Intégrations ; les connexions OAuth peuvent être supprimées des paramètres de connecteurs de votre client.
- Sécurité du transport. Tout le trafic est HTTPS via HTTP diffusé. Ne collez jamais un jeton dans des clients non fiables ou ne le partagez pas en texte clair.
Version HTML canonique : https://curriculo.me/docs/mcp/
