mcp-rncp
MCP serverSearchOnce added, your AI can search France's national registers of professional certifications (RNCP and RS), pull the full sheet of any title, and confirm whether it is still valid. It can also check whether a training organization, identified by its SIRET or SIREN, is habilitated for a certification and in what role. Useful for verifying a diploma, vetting a training provider, or comparing two titles side by side.
Use mcp-rncp in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add mcp-rncp and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use mcp-rncp to search certifications
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Details
Available today. Use it from your connected AI after setup. It ran on Ahel's own infrastructure and offers 9 tools.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Add the integration, then ask your AI to search for a certification by name or RNCP code, or to check whether a given SIRET is habilitated for one. You can also ask which certifications have changed since a date, or how recent the underlying data is.
What your AI can do with it
- Search the RNCP and RS registers by keyword, with French synonyms understood
- Pull a certification's full sheet: title, level, status, expiry date, certifiers and activities
- List the competency blocs of an RNCP certification with their skills
- Check whether a certification is still registered and until when
- Check whether a SIRET or SIREN is habilitated for a certification, and for training or evaluating
- Compare two certifications side by side or list the training organizations habilitated on one
Install mcp-rncp
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user mcp-rncp 'https://mcp-rncp.com/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://mcp-rncp.com/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=mcp-rncp&config=eyJ1cmwiOiJodHRwczovL21jcC1ybmNwLmNvbS9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://mcp-rncp.com/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add mcp-rncp --url 'https://mcp-rncp.com/mcp'Run it once, then sign in with codex mcp login mcp-rncp if the server asks for an account.
From the project's README
As published by aldebertarnaud/mcp-rncp in README.md.
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.
Tools it gives your AI (9)
| Tool | What it does |
|---|---|
| search_certifications | Full-text search (BM25 + French synonyms) over the French national registers of professional certifications: RNCP (diplomas, titles, CQP) and RS (specific register: skills certificates, habilitations) |
| get_certification | Full structured sheet of one RNCP or RS certification: title, level, status and expiry, certifier(s), activities, attested skills, NSF/ROME/Formacode codes, access routes, legal texts, replacements... |
| list_blocs | Blocs de compétences of an RNCP certification (code RNCPxxxxxBCyy, title, skills, assessment methods), in the order and wording expected by EDOF / Mon Compte Formation forms. |
| check_validity | Is this certification currently registered (active) and until when? Returns status, expiry date, remaining days, delivery deadline, replacement certification(s) and an estimated CPF eligibility (a... |
| check_habilitation | Is a given SIRET (or SIREN) habilitated for a certification, and for which role: 'former' (train), 'evaluer' (organise assessment) or both? Also detects when the SIRET is the certifier itself. |
| list_partenaires | Training organisms habilitated on a certification (name, SIRET, role former/evaluer/both, state, dates). Paginated; filter by SIRET/SIREN prefix. |
| compare_certifications | Side-by-side comparison of two certifications: level, status, certifiers, NSF/ROME overlap, number of blocs and lexical overlap of blocs (Jaccard on skill terms) and, for each bloc of A, the closest... |
| changes_since | Certifications created, updated, deactivated, reactivated or removed since a date (history starts at the first ingestion run). Filter by change type, register or NSF code. |
| get_data_status | Source dataset date, ingestion run, counts (total/active/RNCP/RS/blocs/partners) and age of the data in days. Call this to tell the user how fresh the answers are. |
Signals
- GitHub stars
- 1
- Last commit
- Oct 2026
- Weekly downloads
- 47
- Weekly_downloads
- 56 weekly_downloads
- Tools captured
- 9
Advanced
- Delivery
- mcp-rncp MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-aldebertarnaud-mcp-rncp- Source
- github.com/aldebertarnaud/mcp-rncp
- Hosted endpoint
https://mcp-rncp.com/mcp
github.com/aldebertarnaud/mcp-rncp