mcp-rncp MCP
Open-source MCP server providing read-only access to French RNCP and RS certification data from France compétences. It allows agents to search certifications, check validity and habilitation status, list skill blocks, and compare certifications using natural language queries, with all responses sourced and dated.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp-rncp.com/mcpWhat its tools do
9 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for active professional certifications by level or domain
- Check if a specific RNCP certification is currently active
- Verify if a SIRET is authorized to train or evaluate
- List skill blocks required for EDOF declaration
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- mcp-rncp 0.1.4
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 9 advertised
- Resources
- 2 advertised
- Resource templates
- 0 advertised
- Prompts
- 2 advertised
{
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
search_certifications — Search RNCP / RS 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). Filter by register, level (3-8), NSF or ROME code. Returns ranked matches with status and expiry date; use get_certification for details. Example (FR): « Quelles certifications de niveau 6 en cybersécurité sont actives ? »
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"nsf": {
"type": "string",
"maxLength": 4,
"description": "NSF code or prefix, e.g. '326' (IT)"
},
"rome": {
"type": "string",
"maxLength": 5,
"description": "ROME code, e.g. 'M1805'"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Free text, French (e.g. 'développeur web', 'gestion paie')"
},
"niveau": {
"type": "integer",
"maximum": 8,
"minimum": 3,
"description": "Qualification level 3 (CAP) to 8 (doctorate); RS entries have no level"
},
"repertoire": {
"enum": [
"RNCP",
"RS"
],
"type": "string",
"description": "Restrict to one register"
},
"actives_only": {
"type": "boolean",
"default": true,
"description": "Only certifications currently registered (default true)"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_certification — Get a certification sheet
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, statistics, official URL. Long texts are truncated to 4000 chars unless full=true. Example (FR): « Donne-moi la fiche RNCP 35419 et ses compétences attestées. »
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"numero"
],
"properties": {
"full": {
"type": "boolean",
"default": false,
"description": "Return untruncated long texts"
},
"numero": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Certification number: \"RNCP35419\", \"35419\", \"rncp 35419\", \"RS5000\" or a francecompetences.fr URL"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_blocs — List skill blocs (blocs de compétences)
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. RS certifications have no blocs. Example (FR): « Liste les blocs de compétences du RNCP 37674 à renseigner dans EDOF. »
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"numero"
],
"properties": {
"numero": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Certification number: \"RNCP35419\", \"35419\", \"rncp 35419\", \"RS5000\" or a francecompetences.fr URL"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}check_validity — Check registration 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 registered active certification is eligible in principle; the training organism must still be habilitated and referenced). Example (FR): « Le RNCP 35419 est-il encore actif ? Jusqu'à quand ? »
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"numero"
],
"properties": {
"numero": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Certification number: \"RNCP35419\", \"35419\", \"rncp 35419\", \"RS5000\" or a francecompetences.fr URL"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}check_habilitation — Check a training organism's 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. Habilitation is effective only if the certification is active AND the partner state is 'Actif'. Example (FR): « Le SIRET 80875076400025 est-il habilité sur le RNCP 35419 ? »
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"numero",
"siret"
],
"properties": {
"siret": {
"type": "string",
"maxLength": 20,
"minLength": 9,
"description": "SIRET (14 digits) or SIREN (9 digits, matches all establishments)"
},
"numero": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Certification number: \"RNCP35419\", \"35419\", \"rncp 35419\", \"RS5000\" or a francecompetences.fr URL"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_partenaires — List habilitated partners
Training organisms habilitated on a certification (name, SIRET, role former/evaluer/both, state, dates). Paginated; filter by SIRET/SIREN prefix. Example (FR): « Quels organismes sont habilités sur le RNCP 37674 ? »
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"numero"
],
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"numero": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Certification number: \"RNCP35419\", \"35419\", \"rncp 35419\", \"RS5000\" or a francecompetences.fr URL"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0
},
"actifs_only": {
"type": "boolean",
"default": true
},
"siret_prefix": {
"type": "string",
"maxLength": 14,
"description": "SIRET/SIREN prefix filter"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_certifications — Compare two 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 bloc of B (overlap coefficient). Example (FR): « Compare le RNCP 36490 et le RNCP 37873. »
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"numero_a",
"numero_b"
],
"properties": {
"numero_a": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Certification number: \"RNCP35419\", \"35419\", \"rncp 35419\", \"RS5000\" or a francecompetences.fr URL"
},
"numero_b": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Certification number: \"RNCP35419\", \"35419\", \"rncp 35419\", \"RS5000\" or a francecompetences.fr URL"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}changes_since — Recent changes in the registers
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. Example (FR): « Quelles fiches informatique (NSF 326) ont changé depuis le 1er juillet ? »
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"since"
],
"properties": {
"nsf": {
"type": "string",
"maxLength": 4
},
"type": {
"enum": [
"created",
"updated",
"deactivated",
"reactivated",
"removed"
],
"type": "string"
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "ISO date YYYY-MM-DD"
},
"repertoire": {
"enum": [
"RNCP",
"RS"
],
"type": "string"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_data_status — Data freshness and coverage
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. Example (FR): « De quand datent les données RNCP ? »
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
2 advertised
rediger_offre_edof — Rédiger une offre EDOF (FR)
Drafts the pedagogical objectives, programme outline and blocs section of an EDOF / Mon Compte Formation offer from an RNCP sheet. Args: numero, public (target audience), duree (hours).
- numero
- RNCP number, e.g. RNCP37674 (required)
- public
- Target audience, e.g. 'demandeurs d'emploi en reconversion'
- duree
- Training duration, e.g. '400 heures'
verifier_certification — Vérifier une certification (FR)
Compliance check before selling or funding a training: validity, expiry, replacement, blocs, and (optionally) whether a SIRET is habilitated. Args: numero, siret (optional).
- numero
- RNCP or RS number (required)
- siret
- SIRET of the training organism to check
Resources
2 advertised
glossaire — Glossaire RNCP / RS (FR)
Definitions of RNCP/RS concepts: registers, levels, blocs, habilitations, CPF, EDOF, NSF/ROME.
rncp://glossaireabout — About this server: source, licence, freshness, limits
Data provenance (France compétences via data.gouv.fr), licence, last update, coverage and known limits.
rncp://about90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 2405 ms
- 95th percentile latency
- 2405 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 2405 ms · metadata changed · 9 tool(s), 2 resource(s), 0 resource template(s), 2 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http mcp-rncp-mcp https://mcp-rncp.com/mcpCodex
codex mcp add mcp-rncp-mcp --url https://mcp-rncp.com/mcpCursor
{
"mcpServers": {
"mcp-rncp-mcp": {
"url": "https://mcp-rncp.com/mcp"
}
}
}Cline
{
"mcpServers": {
"mcp-rncp-mcp": {
"type": "streamableHttp",
"url": "https://mcp-rncp.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"mcp-rncp-mcp": {
"type": "http",
"url": "https://mcp-rncp.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http mcp-rncp-mcp https://mcp-rncp.com/mcpClaude Desktop
https://mcp-rncp.com/mcpWindsurf
{
"mcpServers": {
"mcp-rncp-mcp": {
"serverUrl": "https://mcp-rncp.com/mcp"
}
}
}Let your agent find its tools
Find servers like mcp-rncp MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.