mcp-rncp
Enables querying French national directories of professional certifications (RNCP/RS) for certification details, validity, competence blocks, and habilitation status using natural language.
README
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.