mcp-rncp
Le RNCP et le RS dans Claude, ChatGPT, Cursor : recherche, fiches, blocs de compétences, validité, habilitations.
Serveur MCP en lecture seule sur les répertoires nationaux des certifications professionnelles (données ouvertes France compétences). Zéro clé API, zéro appel LLM côté serveur, réponses sourcées et datées.
🇬🇧 English README · 📦 npx -y mcp-rncp ·
🌐 https://mcp-rncp.com/mcp · 📄 Licence des données
Le problème
- Un organisme de formation vend une formation « certifiante » : la fiche RNCP est-elle encore active ? Son SIRET est-il habilité à former et/ou à évaluer ? Quels blocs de compétences cocher dans EDOF ? Depuis le 11/06/2026 les blocs doivent être renseignés ; au 22/10/2026 les offres non renseignées disparaissent de Mon Compte Formation.
- Un RH, un OPCO, un candidat veut savoir quelles certifications de niveau 6 en cybersécurité existent, laquelle expire quand, laquelle remplace laquelle.
- Les réponses sont dans un XML de 570 Mo mis à jour chaque nuit. Ce serveur le rend interrogeable en langage naturel.
Trois prompts pour commencer
« Le RNCP 35419 est-il encore actif ? Sinon, quelle fiche le remplace ? »
« Le SIRET 88055223700047 est-il habilité sur le RNCP 37674, et pour quel rôle ? Liste-moi les blocs à déclarer dans EDOF. »
« Trouve les certifications actives de niveau 6 en cybersécurité et compare les deux premières. »
Installation
Claude Desktop (local, npx)
Node ≥ 22.16 requis (node:sqlite avec FTS5). Fichier claude_desktop_config.json :
{
"mcpServers": {
"rncp": { "command": "npx", "args": ["-y", "mcp-rncp"] }
}
}
Premier lancement : téléchargement de la base (~90 Mo) dans ~/.cache/mcp-rncp (Windows : %LOCALAPPDATA%\mcp-rncp),
vérification SHA-256, puis mise à jour hebdomadaire silencieuse.
Claude.ai / Claude Code / Cursor (hébergé, Streamable HTTP)
URL du connecteur : https://mcp-rncp.com/mcp — sans authentification, 60 requêtes/min par IP.
claude mcp add --transport http rncp https://mcp-rncp.com/mcp
Cursor (.cursor/mcp.json) :
{ "mcpServers": { "rncp": { "url": "https://mcp-rncp.com/mcp" } } }
Outils
| Outil | Question | Ce qu'il renvoie |
|---|---|---|
search_certifications | « développeur web niveau 5 » | recherche plein texte (BM25 + synonymes FR), filtres répertoire / niveau / NSF / ROME, actives par défaut |
get_certification | « fiche RNCP 37674 » | fiche complète : certificateurs, activités, compétences, codes, voies d'accès, textes, remplacements, statistiques |
list_blocs | « blocs du RNCP 37674 » | blocs RNCPxxxxxBCyy dans l'ordre, compétences, modalités d'évaluation — prêt pour EDOF |
check_validity | « le RNCP 35419 est-il actif ? » | statut, échéance, jours restants, date limite de délivrance, remplaçante, éligibilité CPF estimée, avertissement |
check_habilitation | « SIRET 8805… habilité sur 37674 ? » | habilité oui/non, rôles former / evaluer, certificateur, état et dates de l'habilitation |
list_partenaires | « qui est habilité sur 37674 ? » | partenaires paginés, filtre SIRET/SIREN |
compare_certifications | « compare 36490 et 37873 » | niveaux, certificateurs, NSF/ROME communs, recouvrement lexical des blocs, blocs les plus proches |
changes_since | « quoi de neuf depuis le 1er juillet en NSF 326 ? » | fiches créées / modifiées / désactivées / réactivées / retirées |
get_data_status | « de quand datent les données ? » | date de l'export, âge, compteurs |
Numéros acceptés sous toutes les formes : RNCP35419, 35419, rncp 35419, RS5000, URL francecompetences.fr.
Chaque réponse contient summary, source, data_updated_at, url_fiche et un indicateur truncated explicite.
Resources : rncp://glossaire, rncp://about. Prompts : rediger_offre_edof, verifier_certification.
Données, source, licence
- Source : France compétences, jeu data.gouv.fr « RNCP et RS », flux XML V4.1, licence Ouverte 2.0. Mention obligatoire reprise dans chaque réponse : « Source : France compétences (data.gouv.fr), export du AAAA-MM-JJ ».
- Couverture : ~30 500 fiches (dont ~7 000 actives), ~56 000 blocs, ~400 000 lignes d'habilitation. Détail du mapping balise → colonne dans docs/DATA-MAPPING.md.
- Fraîcheur : ingestion hebdomadaire (lundi 05:00 UTC, relançable), publiée en Release GitHub
data-AAAA-MM-JJet chargée dans Cloudflare D1 sans interruption (deux bases blue/green).
Limites
- Pas de temps réel : les données ont l'âge indiqué par
get_data_status(au plus 7 jours en régime normal). eligible_cpf_estimeest une estimation (fiche active) ; l'éligibilité réelle dépend aussi de l'habilitation et du référencement EDOF de l'organisme.- Recherche plein texte, pas sémantique : préférez les termes de l'intitulé officiel (les sigles courants sont gérés).
- Non inclus en v1 : NPEC (prise en charge apprentissage), composition des jurys, référentiels PDF.
- Le service hébergé est gratuit et limité à 60 req/min/IP ; pour un usage intensif, utilisez
npx mcp-rncpen local.
Architecture
packages/core outils MCP + requêtes SQL (agnostique du runtime)
packages/ingest data.gouv → SAX → SQLite/FTS5 → rncp.sqlite(.br) + rncp.sql (D1) + manifest.json
packages/db-sqlite adaptateur node:sqlite (CLI) packages/db-d1 adaptateur Cloudflare D1 (blue/green)
apps/cli npm `mcp-rncp` (stdio) apps/worker Cloudflare Worker (Hono, /mcp, /health)
eval/ 46 cas réels : recall@5 ≥ 0,8 (mesuré : 96 % sur la base complète), validité/habilitation exactes
Développement : bun install, bun run test, bun run eval, bun run ingest (≈ 1 min), bun run dev:worker.
Roadmap
- v1.1 : NPEC par IDCC,
changes_sinceenrichi (diff de blocs), embeddings locaux si les évals le justifient. - v2 (Pro) : vérification de catalogue en masse (N numéros × 1 SIRET), alertes d'expiration / retrait d'habilitation, export EDOF, veille par domaine NSF/ROME, clés API.
Contributions et retours : issues. Code MIT — Arnaud Aldebert.