mcp-rncp

mcp-rncp

Enables querying French national directories of professional certifications (RNCP/RS) for certification details, validity, competence blocks, and habilitation status using natural language.

Category
Visit Server

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-JJ et 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_estime est 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-rncp en 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_since enrichi (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

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.

Official
Featured
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

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.

Official
Featured
Python
graphlit-mcp-server

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.

Official
Featured
TypeScript
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured