RandoForge
RandoForge is an MCP server that designs hiking routes on real paths and produces verified stats, safety analyses and exportable GPX/roadbook deliverables.
Find places:
geocodenames into coordinates (optionally by country).Discover terrain:
find_pois(waterfalls, viewpoints, lakes, summits, water, transport…),find_hiking_routes(marked GR/PR trails nearby).Build routes:
route_between(waypoints, loops, max SAC difficulty),generate_loop_candidates(auto loops by distance/D+),import_gpx(local traces),bailout_route(escape routes to start/end/POI).Measure & tune:
compute_stats(distance, D+/D−, duration, walker profiles),set_constraints(targets, date, dog, children, stroller, tarmac, max duration).Analyze:
annotate_route(POIs along the track),technical_passages(T3+, cables, fords, glaciers),route_areas(parks, reserves, military zones, dog/bivouac rules),data_quality(confidence score, on-path check).Check:
validate_route(~30 coherence rules → ok/warning/error with km positions).Plan overnight:
find_bivouac_spots(refuges, cabins, computed flat spots),plan_stages(multi-day splits with shelters/bivouacs).Weather & snow:
weather_forecastup to 15 days at start/summit/end (rain, gusts, storms, snow).Compare:
compare_routes(side-by-side table),compare_with_reference(calibrate against a field GPX).Manage library:
get_route,list_routes,mark_done(feeds loop avoidance).Deliver:
export_route→ GPX (full + per day), Obsidian note, interactive HTML map, printable roadbook (PDF), optional vault copy.
Integrates with IGN RGE ALTI elevation data to provide accurate altitude and denivelé calculations for hiking routes in France.
Exports planned hiking routes as Obsidian notes/fiches, including roadbooks and route details, for use in Obsidian vaults.
Uses OpenStreetMap data via Nominatim and Overpass for geocoding, finding POIs (waterfalls, viewpoints, lakes, etc.), hiking routes (GR/PR), and regulatory areas.
Fetches descriptions from Wikidata to enrich notable points along hiking routes.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RandoForgeplan a 12 km loop from Autrans via a waterfall, max T2"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🥾 RandoForge
Serveur MCP et plugin Claude Code pour concevoir des itinéraires de randonnée : tracés sur de vrais chemins, distance et dénivelé calculés, points notables, passages techniques, bivouacs, étapes, météo, exports GPX.
Claude ne calcule rien lui-même : il appelle les outils RandoForge et explique leurs résultats.
Ce qu'il fait
Retrouver une rando : 44 catalogues officiels (parcs nationaux et régionaux, départements…), sentiers balisés OpenStreetMap, ou reconstruction d'après un descriptif.
Créer une rando : boucle par distance et D+, ou passage par des lieux choisis ; itinérance sur plusieurs jours.
Vérifier : distance, D+ / D- (IGN en France), durée, passages techniques, zones réglementées, eau, météo, heure du coucher du soleil, une trentaine de règles de cohérence.
Neige : enneigement observé par satellite, limite de la neige, durée ajustée et pentes avalancheuses.
Accès et sécurité : bus et trains au départ et au retour, état des sources et des cabanes (avis récents), couverture mobile le long du tracé (France).
Faune : espèces observées autour du tracé à la même saison, dont vipères et grands prédateurs.
Livrer : la trace GPX (complète et par jour) et une page unique avec carte, profil, météo, neige, faune, réseau et eau, imprimable en PDF. Aussi : fiche Obsidian, carte seule.
Exemples : « prépare-moi le Chemin des fileuses au départ de L'Estréchure », « une boucle de 12 km depuis Autrans par une cascade », « 3 jours sur les Hauts-Plateaux du Vercors en dormant en cabane ».
Related MCP server: bergauf
Installation
Prérequis : uv et Claude Code.
claude plugin marketplace add LaMachiiine/randoforgeclaude plugin install randoforge@randoforgeOuvrez une nouvelle session et demandez une rando. Pour activer ou désactiver le plugin (effet dans les sessions suivantes) :
claude plugin disable randoforge@randoforgeclaude plugin enable randoforge@randoforgeConfiguration
Facultative, par variables d'environnement :
Variable | Rôle | Défaut |
| Itinéraires et cache |
|
| Moteur de routage BRouter |
|
| Serveurs Overpass (séparés par des virgules) | serveurs publics |
| Modèles de terrain locaux (GeoTIFF) | — |
Développement
git clone https://github.com/LaMachiiine/randoforge.gitcd randoforge && uv syncuv run pytestTests réseau : uv run pytest -m e2e. Évals avec de vrais agents : evals/.
Documentation complète (outils, calcul du dénivelé, règles, résultats) : vault Obsidian dans
docs/.
Licences
Le code est sous licence MIT : libre d'utilisation, de modification et de redistribution, y compris commerciale, à condition de conserver la mention de copyright.
Les données viennent de services tiers, chacun avec sa licence. Les exports portent déjà les mentions requises ; si vous republiez un tracé, gardez-les.
Source | Usage | Licence |
chemins, lieux, zones | ODbL : citer « © contributeurs OpenStreetMap » ; une base de données dérivée doit rester sous ODbL | |
refuges, cabanes, points d'eau | CC BY-SA | |
IGN | altitudes (France) | Licence Ouverte Etalab |
Copernicus GLO-30 | altitudes (monde) | licence Copernicus, citation de la source |
météo, neige modélisée | CC BY 4.0 | |
NASA GIBS (MODIS, VIIRS) | neige observée | données ouvertes NASA, remerciement demandé |
Sentinel-2 (Copernicus, via Earth Search) | neige observée à 20 m | données Copernicus libres, citation de la source |
horaires de transport | données des réseaux (ODbL) ; usage open source non commercial, attribution | |
Arcep « Mon réseau mobile » | couverture mobile (France) | Licence Ouverte |
faune observée | CC0 / CC BY selon les jeux, citer GBIF.org | |
Catalogues Geotrek | randos officielles | celle de chaque organisme éditeur |
calcul des tracés | service public, à ménager (cache intégré) |
⚠️ Un itinéraire généré aide à préparer une sortie, il ne la remplace pas : vérifiez sur place la météo, l'état des sentiers, l'enneigement et la réglementation.
Available Tools
23 toolsannotate_routeA
Liste les points notables le long du tracé, avec leur position au km : cascades, rivières traversées (gués signalés), lacs, points de vue, sommets, patrimoine…
`describe` ajoute une courte description et le lien Wikipédia des lieux connus de Wikidata.
Les points sont ajoutés au GPX, à la carte et à la fiche.
| Name | Required | Description | Default |
|---|---|---|---|
| describe | No | ||
| route_id | Yes | ||
| categories | No | ||
| max_detour_m | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| pois | Yes | |
| source | No | |
| route_id | Yes | |
| warnings | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose meaningful side effects ('Les points sont ajoutés au GPX, à la carte et à la fiche') and the effect of `describe` (Wikipedia link via Wikidata), which is valuable. However, it says nothing about permissions, idempotency, or whether re-running overwrites existing points, leaving gaps for a state-mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main purpose is front-loaded in the first sentence, and the two following sentences each add distinct information (the `describe` toggle and where the points land). Multi-line layout with an open-ended list is slightly loose, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. Given moderate complexity and a rich enum schema, the description covers the core behavior plus side effects (GPX, map, fiche). The main omission is the unexplained `max_detour_m`, otherwise complete for calling the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains `describe` well and effectively lists the `categories` values, but says nothing about `max_detour_m` (detour tolerance) or `route_id`, leaving half the parameters undocumented in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Liste les points notables le long du tracé, avec leur position au km', then enumerates the point kinds (cascades, rivières, lacs, points de vue, sommets, patrimoine). An agent can distinguish this from find_pois or technical_passages. It does not name a sibling to contrast against, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: this annotates an existing route with notable points. There is no explicit when-to-use, when-not-to, or routing to alternatives such as find_pois for standalone POI discovery versus annotate_route for points along a specific tracé. Adequate but leaves the selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bailout_routeA
Itinéraire de repli : depuis le point situé à at_km sur le tracé, rejoindre au plus
court le départ, l'arrivée, ou un lieu donné (target : parking, village, arrêt de bus).
À proposer pour les passages exposés, la météo incertaine ou une fatigue imprévue.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | depart | |
| at_km | Yes | ||
| target | No | ||
| profile | No | shortest | |
| route_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| stats | Yes | |
| n_pois | No | |
| source | Yes | |
| n_points | Yes | |
| route_id | Yes | |
| warnings | Yes | |
| validation_status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sans annotations, la description porte toute la charge. Elle décrit correctement le comportement de calcul (joindre au plus court depuis un point du tracé) mais n'indique ni le caractère lecture seule/sans effet de bord, ni éventuelles limitations. Le schéma de sortie existant dispense d'expliquer le format de retour.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Deux phrases courtes, sans remplissage, avec l'objet de l'outil en tête. Efficace et bien structuré.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
La finalité et certains paramètres sont couverts, mais avec 5 paramètres, 0 % de couverture du schéma et aucune annotation, deux paramètres restent non expliqués. Le schéma de sortie réduit le besoin côté valeurs de retour, mais la description ne compense pas entièrement les lacunes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
La couverture du schéma est de 0 % sur 5 paramètres. La description éclaire at_km et target (avec exemples parking/village/arrêt de bus) et laisse deviner les options départ/arrivée du paramètre to, mais route_id et profile (enum hiking-mountain/hiking-beta/shortest) restent totalement non documentés.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Le verbe (rejoindre) et la ressource (itinéraire de repli depuis un point à at_km sur le tracé) sont précis, et le but de repli vers départ/arrivée/lieu donné est explicite. Il manque seulement une différenciation nominative avec les voisins (route_between, generate_loop_candidates).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
La description indique clairement le contexte d'usage : passages exposés, météo incertaine, fatigue imprévue. Aucune alternative ni exclusion (quand ne pas l'utiliser) n'est mentionnée, ce qui empêche le 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_routesC
Tableau comparatif de plusieurs itinéraires (distance, D+, durée, goudron, sentiers balisés, allers-retours, recouvrement avec les randos déjà faites, difficulté, validation).
| Name | Required | Description | Default |
|---|---|---|---|
| route_ids | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Tableau comparatif' strongly implies a read-only operation and lists the comparison dimensions, but it says nothing about permissions, limits, cost of computing, or whether any state is affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the compared dimensions grouped in parentheses; no filler. It is a noun phrase rather than a verb-led statement, which slightly weakens immediacy but wastes no space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not required. For a simple one-parameter read tool the description is minimally adequate, but the absence of usage guidance and of any sibling differentiation leaves gaps an agent must infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but there is only a single parameter (route_ids). The description's 'plusieurs itinéraires' corroborates multiplicity but adds nothing about accepted identifiers or the 2-10 item bounds that the schema already defines.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation (comparative table of several itineraries) and enumerates the dimensions compared (distance, elevation gain, duration, asphalt, marked trails, overlap, difficulty, validation), so the agent knows exactly what it produces. It does not, however, distinguish itself from the sibling tool compare_with_reference, which is the nearest alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as compare_with_reference or compute_stats. The plural 'plusieurs itinéraires' only weakly implies the multi-route use case that the schema's minItems=2 already encodes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_with_referenceB
Compare un itinéraire à une trace de référence (ex. GPX enregistré sur le terrain, importé avec import_gpx) : écart géométrique, écarts de distance et de D+. Sert à calibrer et à vérifier la précision des calculs.
| Name | Required | Description | Default |
|---|---|---|---|
| route_id | Yes | ||
| reference_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| route_id | Yes | |
| comparaison | Yes | |
| reference_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the computed metrics and the prerequisite that the reference comes from an imported GPX, but it says nothing about read-only nature, failure modes (e.g., mismatched route/reference), or tolerance thresholds. It adds context beyond the schema but not a complete behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with one clarifying parenthetical about the reference type, and the purpose is front-loaded. No redundancy, though the trailing accuracy sentence is somewhat soft.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the tool is low-complexity with only two parameters. The definition covers the metric semantics, but omits the key disambiguation against compare_routes and any prerequisite/error conditions, leaving a visible gap for an agent choosing between the two comparison tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither parameter is described in the schema. The description partially compensates by framing reference_id as a field-recorded/imported trace and route_id as the route under test, but it never explains formats, ID origins, or constraints for either parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Compare un itinéraire à une trace de référence') and enumerates the computed outputs (écart géométrique, écarts de distance et de D+). It names import_gpx as the source of the reference, but never distinguishes itself from the close sibling compare_routes, which an agent would need to disambiguate between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Sert à calibrer et à vérifier la précision des calculs' gives a clear intent, implying it is a diagnostic/QA step rather than a routing tool. However, there is no explicit when-to-use vs when-not, and no mention of how it differs from compare_routes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_statsC
Recalcule distance, D+/D-, altitudes et durée avec d'autres paramètres.
`walker` applique un profil prédéfini qui remplace les vitesses (famille : 3 km/h et
200 m/h en montée ; moyen : 4 km/h et 300 m/h ; sportif : 5 km/h et 450 m/h).
Les paramètres de lissage par défaut conviennent à la plupart des cas.
| Name | Required | Description | Default |
|---|---|---|---|
| step_m | No | ||
| walker | No | ||
| flat_kmh | No | ||
| route_id | Yes | ||
| up_m_per_h | No | ||
| threshold_m | No | ||
| down_m_per_h | No | ||
| smooth_window_m | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| stats | Yes | |
| n_pois | No | |
| source | Yes | |
| n_points | Yes | |
| route_id | Yes | |
| warnings | Yes | |
| validation_status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the walker preset speeds (3/4/5 km/h flat, 200/300/450 m/h uphill) and that default smoothing is broadly adequate, which is genuine behavioral context. However it never states whether the recomputation is persisted (write) or read-only, nor permission requirements, leaving key traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and the walker profile detail is compact and relevant, with no filler sentences. Formatting is slightly noisy with the leading indentation and blank line, but the content is tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists (so return values need no explanation), the description is thin for a tool with 8 parameters at 0% coverage and no annotations. The relationship between walker and the explicit speed parameters, and whether recalculation overwrites stored route data, are left unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must compensate. It explains `walker` and its effect on the speed parameters, and mentions smoothing defaults, but says nothing about flat_kmh, up_m_per_h, down_m_per_h, threshold_m, step_m, smooth_window_m, or route_id, leaving most parameters semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (recalculates/recalcule) and concrete resources (distance, D+/D-, altitudes, duration), so the agent knows exactly what is computed. It does not differentiate itself from siblings like validate_route or compare_routes, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'avec d'autres paramètres' vaguely implies you call it to recompute with different settings, but there is no explicit when-to-use, when-not, or named alternative. The note that default smoothing suits most cases is a hint, not real usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_qualityB
Score de confiance des données (altimétrie, difficulté renseignée, fraîcheur OSM) et vérification que le tracé suit des chemins cartographiés (indispensable pour une trace importée).
| Name | Required | Description | Default |
|---|---|---|---|
| route_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| qualite | Yes | |
| route_id | Yes | |
| balise_pct | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the analysis dimensions (altimetry, difficulty, OSM freshness, path adherence), which tells the agent this is a non-mutating analysis operation, but it says nothing about permissions, cost, or what happens when a route fails the check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the scoring purpose and using parentheticals to enumerate the checked dimensions. No filler, though the clause chain makes it slightly heavy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the one-parameter surface is simple. Still, for a tool whose boundary with validate_route is unclear, the description should say how the two differ; that gap is what keeps it at minimum viability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single route_id parameter is undocumented in both schema and description. The reference to 'une trace importée' hints at the input domain but never clarifies what route_id must identify (a stored route, an imported trace, its format).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names concrete outputs — a data confidence score (altimetry, declared difficulty, OSM freshness) and a check that the track follows mapped paths — so the agent knows what the tool produces. It does not, however, distinguish itself from the sibling validate_route, which plausibly covers similar ground, nor from compute_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied via the parenthetical 'indispensable pour une trace importée', which hints this matters for imported GPX traces but never states the condition explicitly or names alternatives like validate_route. It is inferable context rather than real when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_routeA
Écrit les fichiers d'un itinéraire et renvoie leurs chemins, à communiquer à l'utilisateur :
- gpx : montre, applis — itinéraire complet en une trace (points notables et nuits en
waypoints) + un fichier jour-N.gpx par étape si plan_stages a été lancé ;
- md : fiche Obsidian (frontmatter Dataview) ;
- html : carte interactive (fond topo, points notables, passages techniques, profil) ;
- roadbook : page imprimable (Ctrl+P → PDF) avec étapes, passages, eau, météo.
vault_dir : copie aussi la fiche, le GPX et la carte dans <vault_dir>/Randos/<nom>/.
| Name | Required | Description | Default |
|---|---|---|---|
| formats | No | ||
| route_id | Yes | ||
| vault_dir | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| files | Yes | |
| route_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so well: it discloses that paths are returned for communication to the user, that vault_dir triggers side-copying into `<vault_dir>/Randos/<nom>/`, and that extra per-stage files are conditional on plan_stages. It omits overwrite/collision behavior and error handling, which are the notable gaps for a file-writing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main action and return contract are front-loaded, then formats are enumerated as clean bullets. Structure is excellent; the per-format parentheticals are slightly verbose but each carries useful selection information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though an output schema exists, the description usefully clarifies that the tool returns file paths to relay to the user. For an export tool with no annotations, it covers outputs, format semantics, destination behavior, and a prerequisite; only overwrite/error behavior is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It documents two of three parameters thoroughly: each `formats` enum value is explained, and `vault_dir`'s side effect is described precisely. Only `route_id` is left implicit, though its meaning is self-evident from the name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource in the first clause ('Écrit les fichiers d'un itinéraire et renvoie leurs chemins'), making the export operation unmistakable and clearly distinct from siblings like import_gpx. The per-format breakdown removes any ambiguity about what the tool produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for selecting each format (gpx for watches/apps, md for Obsidian, html for interactive map, roadbook for printing) and notes the plan_stages prerequisite for `jour-N.gpx` files. It stops short of explicit when-not-to-use or naming alternative export paths, but the usage context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_bivouac_spotsA
Emplacements pour dormir le long du tracé : refuges, cabanes et gîtes (refuges.info, OSM), aires de bivouac, et emplacements calculés (terrain plat < 8 %, eau à moins de 500 m si possible, loin des routes, hors pierriers et zones où le bivouac est interdit).
Chaque emplacement indique sa source, le détour, la distance à l'eau et les avertissements
réglementaires. Les emplacements calculés sont des pistes à vérifier sur place.
`abrite_seulement` : uniquement refuges, cabanes, abris, grottes et abris sous roche
(bivouac à l'abri de la pluie et du vent).
| Name | Required | Description | Default |
|---|---|---|---|
| route_id | Yes | ||
| abrite_seulement | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| rappels | Yes | |
| route_id | Yes | |
| emplacements | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the data sources (refuges.info, OSM), the per-spot metadata (source, detour, distance to water, regulatory warnings), and — importantly — that computed spots are heuristic (flat terrain <8%, water <500 m, away from roads/scree/forbidden zones) and are 'pistes à vérifier sur place'. It does not state read-only status or any auth/rate concerns, but reliability disclosure is the key trait here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the resource and scope, then per-item output, then the filter parameter. The parenthetical criteria list is detailed but each element earns its place by defining what a 'computed' spot is. Slightly dense but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, yet the description still summarizes what each spot carries. Combined with the heuristic caveat and the filter parameter, an agent has enough to invoke it correctly; the only gap is the absence of any routing to a sibling alternative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It fully explains the non-obvious parameter `abrite_seulement` (restrict to shelters, cabins, huts, caves and rock overhangs for rain/wind protection). route_id is left unexplained, but it is self-evident from context and sibling tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource — finding sleeping spots (refuges, cabanes, gîtes, aires de bivouac, and computed spots) along a route — and enumerates the categories returned. It is clearly distinguishable from generic siblings like find_pois by content, but it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the route_id input and the wording 'le long du tracé' signal that this is run against an existing route. There is no statement of when to prefer this over find_pois or when it is not appropriate, and no prerequisite (e.g. route must exist) is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_hiking_routesA
Sentiers balisés (GR, GRP, PR, sentiers locaux) qui passent à proximité d'un lieu, des plus importants (réseau international/national) aux plus locaux.
Utile pour proposer un itinéraire balisé ; pour tracer une portion, utiliser route_between
avec des points situés sur le sentier.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes | ||
| limit | No | ||
| radius_km | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| routes | Yes | |
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It hints at result content and ordering (most important to most local) but says nothing about how many trails come back, whether the radius bounds results, or any rate/permission constraints beyond what the schema bounds imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short paragraphs, front-loaded with what is returned before the usage note. Efficient and free of filler, though slightly terse given the parameter gaps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be re-explained, and the purpose/usage are covered. However, for a geo-search with four undocumented parameters and no annotations, the missing explanation of radius and limit leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description only implicitly maps to lat/lon via 'à proximité d'un lieu'. The limit and radius_km parameters are never explained in either schema or description, so the agent gets no semantic guidance for half the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (find hiking/marked trails — GR, GRP, PR, local) with clear scope: proximity-based results ordered from international/national down to local. It also distinguishes itself from the sibling route_between, so an agent can tell them apart without opening both schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second paragraph gives explicit guidance: use this to propose a marked itinerary, and use route_between with points on the trail to trace a portion. That names an alternative and the condition selecting it, though it does not address other related siblings such as list_routes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_poisA
Cherche des points notables autour d'un lieu pour planifier un itinéraire :
cascades, points de vue, lacs, sommets et cols, curiosités, patrimoine, eau, refuges…
Ajouter la catégorie transport pour les arrêts de bus et gares (départ sans voiture).
Résultats triés par intérêt. Seuls les lieux cartographiés dans OpenStreetMap apparaissent.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes | ||
| limit | No | ||
| radius_km | No | ||
| categories | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| pois | Yes | |
| source | No | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that results are sorted by 'interest' and that only places mapped in OpenStreetMap are returned — a real coverage caveat. It omits other behaviors though, such as what happens when `categories` is omitted and how radius/limit interact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then the category examples and caveats. The category enumeration is somewhat long but earns its place by mapping opaque enum values to human concepts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-format detail is not required. For a read/search tool with 5 params, the description supplies the essential behavioral context (sorting, OSM data source, category semantics); only the default-category behavior is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema documents none of the 5 parameters. The description partially compensates by explaining what the category values mean (e.g. `transport` = bus stops/stations for car-free travel), but lat, lon, limit and radius_km get no added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Cherche des points notables autour d'un lieu') plus concrete examples of what kinds of points (cascades, points de vue, lacs, sommets, patrimoine, eau, refuges), and frames the goal as itinerary planning. This distinguishes it from route-finding siblings, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It hints at usage by tying the tool to itinerary planning and by noting that adding the `transport` category supports car-free departures. However, there is no explicit guidance on when to choose this over find_hiking_routes, find_bivouac_spots, or route_between, so the routing decision is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_loop_candidatesA
Génère automatiquement des boucles depuis un départ pour une distance (et un D+) cible,
dans plusieurs directions, et renvoie les n meilleures, déjà mesurées sur le MNT.
Classement : écart à la distance et au D+ demandés, pénalité pour les allers-retours et le
goudron, bonus pour les sentiers balisés ; `avoid_done` pénalise les boucles qui reprennent
des randos marquées comme faites (mark_done). Prévoir ~20–40 s.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| name | No | ||
| start | Yes | ||
| profile | No | hiking-mountain | |
| d_plus_m | No | ||
| avoid_done | No | ||
| directions | No | ||
| distance_km | Yes | ||
| max_sac_scale | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | Yes | |
| tried | Yes | |
| failed | Yes | |
| candidates | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses ranking criteria (distance/D+ deviation, penalties for out-and-back and asphalt, bonus for marked trails), the avoid_done behavior, and expected runtime (~20-40s). Missing: error conditions, output format details (though output schema exists).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Reasonably concise, front-loaded with the core action, then ranking logic, then a practical runtime note. No wasted sentences, though the middle ranking clause is dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, 0% schema coverage, and complex ranking behavior, the description is helpful but incomplete. It omits specifics about most parameters and doesn't clarify direction/profile tradeoffs; output schema exists so return values needn't be explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It partially explains avoid_done and d_plus_m ('distance et D+ cible'), but leaves n, profile, directions, max_sac_scale, and name undocumented. The description adds some meaning but doesn't cover all 9 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (génère/generates) and resource (boucles/loops) with the key constraint (from a start point, for a target distance and D+). This is clearly distinguishable from siblings like route_between or find_hiking_routes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies generation of loop candidates and references avoid_done and mark_done, giving some context on when to use it. However, no explicit when-to-use vs when-not, no named alternative for one-way routes or point-to-point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geocodeC
Trouve les coordonnées d'un lieu (village, sommet, parking, lac…) par son nom.
`country` : code ISO à 2 lettres (fr, ch, it…) pour lever les ambiguïtés.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| country | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| places | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It never states that this is a read-only lookup, whether it hits a network/geocoding service, rate limits, or what happens on ambiguous or empty results — only that `country` reduces ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded: the purpose appears first, followed by the disambiguation hint. The indented `country` fragment is slightly awkward formatting but wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the core purpose is covered. However, with no annotations and undocumented `limit`/`query` parameters, an agent still lacks enough to invoke it confidently in edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains `country` well (ISO 2-letter code for disambiguation) but says nothing about `limit` (default 5, max 10) or the format/expectations for `query`, leaving two of three parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: finding coordinates of a place by name, with concrete examples (village, summit, parking, lake). It's clear what the tool does, though it doesn't explicitly differentiate itself from nearby siblings like find_pois or find_hiking_routes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or named alternative. The usage context (resolving a place name to coordinates) is only implied by the description, and nothing tells the agent when to prefer this over find_pois or route_between.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_routeB
Résumé d'un itinéraire (stats, avertissements, statut de validation), sans la géométrie.
| Name | Required | Description | Default |
|---|---|---|---|
| route_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| stats | Yes | |
| n_pois | No | |
| source | Yes | |
| n_points | Yes | |
| route_id | Yes | |
| warnings | Yes | |
| validation_status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does add genuine value by declaring what is returned (stats, warnings, validation status) and explicitly that geometry is omitted, which tells the agent what it will NOT get. However, it omits any mention of permissions, rate limits, or the read-only nature beyond the implicit 'get'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the resource and the returned/excluded content with zero filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be re-explained, and the description correctly signals content and geometry exclusion. But with no annotations and 0% schema coverage, the definition leaves open when this tool should be chosen over the numerous route siblings, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single required parameter route_id has no schema description. The description adds no format, source, or provenance details for the identifier. It is somewhat self-evident from the name, but the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource ('itinéraire'/route) and enumerates the returned content (stats, warnings, validation status) while explicitly excluding geometry. This distinguishes it reasonably from scalar sibling tools like compute_stats or validate_route, since it is an aggregated summary. It does not name a sibling directly, but the scope is clear enough for decent disambiguation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no mention of alternatives among the many route siblings (list_routes, compute_stats, data_quality, validate_route). The phrase 'sans la géométrie' hints at a use case (you don't need coordinates), but this is implicit at best. An agent gets no clear routing logic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_gpxA
Importe un fichier GPX local comme itinéraire et calcule ses statistiques.
`elevation="dem"` (défaut) recalcule les altitudes sur le MNT, pour des chiffres comparables
aux itinéraires générés ; `"file"` garde celles du fichier (ex. altimètre barométrique).
Lancer ensuite data_quality pour vérifier que la trace suit des chemins (règle G1).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| path | Yes | ||
| elevation | No | dem |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| stats | Yes | |
| n_pois | No | |
| source | Yes | |
| n_points | Yes | |
| route_id | Yes | |
| warnings | Yes | |
| validation_status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that elevations are recomputed on the DEM by default and that statistics are produced, but says nothing about failure modes for malformed GPX, whether an existing route is overwritten, or permission/format constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action and then the option semantics and follow-up step. No filler, though the indentation/whitespace in the source is slightly awkward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described; the description correctly focuses on the elevation trade-off and the downstream validation step. Missing error/overwrite behavior keeps it from being fully complete, but it is adequate to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It thoroughly explains the elevation enum (dem vs file, including the barometric altimeter example) but leaves path and name unexplained, covering only one of three parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: importing a local GPX file as a route and computing its statistics. It implicitly contrasts with generated itineraries ("chiffres comparables aux itinéraires générés") but does not explicitly name a sibling it replaces or excludes, so it falls short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear conditional guidance for the elevation option (dem vs file) and frames the expected follow-up call to data_quality with a stated reason (G1 rule). It does not cover when this tool should be preferred over manual route creation or other import paths, but the context is otherwise clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_routesA
Liste les itinéraires enregistrés ; done=True : seulement les randos faites,
done=False : seulement les projets.
| Name | Required | Description | Default |
|---|---|---|---|
| done | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| routes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the filtering behavior of `done` but does not state that the operation is read-only, nor does it mention ordering, pagination, or any auth requirements for accessing saved routes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the core action and then enumerates the parameter semantics. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. With only one optional parameter, the description covers the essential semantics; the only gap is the unstated behavior when `done` is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it defines `done=True` as completed hikes and `done=False` as planned projects. It does not explain the default (null) case, which would list everything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Liste les itinéraires enregistrés"), making clear it returns stored/saved routes rather than searched ones. It does not explicitly contrast with siblings like get_route or find_hiking_routes, but the word "enregistrés" implies a scoping distinction an agent can infer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what each value of `done` means, which implicitly tells the agent when to set it, but gives no explicit guidance on when to choose this tool over get_route or find_hiking_routes. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mark_doneA
Marque une rando comme faite (date, impressions). Les boucles générées ensuite éviteront de repasser par les mêmes chemins (generate_loop_candidates, avoid_done).
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| notes | No | ||
| route_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| stats | Yes | |
| n_pois | No | |
| source | Yes | |
| n_points | Yes | |
| route_id | Yes | |
| warnings | Yes | |
| validation_status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose a meaningful deferred side effect (future generated loops avoid the same paths), which is real behavioral context beyond the schema, but it omits reversibility, idempotency, permission requirements, and error behavior for an invalid route_id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the action front-loaded and the consequence second; nothing is wasted. The parenthetical tool references cost a little clarity but earn their place by routing the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an output schema present and no annotations, the description covers the essential behavioral trait (persistent exclusion of completed paths). Return values need not be explained given the output schema, though permission and failure semantics are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It names two of the three parameters semantically ('date', 'impressions' = notes) but leaves the required route_id unexplained and adds no format or null-handling detail beyond what the JSON schema already declares structurally.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Marque une rando comme faite') and further anchors it to the sibling ecosystem by naming generate_loop_candidates. An agent can tell this apart from annotate_route or list_routes without inspecting either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies the trigger condition (a hike you have completed) and explains the downstream consequence for loop generation, but gives no explicit when-not, no prerequisites, and does not contrast with alternatives such as annotate_route. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_stagesA
Découpe un itinéraire en étapes de plusieurs jours, avec un hébergement (refuge, cabane,
gîte) ou un bivouac en fin de chaque étape ; overnight="abri" : uniquement des nuits à l'abri
(refuge, cabane, abri, grotte, abri sous roche). Donner days et/ou max_hours_per_day
(par défaut : la durée max enregistrée par set_constraints).
Les durées sont équilibrées, un passage technique en fin d'étape est évité. Le GPX exporté
contient alors une trace par jour, et la fiche une section par étape.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| walker | No | ||
| route_id | Yes | ||
| overnight | No | indifferent | |
| max_hours_per_day | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | Yes | |
| etapes | Yes | |
| route_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and does well: it discloses that durations are balanced, that a technical passage at stage end is avoided, and that GPX/fiche outputs gain per-day/per-stage sections. It does not state whether the route is mutated, whether permissions are needed, or whether it is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Reasonably sized and front-loaded with the core purpose before parameter hints and output effects. Slightly dense parenthetical enumeration, but no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the description still usefully notes output artifacts. But for a 5-parameter tool with 0% schema coverage and no annotations, the omissions around `walker` and `route_id` semantics leave the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It adds real meaning for `overnight` (enumerating abri meaning) and for `days`/`max_hours_per_day` including the set_constraints default, but says nothing about `route_id` or `walker`, leaving two of five parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Découpe un itinéraire en étapes de plusieurs jours') and elaborates the outcome (accommodation or bivouac per stage). It is clearly distinct from siblings like compute_stats or set_constraints, though it never names an alternative to differentiate itself explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the `overnight` option semantics and that `days`/`max_hours_per_day` should be given, with a documented fallback to set_constraints. However there is no statement of when to use this tool versus alternatives, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_areasB
Zones réglementées traversées : parcs nationaux, réserves naturelles, zones protégées, terrains militaires — avec les règles probables (chiens, bivouac). Ne dit jamais « autorisé » : renvoie vers le règlement du site.
| Name | Required | Description | Default |
|---|---|---|---|
| route_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | Yes | |
| zones | Yes | |
| route_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden, and it delivers something genuinely useful: the output never asserts legality ('Ne dit jamais « autorisé »') and instead points to the site's own regulations, and it flags that the rules returned are only 'probables'. It omits other traits such as error behavior or how zones are matched to the route, but the output-semantics caveat is exactly the kind of context structured fields cannot supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short clauses: first the inventory of zone types, then the important caveat about not declaring authorization. Front-loaded and free of padding, though the em-dash list is dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the semantic caveat about legality is a real addition. What is missing is routing guidance against the many sibling diagnostic tools, which matters for a route-analysis toolset this large.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (route_id) exists and schema description coverage is 0%, so the burden falls on the description. It implies the input is a route but never states that route_id is the identifier produced by list_routes/get_route or what format it takes; the parameter name makes the intent guessable, so this is adequate rather than helpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource – regulated zones (national parks, nature reserves, protected areas, military land) crossed by a route – so an agent knows exactly what this returns and can separate it from siblings like find_pois or technical_passages. It is a noun phrase with no explicit verb and no direct naming of an alternative tool, which keeps it out of the top band.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus alternatives such as technical_passages, find_pois, or data_quality; usage is only inferable from the topic. No prerequisites, ordering, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_betweenB
Calcule un tracé sur de vrais chemins passant par les points donnés, dans l'ordre.
- `loop=True` : revient au premier point (boucle). Pour une boucle via un lieu imposé
(cascade, sommet), donner départ + lieu(x) avec loop=True.
- `max_sac_scale` : difficulté maximale acceptée (hiking = T1 facile … alpine_hiking = T4).
Jusqu'à 30 points : suffisant pour une itinérance de plusieurs jours.
Distance et dénivelé sont recalculés sur un MNT précis (IGN en France, Copernicus ailleurs).
| Name | Required | Description | Default |
|---|---|---|---|
| loop | No | ||
| name | No | ||
| profile | No | hiking-mountain | |
| waypoints | Yes | ||
| max_sac_scale | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| stats | Yes | |
| n_pois | No | |
| source | Yes | |
| n_points | Yes | |
| route_id | Yes | |
| warnings | Yes | |
| validation_status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden. It usefully discloses the 30-point cap and that distance/elevation are recomputed on a precise DEM (IGN in France, Copernicus elsewhere), which is genuine behavioral context. It omits whether the computed route is persisted or only returned, and gives no hint about cost or error behavior for unroutable points.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose in one sentence, then adds tightly scoped bullet notes on loop, difficulty, point limit, and elevation source. Little waste, though the loop bullet is slightly long relative to its value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. Still, with 0% schema coverage and no annotations, an agent lacks any explanation of the 'profile' enum or of whether the result is stored, and gets no sibling differentiation against the loop/route-search tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all 5 parameters. It explains loop and max_sac_scale well (including the T1–T4 scale) and notes the 30-point waypoint limit, but leaves 'name' and the important 'profile' enum (hiking-mountain / hiking-beta / shortest) completely unexplained. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Calcule un tracé sur de vrais chemins passant par les points donnés, dans l'ordre') that clearly identifies route generation over real trail networks, respecting point order. It does not, however, distinguish itself from similar siblings such as generate_loop_candidates or find_hiking_routes, whose territory overlaps with the loop=True behavior described here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied via the loop semantics ('Pour une boucle via un lieu imposé (cascade, sommet), donner départ + lieu(x) avec loop=True'), which is a real when-to-use hint. But it never states when to prefer this tool over siblings like generate_loop_candidates, find_hiking_routes, or import_gpx, nor any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_constraintsA
Enregistre les contraintes de l'utilisateur sur un itinéraire ; validate_route les vérifie : distance et D+ visés (±10 % / ±15 %), durée max, date et heure de départ (coucher du soleil, neige, météo), chien (parcs et réserves), enfants, poussette, difficulté max, part de goudron. Seuls les paramètres fournis sont modifiés.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| loop | No | ||
| route_id | Yes | ||
| stroller | No | ||
| with_dog | No | ||
| start_time | No | ||
| max_sac_scale | No | ||
| with_children | No | ||
| max_duration_h | No | ||
| max_tarmac_pct | No | ||
| target_d_plus_m | No | ||
| target_distance_km | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| stats | Yes | |
| n_pois | No | |
| source | Yes | |
| n_points | Yes | |
| route_id | Yes | |
| warnings | Yes | |
| validation_status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the partial-update behavior ('Seuls les paramètres fournis sont modifiés') and the semantic effects of constraints (sunset, snow, weather, parks/reserves), but says nothing about persistence scope, whether unlisted existing constraints survive, permission requirements, or reversibility for what is a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The action verb and the sibling relationship are front-loaded, and the parameter enumeration is dense but each element carries information. The single long clause is efficient, though the parenthetical annotations make it slightly heavier than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter mutation tool with no annotations and 0% schema coverage, the description covers nearly all parameters and their implications, and the existence of an output schema removes the need to describe return values. Gaps remain around route_id, loop, and the effect on constraints not passed, but overall it is complete enough to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does: it maps target_distance_km/target_d_plus_m (±10%/±15% tolerances), max_duration_h, date/start_time, with_dog, with_children, stroller, max_sac_scale and max_tarmac_pct to their real-world meanings. Only loop and route_id are left unexplained, so it adds substantial value but is not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (enregistre/saves) and resource (contraintes de l'utilisateur sur un itinéraire), and explicitly distinguishes itself from the sibling validate_route by noting that validate_route vérifie these constraints. An agent can tell this is the write-side of a set-then-validate pair without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly frames the workflow by naming validate_route as the tool that checks the saved constraints, implying the set-then-validate sequence. It also states that only supplied parameters are modified, which guides partial updates. There is no explicit when-not or exclusion, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
technical_passagesB
Indique les passages techniques au km près : difficulté T3+ (échelle CAS), pentes fortes, via ferrata, échelles, câbles, sentier peu visible, pierriers, glaciers, dangers signalés, passages délicats de refuges.info. Chaque passage précise pourquoi il est signalé.
| Name | Required | Description | Default |
|---|---|---|---|
| route_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | Yes | |
| passages | Yes | |
| route_id | Yes | |
| niveau_max | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does add behavioral value by stating that every flagged passage includes a justification ('précise pourquoi il est signalé') and by defining the detection criteria. However, it omits read-only status, sourcing/refresh behavior, and any rate or permission context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and qualifications, then the return behavior. It is dense with a breathless criteria list but every element is informative. Two sentences, no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with an output schema, the description covers purpose, classification criteria, and the shape of each result well enough to invoke. The main missing piece is the route_id semantics and any guidance about when this is preferable to broader route tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single route_id parameter, and the description never names or explains it. It implicitly scopes the result to a route ('au km près', 'passages ... de refuges.info') but adds no format, source, or semantics guidance for the required ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (indique/indicates) and resource (technical passages at km granularity), and enumerates the exact criteria that qualify a passage as technical (T3+ CAS, via ferrata, scree, glaciers). This is far clearer than a tautology. It does not name or contrast any sibling tool, so it stops short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to use this tool versus get_route, compute_stats, or any other route tool. There is no mention of prerequisites, when-not conditions, or an alternative for the non-technical case. Usage must be inferred entirely from the purpose text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_routeB
Vérifie l'itinéraire : géométrie, accès interdits, zones réglementées, difficulté, cohérence
des chiffres, contraintes demandées, pentes, gués, eau, horaires, saison, météo, qualité des
données. Statut ok, warning ou error, avec la position au km.
Lance automatiquement les analyses manquantes (points notables, passages techniques, zones).
| Name | Required | Description | Default |
|---|---|---|---|
| route_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| checks | Yes | |
| status | Yes | ok, warning ou error |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses one real side effect ('Lance automatiquement les analyses manquantes' for points notables, passages techniques, zones) and the verdict vocabulary (ok/warning/error with km position). It omits whether the route is mutated or analyses persisted, expected latency/cost, and any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The verb is front-loaded, which is good, but the middle is a 15-item run-on enumeration of check categories that mixes purpose with coverage detail. It is informative but not tightly structured, and the status/auto-analysis information is buried after the list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details are not required, and the description does mention the status outcomes. For a multi-faceted validation tool with no annotations and no usage routing, however, it leaves gaps around when to prefer it over narrower sibling checks and how costly or side-effecting a run is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter, route_id, whose meaning is self-evident despite 0% schema description coverage and no mention in the description. The description does not need to annotate it further, so the baseline-4 treatment for trivially obvious parameters applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Vérifie l'itinéraire') and enumerates the concrete dimensions checked (geometry, forbidden access, regulated zones, slopes, weather, data quality). This clearly distinguishes it as an aggregate validator rather than a single-check utility, though it never explicitly contrasts itself with overlapping siblings like data_quality or technical_passages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer it is meant to be run to obtain a validation verdict before/after planning, and the auto-run sentence hints at a consolidation role. There is no explicit when-to-use, when-not-to-use, or naming of alternative sibling tools for narrower checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
weather_forecastA
Prévisions Open-Meteo sur la plage horaire de marche, au départ, au point culminant et à l'arrivée : températures, pluie, rafales, orage, neige au sol. Jusqu'à 15 jours à l'avance. Utilise la date/heure de set_constraints si elles ne sont pas fournies (départ 9 h par défaut).
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| route_id | Yes | ||
| start_time | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | Yes | |
| heures | Yes | |
| points | Yes | |
| source | No | |
| alertes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does reasonably well: it discloses the upstream data source (Open-Meteo), the sampling points (departure/high point/arrival), the forecast horizon limit (15 jours), and the default behavior when date/time are omitted (fallback to set_constraints, 9 h departure). It does not cover failure modes or behavior beyond the horizon, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the purpose, then output scope, then defaults. Dense but no filler; every clause carries information. Could be marginally tighter but well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only forecast query with an output schema (so return values need no prose), the description covers data source, variables, time points, horizon, and default inputs. The absence of any handling/limit caveats beyond '15 days' is the only real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the semantics of two of three params by defining what happens when date/start_time are absent (use set_constraints values, 9 h default) – adding meaning beyond the schema's bare null defaults. route_id is left implicit but is self-evident from the name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: fetching Open-Meteo weather forecasts for a route, itemizing exactly which time points (départ, point culminant, arrivée) and which variables (températures, pluie, rafales, orage, neige au sol) are returned. No sibling tool overlaps with weather, so the agent can identify it immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated – there is no explicit 'when to use this vs alternatives' guidance (though no sibling provides weather). The only operational guidance is the fallback rule ('Utilise la date/heure de set_constraints si elles ne sont pas fournies'), which gives context but is really a behavioral default, not a selection rule.
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.
23 tool updates
v0.3.0- First observed
annotate_route - First observed
bailout_route - First observed
compare_routes - First observed
compare_with_reference - First observed
compute_stats - First observed
data_quality - First observed
export_route - First observed
find_bivouac_spots - First observed
find_hiking_routes - First observed
find_pois - First observed
generate_loop_candidates - First observed
geocode - First observed
get_route - First observed
import_gpx - First observed
list_routes - First observed
mark_done - First observed
plan_stages - First observed
route_areas - First observed
route_between - First observed
set_constraints - First observed
technical_passages - First observed
validate_route - First observed
weather_forecast
TDQS
Scored across 23 tools
Most tools target distinct phases of route planning (import, generate, annotate, analyze, validate, export). Minor overlaps exist—route_between and generate_loop_candidates can both create loops, and data_quality overlaps with validate_route's data checks—but descriptions clarify boundaries well.
15 of 23 tools follow a clear verb_noun pattern (import_gpx, find_pois, validate_route). A few are noun-only (technical_passages, data_quality, weather_forecast) or verb-only (geocode), with some verb_preposition names (route_between), but all use snake_case and remain readable.
23 tools is on the heavy side for an MCP server, even for a complex domain like hiking route planning. While each tool covers a distinct analysis or planning step, some could arguably be consolidated (e.g., compare_routes and compare_with_reference, or data_quality into validate_route), making the set feel borderline bloated.
The surface covers the full route lifecycle: import, generate, annotate, analyze (stats, technical passages, areas, weather, bivouac), validate, compare, stage planning, and export, along with list/get/mark_done. The only notable gaps are route deletion or renaming, which are minor for the stated domain.
Maintenance
Related MCP Connectors
- AwayfolkOAuthapp.awayfolk
Shared trip planner for Claude and ChatGPT: ideas, days, bookings and packing for the whole party.
Plan trips directly into TravelOwl from a conversation with Claude.
Turn Claude or ChatGPT into a cycling coach that plans your week, grades it, and adapts. Free beta.
Analyse cycling-event GPX routes and build bounded, practical ride-fuelling carry plans.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceIntegrates Google Maps routing and traffic capabilities with Claude AI for advanced route planning, real-time traffic analysis, route comparison, and trip cost estimation including fuel and tolls.73 npmMIT
- FlicenseNot gradedqualityDmaintenanceLets an LLM plan hikes anywhere in Switzerland by combining named routes, elevation profiles, weather forecasts, and public transport.7-
- AlicenseAqualityAmaintenanceFinds marked hiking routes from OpenStreetMap filtered by locally-computed elevation gain, distance, loop shape, and car/chairlift access, providing consistent and tunable metrics instead of third-party scraped data.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to explore Swiss hiking routes with real-time closures, weather, public transport, and POIs, including GPX generation.1MIT