# RNCP / RS — certifications professionnelles (France compétences) [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/ALDEBERTArnaud/mcp-rncp  
**GitHub Stars:** 1  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/rncp-rs-certifications-professionnelles-france-comp-tences

## Description
French RNCP/RS certification registers: search, sheets, blocs, validity, SIRET habilitation.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "rs-certifications-professionnelles-france-comp-tences": {
    "command": "npx",
    "args": ["-y","mcp-rncp"]
  }
}
```

## Documentation & README

# mcp-rncp

**Le RNCP et le RS dans Claude, ChatGPT, Cursor : recherche, fiches, blocs de compétences, validité, habilitations.**

Serveur [MCP](https://modelcontextprotocol.io) 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](https://github.com/ALDEBERTArnaud/mcp-rncp/blob/HEAD/README.en.md) · 📦 [`npx -y mcp-rncp`](https://www.npmjs.com/package/mcp-rncp) ·
🌐 `https://mcp-rncp.com/mcp` · 📄 [Licence des données](https://github.com/ALDEBERTArnaud/mcp-rncp/blob/HEAD/docs/LICENCE-DONNEES.md)

---

## 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` :

```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.

```bash
claude mcp add --transport http rncp https://mcp-rncp.com/mcp
```

Cursor (`.cursor/mcp.json`) :

```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](https://github.com/ALDEBERTArnaud/mcp-rncp/blob/HEAD/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](https://github.com/ALDEBERTArnaud/mcp-rncp/issues). Code MIT — Arnaud Aldebert.

