Skip to main content
Glama

Rechercher une formation

search_trainings
Read-only

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.

Input Schema

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
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.