Skip to main content
Glama

Server Details

French job profiles, RNCP diplomas and 135,000 training programs. Read-only, no account.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
CIB-PROD/vocaneo-mcp-connector
GitHub Stars
0
Server Listing
Vocaneo MCP Server

TDQS

A4.4/5.0

Scored across 13 tools

Disambiguation5/5

Each tool targets a clearly distinct resource and action: searches return lists, get tools return single records, and compare_skills, get_similar_jobs, get_job_pathways, and resolve_location each have unique purposes. Even the search_trainings/search_training_centers pair is unambiguous because one yields programmes and the other establishments.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: get_* for records, search_* for queries, plus list_job_sectors, resolve_location, and compare_skills. The slight singular/plural variation between get_training and search_trainings does not break the pattern.

Tool Count5/5

Thirteen tools is well-scoped for a career-guidance server covering jobs, certifications, training programmes, training establishments, location resolution, and skill matching. Each tool earns its place and none feel redundant or decorative.

Completeness5/5

The surface covers the full career-guidance workflow: searching jobs and certifications, retrieving details, finding pathways, locating nearby training, listing sectors, resolving locations, comparing skills, and exploring similar jobs. Every get tool has a clear search entry point, so there are no dead ends.

Available Tools

13 tools
compare_skillsComparer des compétences à un métierA
Read-only
Inspect

Compare des compétences décrites en clair à celles requises par un métier cible : ce qui correspond, ce qui manque (savoir-faire et savoirs séparés), et les nombres bruts. Utile pour répondre à « ai-je le profil pour devenir X ». Ne suggère pas de métiers : il faut fournir une cible. Les compétences se décrivent avec les mots de la personne — l'appariement ne demande pas le libellé exact du référentiel, et une phrase qui en énonce plusieurs (« accueil et vente en magasin ») est découpée. ⚠ NE PAS calculer de pourcentage à partir de ces nombres. « commonSkills » ne recense que les compétences que la personne a pensé à citer, jamais tout ce qu'elle sait : rapporté aux « jobSkillsCount » du métier, il produirait un taux qui punit la concision. Dire les nombres tels quels — « vous en avez cité 5, 3 correspondent ; le métier en compte 36 » — et jamais un verdict d'employabilité. EN: Compares a list of skills against those required by a target job, returning matching skills, missing skills and a coverage rate. Answers « do I have the profile for job X ». Does not suggest jobs: a target is required. Describe skills in plain words: matching does not require the reference data's exact wording. The coverage rate is an order of magnitude derived from vocabulary proximity — present it as such, never as a competence assessment, and never conclude from it that an application is pointless.

ParametersJSON Schema
NameRequiredDescriptionDefault
userSkillsYesCompétences de la personne, en clair. EN: The person's skills, in plain words.
targetJobSlugYesSlug du métier visé. EN: Slug of the target job.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already mark it read-only and non-destructive, and the description adds substantial behavioral context beyond those hints: matching accepts plain words and does not require exact referential wording, multi-skill phrases are split, commonSkills only contains what the person thought to cite, and the coverage rate must not be turned into a percentage or employability verdict. This is exactly the kind of non-obvious behavior an agent needs to know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and output, but it is long and repeats nearly all content in French and then English. While the warnings are valuable, the bilingual duplication makes it less concise than it could be. It is structured coherently, but length reduces clarity for an agent parsing the definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must explain return semantics, and it does: matched skills, missing skills, separated know-how and knowledge, raw numbers, commonSkills, jobSkillsCount, and the coverage rate caveat. It also covers the two main misuse risks — computing a percentage and drawing employability conclusions — making it complete for this tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% parameter coverage, so the baseline is 3. The description adds meaning beyond the schema by explaining that userSkills should be in the person's own words, may contain multiple skills in one phrase, and that targetJobSlug is a required explicit target rather than an auto-suggested job. This enriches both parameters usefully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it compares a list of user-provided skills against a target job's required skills and reports matches, missing skills, and raw counts. It also distinguishes itself from siblings by explicitly saying it does not suggest jobs, so an agent can tell it apart from get_similar_jobs or search_jobs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear when-to-use context: answering 'do I have the profile for job X'. It also gives an explicit exclusion: it does not suggest jobs, so a target must be supplied. However, it does not name sibling alternatives directly, so the guidance is strong but not a full alternative-routing instruction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_certificationFiche diplôme ou certificationA
Read-only
Inspect

Fiche complète d'un diplôme ou d'une certification : intitulé, codes RNCP et RS, type, niveau de sortie, voies d'accès, prix moyen des formations, métiers visés et nombre de formations qui y préparent. Renvoie l'URL publique à citer. L'identifiant se récupère via search_certifications ou get_job_pathways. EN: Full record of a diploma or certification: title, RNCP and RS codes, type, exit level, access routes, average training price, target jobs and how many programmes prepare for it. Returns the public URL to cite. Get the id from search_certifications or get_job_pathways.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentifiant numérique de la certification. EN: Numeric certification id.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnlyHint=true and destructiveHint=false, so the safety profile is established. The description adds value beyond annotations by disclosing the full return payload and the notable behavior that it 'returns the public URL to cite', which agents need for downstream usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-ordered: return payload first, then URL behavior, then id sourcing. The French/English duplication doubles length, but each sentence is dense and information-bearing, so the structure earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only fetch with no output schema, the description's detailed field list acts as the return contract and is largely sufficient. The only gaps are edge-case behaviors such as handling of invalid ids or empty results, which are minor for a simple lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% — the id property is documented as 'Numeric certification id' — so the baseline is 3. The description adds genuine meaning by telling the agent where the id comes from (search_certifications or get_job_pathways), which the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the resource precisely ('Full record of a diploma or certification') and enumerates the returned fields: title, RNCP/RS codes, type, exit level, access routes, average training price, target jobs, and programme count. It also names the public URL behavior and the two siblings that supply the id (search_certifications, get_job_pathways), which distinguishes it from search and training-record tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the caller: 'Get the id from search_certifications or get_job_pathways', which implies the correct lookup-then-fetch workflow before calling this tool. It does not explicitly state when not to use it versus alternatives like get_training, but the certification-specific field list makes the resource boundary reasonably clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_jobFiche métierA
Read-only
Inspect

Fiche complète d'un métier français : missions, compétences, appellations, conditions d'accès, marché de l'emploi (tension, salaires, offres) et exposition à l'intelligence artificielle. Accepte le slug du métier ou son code ROME. Renvoie l'URL publique de la fiche, à citer. EN: Full profile of a French job: duties, skills, alternative names, access conditions, labour-market data (demand, salaries, vacancies) and AI exposure. Accepts a job slug or a ROME code. Returns the public URL to cite.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesSlug du métier (ex. developpeur-developpeuse-informatique) ou code ROME (ex. M1805). Les slugs sont épicènes : en cas de doute, passer par search_jobs, qui sert le slug exact. EN: Job slug (e.g. developpeur-developpeuse-informatique) or ROME code (e.g. M1805). Slugs carry both gender forms: when unsure, call search_jobs first, which returns the exact slug.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, covering the safety profile. The description adds that the tool returns the public URL of the profile to cite, which is useful output context. It does not elaborate on errors, rate limits, or data freshness, but for a read-only lookup with annotations in place, the additional disclosure is adequate without being rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and content list, then covers input format and return value. The bilingual repetition doubles length, but each sentence earns its place by conveying distinct information. It is longer than strictly necessary but remains structured and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, single-parameter tool with 100% schema coverage and no output schema, the description is complete: it details what the tool returns, the accepted identifier forms, and the output URL. There are no significant gaps an agent would need to guess before calling it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents the identifier parameter with examples and guidance. The tool description repeats that slugs or ROME codes are accepted but adds no new semantic meaning beyond the schema. This matches the baseline for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: it retrieves the full profile of a French job, and enumerates the content areas (duties, skills, alternative names, access conditions, labour-market data, AI exposure). It also clarifies the accepted identifiers (slug or ROME code), distinguishing this from search_jobs and other sibling tools that either search or return related jobs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use this tool: to get a full job profile by slug or ROME code. It also gives explicit guidance in the parameter description: when unsure about the exact epicene slug, call search_jobs first to obtain it. It does not contrast with get_similar_jobs or get_job_pathways, but the single-profile purpose is clear and the search_jobs routing is a concrete usage hint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_job_pathwaysVoies d'accès à un métierA
Read-only
Inspect

Répond à « comment devenir X » : les diplômes et certifications qui mènent à un métier, avec le nombre de formations qui y préparent, le niveau de sortie dominant et les voies d'accès (scolaire, alternance, formation continue). Accepte le slug d'un métier ou son code ROME — les codes récents (ROME 4.0) sont résolus par le référentiel, inutile de chercher un code parent. C'est le pont entre une question d'orientation et l'offre de formation réelle. EN: Answers « how do I become X »: the diplomas and certifications leading to a job, with how many training programmes prepare for each, the dominant exit level and the access routes. Accepts a job slug or a ROME code — recent (ROME 4.0) codes are resolved upstream, no need to look up a parent code.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNombre de diplômes renvoyés, 1 à 20 (défaut 12). Les statistiques du métier portent sur la totalité, pas sur cette page. EN: Number of diplomas returned, 1 to 20 (default 12). The job statistics always cover the whole job, not this page.
identifierYesCode ROME du métier (ex. J1506 pour infirmier en soins généraux) ou slug exact. Les slugs sont épicènes et souvent longs — « infirmier » seul n'existe pas, c'est « infirmier-infirmiere-en-soins-generaux-ide » : en cas de doute, appeler search_jobs d'abord, qui sert le code ROME et le slug exact. EN: ROME code (e.g. J1506 for a general-care nurse) or exact slug. Slugs carry both gender forms and are often long — « infirmier » alone does not exist: when unsure, call search_jobs first, which returns the ROME code and the exact slug.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Les annotations couvrent déjà readOnlyHint et destructiveHint. La description ajoute un comportement utile: les codes ROME 4.0 sont résolus en amont par le référentiel, donc aucun prétraitement de code parent n'est nécessaire. Elle précise aussi le contenu du retour, ce qui va au-delà des annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

La description est bien organisée: fonction, contenu du retour, formats d'entrée, conseil de résolution. Le bloc bilingue est dense et utile. Seule la métaphore « pont entre une question d'orientation et l'offre de formation » est légèrement redondante avec la première phrase.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Il n'y a pas de schéma de sortie, mais la description énumère suffisamment le contenu retourné: diplômes, certifications, nombre de formations, niveau de sortie dominant et voies d'accès. Le schéma d'entrée couvre les paramètres et le repli sur search_jobs ferme l'ambiguïté sur les identifiants. Rien d'essentiel ne manque pour invoquer l'outil correctement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

La couverture du schéma est de 100%, donc le niveau de base est 3. La description apporte une information supplémentaire réelle: les codes ROME récents sont résolus en amont, ce qui évite de chercher un code parent. Le schéma documente déjà abondamment les slugs épicènes et la recherche préalable via search_jobs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

La description ouvre sur la question concrète « comment devenir X » et énumère précisément ce que retourne l'outil: diplômes/certifications, nombre de formations, niveau de sortie dominant et voies d'accès. Cela la distingue clairement des frères comme get_job (détails d'un métier) ou search_jobs (recherche d'identifiants), même sans les nommer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Le cas d'usage est explicite: répondre à une question d'orientation. Le schéma ajoute une consigne actionnable: en cas de doute sur un slug, appeler search_jobs d'abord, qui fournit le code ROME et le slug exact. La phrase « inutile de chercher un code parent » élimine aussi une étape superflue.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_similar_jobsMétiers prochesA
Read-only
Inspect

Métiers proches d'un métier donné, classés par nombre de savoir-faire partagés avec lui. Répond à « je fais ce métier, vers quoi puis-je aller ? » et « quels métiers ressemblent à celui-là » — la question la plus fréquente en reconversion. Chaque résultat porte « sharedSkills », le nombre de savoir-faire communs, et son URL publique à citer. La proximité est calculée sur les compétences du référentiel : c'est un fait vérifiable, pas un conseil. Cet outil ne connaît rien de la personne qui pose la question et n'emploie aucune psychométrie — ne pas présenter ses résultats comme une orientation individuelle, ni les combiner pour en fabriquer une. EN: Jobs closest to a given one, ranked by how many practical skills they share with it. Answers « I do this job, where can I go next? ». Each result carries « sharedSkills », the number of shared skills, and a public URL to cite. Proximity is computed from the reference data's skills: a verifiable fact, not advice. This tool knows nothing about the person asking and uses no psychometrics — do not present its results as individual career guidance.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNombre de métiers proches, 1 à 20 (défaut 10). EN: Number of similar jobs, 1 to 20 (default 10).
identifierYesSlug du métier de départ (ex. developpeur-developpeuse-informatique). Un code ROME est accepté mais coûte un appel de plus : préférer le slug, que search_jobs et get_job servent tous deux. EN: Slug of the starting job. A ROME code works but costs an extra call: prefer the slug, which both search_jobs and get_job return.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare read-only behavior, and the description adds significant behavioral depth: proximity is a verifiable calculation from reference skills, not advice; the tool has no knowledge of the user; results include sharedSkills and a public URL; and there is an explicit warning against misuse. This goes well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and is well organized, but the French and English versions largely duplicate each other, which adds length. The content is still focused, and every substantive point serves either selection, invocation, or safe use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with one required parameter, the description is complete: it explains the ranking logic, what each result contains, what the identifier should be, and what the output must not be used for. The absence of an output schema is compensated by describing the key result fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema itself already documents both parameters, including the limit range/default and the identifier slug format with a note about ROME codes. The description adds no extra parameter-level meaning beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: returns jobs closest to a given job, ranked by shared skills. It explicitly names the user question it answers and differentiates itself from siblings like search_jobs and get_job by focusing on proximity rather than search or details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly identifies the intended use case: career reconversion questions like 'what jobs are close to mine?'. It also provides a firm exclusion, telling agents not to present results as individual career guidance or combine them into psychometric advice. It does not explicitly enumerate sibling alternatives, but the use context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_trainingFiche formationA
Read-only
Inspect

Fiche complète d'une formation : objectifs, programme, prérequis, modalités d'admission, voies et modalités disponibles, prix, éligibilité au CPF, diplôme préparé et établissement qui la dispense. Renvoie l'URL publique à citer. L'identifiant se récupère via search_trainings. EN: Full record of a training programme: objectives, syllabus, prerequisites, admission process, available routes and delivery modes, price, CPF eligibility, prepared diploma and the establishment delivering it. Returns the public URL to cite. Get the id from search_trainings.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentifiant numérique de la formation. EN: Numeric training id.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by stating that it returns the public URL to cite and by enumerating the record fields returned, which gives the agent a clear expectation beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured and information-dense, with the main purpose stated first and follow-up details about the URL and id source. The bilingual FR/EN duplication doubles the length but is understandable given the likely audience; overall every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only getter with one required parameter, the description covers the returned content, the public URL return value, and the id acquisition path. The output schema is absent, so the description appropriately compensates by listing the record elements. Nothing critical is missing for an agent to invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully describes the id parameter with 100% coverage, so the baseline is 3. The description adds value by explaining that the id comes from search_trainings, which tells the agent where to obtain a valid value rather than just what the parameter type is.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('get' / 'fiche complète') and identifies the resource as a training programme, then enumerates exactly what the record contains: objectives, syllabus, prerequisites, admission, price, CPF eligibility, diploma, and establishment. It also distinguishes itself from search_trainings by clarifying that search_trainings is for discovering the id while this tool retrieves the full record.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent to obtain the id from search_trainings before calling this tool, which provides clear usage context. It does not explicitly contrast this tool with siblings like get_certification or get_job, but the domain-specific resource (formation/training) makes the intended use unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_training_centerFiche établissement de formationA
Read-only
Inspect

Fiche complète d'un établissement de formation : raison sociale, adresse, ville, nature et statut, types (organisme de formation, CFA, centre de bilan, enseignement supérieur), académie, nombre de formations dispensées et offre de bilan de compétences. L'identifiant se récupère via search_training_centers. Deux adresses distinctes, à ne pas confondre : « url » est la page Vocaneo de l'établissement, celle à citer ; « website » est le site de l'organisme lui-même, celui vers lequel envoyer quelqu'un qui veut s'inscrire ou se renseigner. « phone » est son téléphone quand il est connu. Pour lister ses formations, appeler search_trainings avec establishmentId. EN: Full record of a training establishment: legal name, address, city, nature and status, types (training provider, apprenticeship centre, skills-assessment centre, higher education), academy, number of programmes delivered and skills-assessment offering. Get the id from search_training_centers. Two distinct addresses: « url » is the establishment's Vocaneo page, the one to cite; « website » is the provider's own site, where to send someone who wants to enrol. To list its programmes, call search_trainings with establishmentId.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentifiant numerique de l etablissement. EN: Numeric establishment id.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and destructiveHint, but the description adds meaningful behavior beyond that: the disambiguation of url versus website and the note that phone is only included when known. This gives the agent practical interpretation guidance that structured annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long and bilingual, but each component earns its place: the field list, the id-source note, the URL disambiguation, and the routing to search_trainings. The dual-language format lengthens it, but the content is information-dense and front-loaded with the essential record summary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only tool, this description is complete: it enumerates the returned fields, explains how to get the id, clarifies ambiguous fields, and tells the agent what to use for related operations. No output schema exists, so the detailed field enumeration in the description is especially valuable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully documents the numeric id parameter with 100% coverage, so the baseline is 3. The description adds genuine value by stating that the id is obtained from search_training_centers, which tells the agent where the identifier comes from and how to acquire it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that this tool returns the full record of a training establishment, enumerating the exact fields included. It also orients the agent by saying the identifier comes from search_training_centers and that listing programmes belongs to search_trainings, distinguishing it from those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains how to obtain the required id via search_training_centers and when to call search_trainings instead for programme listings. It also gives practical guidance about the two URL fields, telling the agent which one to cite and which one to use for user referrals.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_job_sectorsSecteurs d'activitéA
Read-only
Inspect

Liste les secteurs d'activité du référentiel des métiers, avec leur identifiant, pour filtrer une recherche sur un secteur entier. Inutile pour une question thématique simple : search_jobs cherche déjà dans le libellé du secteur. EN: Lists the activity sectors of the job reference, with their identifiers, to filter a search on a whole sector. Not needed for simple thematic questions: search_jobs already searches sector labels.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds that the tool returns sector identifiers and serves a filtering purpose, but does not disclose deeper behavioral traits such as ordering, pagination, or whether inactive sectors are included. This is modest added context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences per language: the first states the purpose and output, the second states the exclusion and alternative. There is no filler, and the bilingual duplication is justified for the intended audience.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only list tool with no output schema, the description fully covers what the tool returns (sectors with identifiers) and when to use it (filtering on a whole sector). It also routes the agent to the correct sibling for simpler questions. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema is an empty object, so schema coverage is complete. No parameter explanation is needed; the description confirms this is a parameterless listing tool and expresses its intended use.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Liste' with the resource 'secteurs d'activité du référentiel des métiers', states that identifiers are included, and explicitly distinguishes itself from search_jobs. An agent can immediately tell what this tool does and how it differs from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says the tool is for filtering a search on a whole sector, and explicitly warns it is not needed for simple thematic questions, pointing to search_jobs as the alternative that already searches sector labels. This gives clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_locationRésoudre une ville ou un code postalA
Read-only
Inspect

Résout un lieu français à partir d'un code postal ou d'un nom de ville, et renvoie les valeurs exactes à réutiliser dans les recherches de formations et d'établissements. À appeler avant toute recherche « près de chez moi » : le nom de ville et le département doivent être envoyés tels quels aux deux recherches. La ville résolue porte aussi ses latitude/longitude : c'est le centre à passer dans aroundLat/aroundLng avec radiusKm pour chercher AUTOUR d'un lieu — le bon geste quand une petite ville ne donne rien, l'offre étant souvent dans la commune d'à côté. EN: Resolves a French location from a postcode or city name, returning the exact values to reuse in training and establishment searches. Call before any « near me » search: the city name and department must be passed verbatim to both searches. The resolved city also carries its latitude/longitude: the centre to pass as aroundLat/aroundLng with radiusKm to search AROUND a place — the right move when a small town yields nothing, the offer often sitting in the next town over.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesCode postal à cinq chiffres (ex. 69003) ou nom de ville (ex. Antibes). Les deux fonctionnent, arrondissements compris : 69003 résout Lyon. EN: Five-digit postcode or city name. Both work, arrondissement codes included: 69003 resolves Lyon.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only and non-destructive, but the description adds substantial behavioral detail beyond that: output values must be passed verbatim, the result includes latitude/longitude intended for aroundLat/aroundLng, and arrondissement postcodes like 69003 resolve to Lyon. This gives the agent a clear model of what the tool does with the input and what it returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well organized and front-loaded, but it repeats nearly the entire content in both French and English, making it much longer than needed for a one-parameter resolver. While bilingual text can be intentional, the duplication means many sentences do not earn their place in an otherwise compact tool definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for this tool's complexity: it explains accepted input formats, resolution behavior, the exact output fields to reuse, and how to use coordinates with radiusKm. Since there is no output schema, the description compensates by naming the relevant return values and their intended downstream usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents the single query parameter with 100% coverage, including examples and arrondissement behavior. The description restates some of this but does not add significant new meaning about the query parameter itself; its extra value is more about how to use the resolved outputs, which belongs to behavior rather than parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise action: 'Résout un lieu français à partir d'un code postal ou d'un nom de ville' and explains that it returns values to reuse in searches. This makes the tool's resource and purpose unambiguous, and it clearly distinguishes the tool from the search/get siblings by focusing on location resolution as a prerequisite step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to call the tool: 'À appeler avant toute recherche "près de chez moi"' and explains how to use its outputs for both verbatim city/department values and aroundLat/aroundLng radius searches. It also gives a concrete fallback strategy: use the coordinates when a small town yields nothing. This is strong usage guidance even without naming sibling alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_certificationsRechercher un diplôme ou certificationA
Read-only
Inspect

Recherche des diplômes et certifications reconnus en France (RNCP, RS) : par nom, par code, par type de diplôme, par niveau de sortie ou par métier visé. Renvoie pour chacun son URL publique à citer. Pour savoir où préparer un diplôme trouvé ici, enchaîner sur search_training_centers avec son certificationId. Renvoie « total », le nombre de diplômes correspondants, et « results », une page d'au plus 20. Quand le référentiel en compte trop pour être dénombrés, « total » vaut null et « totalAtLeast » porte une borne basse : dire alors « plus de N », jamais « N ». EN: Search French recognised diplomas and certifications (RNCP, RS) by name, code, diploma type, exit level or target job. Each result carries a public URL to cite. To find where a diploma is taught, chain to search_training_centers with its certificationId. Returns « total », the number of matches, and « results », a page of at most 20. When the reference data holds too many to count, « total » is null and « totalAtLeast » carries a lower bound: say « more than N », never « N ».

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoRecherche libre sur le nom du diplôme et ses codes RNCP ou RS. EN: Free-text search on the diploma name and its RNCP or RS codes.
typeNoType de diplôme. Une trentaine de valeurs, dont : cap_bep, bac, bts_btsa_btsm, but, licence, licence_pro, master, diplome_ingenieur, diplome_etat, titre_professionnel, certification_rs, doctorat. Une valeur non reconnue renvoie une erreur qui énumère la liste complète. EN: Diploma type, about thirty values including cap_bep, bac, bts_btsa_btsm, but, licence, master, diplome_ingenieur, titre_professionnel, certification_rs, doctorat. An unknown value returns an error listing every accepted value.
limitNoNombre de résultats, 1 à 20 (défaut 10). EN: 1 to 20 (default 10).
romeCodeNoCode ROME du métier visé, de la forme J1506, pour ne garder que les diplômes qui y mènent. EN: ROME code of the target job, e.g. J1506.
exitLevelNoNiveau de sortie. Valeurs acceptées : cap_bep, bac, bac_plus_1, bac_plus_2, bac_plus_3, bac_plus_4, bac_plus_5, bac_plus_6, bac_plus_7, bac_plus_8, bac_plus_9_plus, na. Noter la forme avec tirets bas : « bac+3 » n'est pas accepté. EN: Exit level. Accepted values: cap_bep, bac, bac_plus_1 through bac_plus_9_plus, na. Note the underscore form: « bac+3 » is not accepted.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the readOnly/destructive annotations by disclosing pagination (at most 20 results), the meaning of total, the null-total and totalAtLeast edge case, exactly how to phrase the count ('more than N', never 'N'), and the error behavior for unknown type values. This is rich behavioral context an agent needs to interpret results correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Each substantive point is purposeful and front-loaded, but the full French description is then repeated in English, which roughly doubles the length. The duplication is understandable in a bilingual context, yet it prevents a top conciseness score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema present, the description compensates thoroughly by defining the returned fields (total, results, URL), the page limit, the totalAtLeast edge case, and the follow-up call to search_training_centers. Nothing essential for correct invocation and interpretation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100%, with each parameter already documented in detail including accepted values and examples. The description restates the search dimensions at a high level but does not add meaningfully beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names an explicit verb and resource: searching recognized French diplomas/certifications (RNCP, RS). It enumerates concrete search dimensions (name, code, type, exit level, target job) and states the output includes a public URL, clearly distinguishing it from sibling tools such as get_certification or search_training_centers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context and explicitly instructs chaining to search_training_centers with the certificationId to find where a diploma is taught. It does not explicitly exclude alternatives like get_certification, so it stops short of a full when/when-not comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_jobsRechercher un métierA
Read-only
Inspect

Recherche des métiers dans le référentiel français Vocaneo : par mots-clés, secteur d'activité, salaire minimum, facilité d'accès au métier ou par thèmes tels que le télétravail, le freelance, les métiers en tension ou à impact écologique. Renvoie une liste courte avec, pour chaque métier, son URL publique à citer. Avec « query », les résultats sont classés par pertinence — le métier généraliste d'abord, puis ses spécialisations : le premier résultat est celui que vise une question « comment devenir X ». Renvoie « results », une page d'au plus 20 métiers, et « total », qui vaut null : l'API des métiers ne fournit pas de décompte. EN: Search French job profiles by keywords, sector, minimum salary, accessibility or themes such as remote work, freelance, high-demand or environmental-impact jobs. Each result carries a public URL to cite. Returns « results », a page of at most 20, and « total », which is null: the jobs API provides no count.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoThèmes d'excellence du métier. Valeurs acceptées : salary (bien rémunéré), telework (télétravail possible), freelance (exerçable en indépendant), demand (métier en tension, qui recrute), ecological_impact, social_impact. EN: Job themes. Accepted values: salary, telework, freelance, demand, ecological_impact, social_impact.
limitNoNombre de résultats, 1 à 20 (défaut 10). EN: Number of results, 1 to 20 (default 10).
queryNoRecherche libre sur le titre, le code ROME, le secteur et les appellations du métier. Cherche aussi dans le libellé du secteur : « sante » suffit pour les métiers de la santé. EN: Free-text search over job title, ROME code, sector and alternative job names.
sectorsNoIdentifiants de secteurs d'activité, obtenus via l'outil list_job_sectors. Pour une recherche thématique simple, préférer « query ». EN: Sector identifiers, obtained from the list_job_sectors tool.
romeCodeNoCode ROME exact, de la forme M1805. EN: Exact ROME code, e.g. M1805.
minSalaryNoSalaire annuel brut minimum, en euros, comparé au premier décile du métier. EN: Minimum gross annual salary in euros, compared to the job's first decile.
minAccessibilityScoreNoBorne basse du score d'accessibilité du métier, de 0 à 10 : plus il est haut, plus le métier est accessible sans longues études. Utiliser 7 ou plus pour « sans faire de longues études ». Ce score ne mesure pas un niveau de diplôme. EN: Lower bound of the job's accessibility score (0-10): the higher, the easier to enter without long studies. Use 7 or more for « without long studies ». It does not measure a diploma level.

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint=true annotation, the description discloses several genuinely non-obvious behaviors: results are capped at 20 per page, « total » is always null because the API provides no count, each item carries a public URL to cite, and query results rank the generalist job first followed by its specializations. These are exactly the traits an agent needs to avoid hallucinating totals or mis-reporting the first result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded: the first sentence establishes resource and search dimensions, then return format, then ordering semantics, then the results/total contract. The bilingual FR/EN duplication doubles length, but each language copy is tight and every clause carries information rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter read-only search tool with 100% schema coverage and no output schema, the description covers the top-level return contract (results, total), the per-item URL to cite, and the API's null-count quirk. The remaining gaps are explicit sibling routing (get_job for a single profile, get_similar_jobs for similarity) and per-item fields beyond the URL.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all 7 parameters are richly described in the schema, so the baseline is 3. The description adds value beyond the schema by explaining the query-dependent ranking semantics (generalist first, then specializations, first result targets « comment devenir X »), which the schema's query entry does not mention.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: « Recherche des métiers dans le référentiel français Vocaneo », and enumerates the search dimensions (keywords, sector, salary, accessibility, themes) plus the list-shaped return of at most 20 jobs. This structurally separates it from siblings like get_job or search_certifications, but no sibling is ever named, so differentiation remains implicit rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use vs alternatives guidance is present; none of the 12 siblings are mentioned and no exclusions are given. Usage context is implied through the query-ordering note (« le premier résultat est celui que vise une question comment devenir X »), and the schema rather than the description points to list_job_sectors for sector identifiers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_training_centersRechercher un établissement de formationA
Read-only
Inspect

Recherche des établissements de formation français : organismes de formation, CFA (apprentissage), centres de bilan de compétences et établissements d'enseignement supérieur. Filtrable par ville, code postal, département, région et type. En fournissant certificationId, renvoie plutôt les établissements qui préparent ce diplôme — c'est ainsi qu'on répond à « où préparer ce diplôme » et « dans quelles villes ». Renvoie « total », le nombre d'établissements correspondants, et « results », une page d'au plus 20. Quand le référentiel en compte trop pour être dénombrés, « total » vaut null et « totalAtLeast » porte une borne basse : dire alors « plus de N », jamais « N ». Avec certificationId, « total » vaut null sans borne : cette collection n'en fournit aucune. EN: Search French training establishments: training providers, apprenticeship centres, skills-assessment centres and higher-education institutions. Filter by city, postcode, department, region and type. Passing certificationId instead returns the establishments preparing that diploma. Returns « total » and « results ». When the reference data holds too many to count, « total » is null and « totalAtLeast » carries a lower bound: say « more than N », never « N ». With certificationId, « total » is null with no bound.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoRecherche libre sur le nom et la ville. Un NOM d'établissement se cherche ici seul, ville incluse dans q si besoin — jamais cumulé avec les filtres city ou postalCode : la commune administrative d'un organisme diffère souvent de la ville de son enseigne, et le cumul renvoie alors un total de 0 à tort. Les filtres de lieu servent aux recherches par type ou par domaine, pas aux noms propres. EN: Free-text search on name and city. Search an establishment NAME here alone, city included in q if needed — never combined with the city or postalCode filters: an organisation's registered town often differs from the town in its brand name, and combining then wrongly returns a total of 0. Location filters serve type or domain searches, not proper names.
cityNoNom exact de la ville. Ne sert pas à retrouver un nom d'organisme — mettre alors tout dans q, jamais ici. EN: Exact city name. Never use it to find an organisation by name — put everything in q instead.
typeNoType d'établissement. Valeurs acceptées : organisme_formation, centre_formation_apprentis, centre_bilan_competences, etablissement_enseignement_superieur. EN: Establishment type. Accepted values: organisme_formation, centre_formation_apprentis, centre_bilan_competences, etablissement_enseignement_superieur.
limitNoNombre de résultats, 1 à 20 (défaut 10). EN: 1 to 20 (default 10).
regionNoNom de la region. EN: Region name.
radiusKmNoRayon en kilomètres, de 1 à 200 — 15 km est un bon départ, à élargir si vide. Pour « près de X » ou « autour de X », ou quand une petite ville ne donne rien : resolve_location d'abord, puis ses latitude/longitude ici. Le rayon REMPLACE city et postalCode, jamais en cumul — les résultats sont triés par distance croissante et portent distanceKm. Il sert aux recherches par type ou par domaine, pas aux noms propres : un nom d'établissement se cherche toujours dans q seul. EN: Radius in km, 1 to 200 — 15 km is a good start, widen if empty. Resolve the city first, then pass its latitude/longitude here. The radius REPLACES city and postalCode, never combined — results are sorted by distance and carry distanceKm. It serves type or domain searches, never proper names: an establishment name still goes in q alone.
aroundLatNoLatitude du centre du rayon, prise telle quelle dans la réponse de resolve_location. Toujours avec aroundLng et radiusKm. EN: Latitude of the radius centre, taken verbatim from resolve_location. Always with aroundLng and radiusKm.
aroundLngNoLongitude du centre du rayon, prise telle quelle dans la réponse de resolve_location. EN: Longitude of the radius centre, taken verbatim from resolve_location.
departmentNoDépartement au format « code - nom », ex. « 06 - Alpes-Maritimes », telle que renvoyée par resolve_location. Le nom seul ne ramène rien. EN: Department as « code - name », e.g. « 06 - Alpes-Maritimes », as returned by resolve_location. The name alone matches nothing.
postalCodeNoCode postal. Même règle que city : jamais cumulé avec un nom d'organisme dans q. EN: Postcode. Same rule as city: never alongside an organisation name in q.
certificationIdNoIdentifiant d'une certification : renvoie les établissements qui la préparent, en ignorant les autres filtres. EN: Certification id: returns the establishments preparing it, ignoring other filters.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint and destructiveHint. The description adds substantial behavioral context: results are capped at 20, 'total' can be null with a 'totalAtLeast' lower bound, certificationId mode returns no bound at all, radius replaces city/postalCode, results are sorted by distance and carry distanceKm, and certificationId ignores other filters. This far exceeds what the annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense, front-loaded with purpose, and every caveat about q, radius, certificationId, and total semantics is operationally valuable. It is long, partly due to bilingual FR/EN duplication, but the structure is logical and the length is justified for an 11-parameter tool with no output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must explain return semantics, and it does: 'total', 'results', the 20-item page cap, null behavior and totalAtLeast, certificationId's no-bound case, and radius-specific fields. It also covers parameter precedence and the dependency on resolve_location. No essential calling information appears missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline applies and the description does not need to document each parameter. The top-level description adds useful global semantics around total/totalAtLeast and certificationId behavior, but it does not add per-parameter meaning beyond what the input schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Recherche des établissements de formation français', enumerates the establishment types covered, and clearly contrasts the certificationId search mode ('plutôt les établissements qui préparent ce diplôme'). This makes it easy to tell apart from singular tools like get_training_center and from search_trainings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to/when-not-to guidance: use q alone for establishment names, never combined with city/postalCode; use certificationId for 'où préparer ce diplôme'; resolve a city with resolve_location before using radiusKm. However, it does not explicitly name or contrast sibling tools such as search_trainings or get_training_center, so alternative-selection guidance is implicit rather than direct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_trainingsRechercher une formationA
Read-only
Inspect

Recherche des formations réellement dispensées en France : par mots-clés, lieu, voie (scolaire, apprentissage, contrat de professionnalisation, formation continue), modalité (présentiel ou distance), prix maximum, diplôme préparé, métier visé ou éligibilité au CPF. Chaque résultat porte son établissement, son prix et son URL publique à citer. En fournissant establishmentId, renvoie plutôt le catalogue d'un établissement donné : c'est ainsi qu'on répond à « quelles formations propose cette école ». Renvoie « total », le nombre de formations correspondantes, et « results », une page d'au plus 20 : le dire à l'utilisateur plutôt que de présenter la page comme la liste complète. Quand le référentiel en compte trop pour être dénombrés, « total » vaut null et « totalAtLeast » porte une borne basse : dire alors « plus de N », jamais « N ». ATTENTION à « certification: null » : cela signifie « aucun diplôme connu du référentiel », et non « formation non diplômante ». Les deux causes — formation réellement non certifiante, ou diplôme existant mais non apparié à la source — ne sont pas distinguables ; ne jamais présenter une telle formation comme ne délivrant aucun diplôme. EN: Search training programmes actually delivered in France: by keywords, location, access route, delivery mode, maximum price, prepared diploma, target job or CPF funding eligibility. Each result carries its establishment, its price and a public URL to cite. Returns « total », the number of matching programmes, and « results », a page of at most 20: tell the user rather than presenting the page as the full list. When the reference data holds too many to count, « total » is null and « totalAtLeast » carries a lower bound: say « more than N », never « N ». BEWARE of « certification: null »: it means « no diploma known to the reference data », NOT « non-certifying programme ». Never present such a programme as awarding no diploma.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoRecherche libre sur l'intitulé de la formation et le diplôme préparé. EN: Free-text search on the programme title and the prepared diploma.
cityNoNom exact de la ville, tel que renvoyé par resolve_location. EN: Exact city name, as returned by resolve_location.
voieNoVoie d'accès. Valeurs acceptées : scolaire, continue, apprentissage, contrat_pro. Pour « en alternance », utiliser apprentissage puis contrat_pro. EN: Access route. Accepted values: scolaire, continue, apprentissage, contrat_pro. For work-study, try apprentissage then contrat_pro.
limitNoNombre de résultats, 1 à 20 (défaut 10). EN: 1 to 20 (default 10).
regionNoNom de la region. EN: Region name.
maxPriceNoPrix maximum en euros. Une formation en apprentissage est gratuite pour l'apprenti. EN: Maximum price in euros. Apprenticeship programmes are free for the apprentice.
modalityNoModalité de suivi. Valeurs acceptées : presentiel, partiel_distance, entierement_distance, presentiel_ou_distance. Pour « à distance », utiliser entierement_distance. EN: Delivery mode. Accepted values: presentiel, partiel_distance, entierement_distance, presentiel_ou_distance. For fully remote, use entierement_distance.
radiusKmNoRayon en kilomètres, de 1 à 200 — 15 km est un bon départ, à élargir si vide. Pour « près de X » ou « autour de X », ou quand une petite ville ne donne rien : resolve_location d'abord, puis ses latitude/longitude ici. Le rayon REMPLACE city et postalCode, jamais en cumul — les résultats sont triés par distance croissante et portent distanceKm. EN: Radius in km, 1 to 200 — 15 km is a good start, widen if empty. For « near X », resolve the city first, then pass its latitude/longitude here. The radius REPLACES city and postalCode, never combined — results are sorted by distance and carry distanceKm.
romeCodeNoCode ROME du métier visé, de la forme J1506. EN: ROME code of the target job, e.g. J1506.
aroundLatNoLatitude du centre du rayon, prise telle quelle dans la réponse de resolve_location. Toujours avec aroundLng et radiusKm. EN: Latitude of the radius centre, taken verbatim from resolve_location. Always with aroundLng and radiusKm.
aroundLngNoLongitude du centre du rayon, prise telle quelle dans la réponse de resolve_location. EN: Longitude of the radius centre, taken verbatim from resolve_location.
exitLevelNoNiveau de sortie du diplôme préparé. Valeurs acceptées : cap_bep, bac, bac_plus_1, bac_plus_2, bac_plus_3, bac_plus_4, bac_plus_5, bac_plus_6, bac_plus_7, bac_plus_8, bac_plus_9_plus, na. EN: Exit level of the prepared diploma. Accepted values: cap_bep, bac, bac_plus_1 through bac_plus_9_plus, na.
departmentNoDépartement sous la forme « code - nom », ex. « 06 - Alpes-Maritimes », telle que renvoyée par resolve_location. Le nom seul ne ramène rien. EN: Department as « code - name », e.g. « 06 - Alpes-Maritimes », as returned by resolve_location. The name alone matches nothing.
postalCodeNoCode postal à cinq chiffres. Plus étroit que la ville dans les grandes agglomérations : 69003 ne ramène que le 3e arrondissement de Lyon, là que city vaut Lyon ramène toute la ville. EN: Five-digit postcode. Narrower than the city in large conurbations: 69003 returns only the 3rd arrondissement of Lyon, where city=Lyon returns the whole city.
cpfEligibleNoNe garder que les formations finançables par le compte personnel de formation (CPF). L'éligibilité vaut à la date du dernier import du catalogue MonCompteFormation : c'est un indice fort, jamais une garantie, et « false » signifie « absente de ce catalogue », pas « inéligible » de façon certaine. EN: Keep only programmes fundable through the French personal training account. Eligibility reflects the last import of the MonCompteFormation catalogue: a strong hint, never a guarantee, and false means « not in that catalogue », not « definitely ineligible ».
certificationIdNoIdentifiant d'un diplôme, pour ne garder que les formations qui y préparent. EN: Diploma id, to keep only the programmes preparing for it.
establishmentIdNoIdentifiant d'un établissement, obtenu via search_training_centers : renvoie alors les formations de cet établissement, en ignorant les autres filtres. C'est la seule façon fiable de répondre à « quelles formations propose l'école X » — chercher le nom de l'école dans q ne marche que si ce nom est rare, et ramène sinon les formations d'autres organismes. EN: Establishment id, from search_training_centers: returns that establishment's programmes, ignoring the other filters. This is the only reliable way to answer « which programmes does school X offer » — searching the school name in q only works when that name is rare, and otherwise returns other providers' programmes.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and destructiveHint, but the description adds substantial behavioral detail: each result carries establishment, price and a public URL; results are capped at 20; total may be null with totalAtLeast as a lower bound; and certification:null must not be interpreted as non-certifying. This goes far beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long and bilingual, which adds bulk, but every sentence carries operational value—scope, result fields, pagination caveats, and the certification:null warning. It is front-loaded with the main purpose before diving into warnings, and the structure is logical.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 17 parameters and no output schema, the description covers the essential runtime behavior: pagination limits, total semantics, null handling, result contents, and the ambiguous certification field. The parameter schema handles formats and enums, and the description compensates for the missing output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even though schema coverage is 100%, the description adds critical semantics: radius replaces city/postalCode and results are distance-sorted, apprenticeship programmes are free, department format must be 'code - name', CPF eligibility is only a hint, and establishmentId ignores other filters. These enrich the schema meaningfully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action—searching training programmes actually delivered in France—and enumerates the full range of filters, so an agent knows exactly what the tool does. It also distinguishes itself from siblings like search_training_centers by focusing on programmes, and from get_training by being the multi-criteria search entry point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear guidance on when to use the special establishmentId mode versus searching by school name in q, and explains response-page semantics. It does not explicitly name sibling tools or state when to prefer get_training or search_training_centers, but the context is clear enough for correct selection in most cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 13 tool updates
    • First observedcompare_skills
    • First observedget_certification
    • First observedget_job
    • First observedget_job_pathways
    • First observedget_similar_jobs
    • First observedget_training
    • First observedget_training_center
    • First observedlist_job_sectors
    • First observedresolve_location
    • First observedsearch_certifications
    • First observedsearch_jobs
    • First observedsearch_training_centers
    • First observedsearch_trainings

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    France Economy & Finance Open Data MCP server providing tools to search datasets, retrieve metadata, and query records from data.economie.gouv.fr.
    3 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables legal research by providing unified search across ~3.3 million court decisions (French and European) and ~1.5 million consolidated law articles, with tools for retrieving full texts and historical versions, all without authentication.
    10
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.