Skip to main content
Glama

🥾 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/randoforge
claude plugin install randoforge@randoforge

Ouvrez une nouvelle session et demandez une rando. Pour activer ou désactiver le plugin (effet dans les sessions suivantes) :

claude plugin disable randoforge@randoforge
claude plugin enable randoforge@randoforge

Configuration

Facultative, par variables d'environnement :

Variable

Rôle

Défaut

RANDOFORGE_HOME

Itinéraires et cache

~/.randoforge

RANDOFORGE_BROUTER_URL

Moteur de routage BRouter

https://brouter.de/brouter

RANDOFORGE_OVERPASS_URLS

Serveurs Overpass (séparés par des virgules)

serveurs publics

RANDOFORGE_DEM_DIR

Modèles de terrain locaux (GeoTIFF)

—

Développement

git clone https://github.com/LaMachiiine/randoforge.git
cd randoforge && uv sync
uv run pytest

Tests 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

OpenStreetMap

chemins, lieux, zones

ODbL : citer « © contributeurs OpenStreetMap » ; une base de données dérivée doit rester sous ODbL

refuges.info

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

Open-Meteo

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

Transitous

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

GBIF

faune observée

CC0 / CC BY selon les jeux, citer GBIF.org

Catalogues Geotrek

randos officielles

celle de chaque organisme éditeur

BRouter

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 tools
annotate_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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
describeNo
route_idYes
categoriesNo
max_detour_mNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
poisYes
sourceNo
route_idYes
warningsYes

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
toNodepart
at_kmYes
targetNo
profileNoshortest
route_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
statsYes
n_poisNo
sourceYes
n_pointsYes
route_idYes
warningsYes
validation_statusNo

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
route_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rowsYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
route_idYes
reference_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
route_idYes
comparaisonYes
reference_idYes

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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

The description states a specific verb and resource ('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.

Usage Guidelines3/5

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
step_mNo
walkerNo
flat_kmhNo
route_idYes
up_m_per_hNo
threshold_mNo
down_m_per_hNo
smooth_window_mNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
statsYes
n_poisNo
sourceYes
n_pointsYes
route_idYes
warningsYes
validation_statusNo

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
route_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
qualiteYes
route_idYes
balise_pctYes

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
formatsNo
route_idYes
vault_dirNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
filesYes
route_idYes

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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).
    
ParametersJSON Schema
NameRequiredDescriptionDefault
route_idYes
abrite_seulementNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
rappelsYes
route_idYes
emplacementsYes

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
latYes
lonYes
limitNo
radius_kmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
routesYes
sourceNo

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
latYes
lonYes
limitNo
radius_kmNo
categoriesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
poisYes
sourceNo
truncatedYes

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
nNo
nameNo
startYes
profileNohiking-mountain
d_plus_mNo
avoid_doneNo
directionsNo
distance_kmYes
max_sac_scaleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesYes
triedYes
failedYes
candidatesYes

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
countryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
placesYes

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
route_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
statsYes
n_poisNo
sourceYes
n_pointsYes
route_idYes
warningsYes
validation_statusNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).
    
ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pathYes
elevationNodem

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
statsYes
n_poisNo
sourceYes
n_pointsYes
route_idYes
warningsYes
validation_statusNo

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
doneNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
routesYes

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
notesNo
route_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
statsYes
n_poisNo
sourceYes
n_pointsYes
route_idYes
warningsYes
validation_statusNo

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
walkerNo
route_idYes
overnightNoindifferent
max_hours_per_dayNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesYes
etapesYes
route_idYes

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
route_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesYes
zonesYes
route_idYes

TDQS

B3.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).
    
ParametersJSON Schema
NameRequiredDescriptionDefault
loopNo
nameNo
profileNohiking-mountain
waypointsYes
max_sac_scaleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
statsYes
n_poisNo
sourceYes
n_pointsYes
route_idYes
warningsYes
validation_statusNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
loopNo
route_idYes
strollerNo
with_dogNo
start_timeNo
max_sac_scaleNo
with_childrenNo
max_duration_hNo
max_tarmac_pctNo
target_d_plus_mNo
target_distance_kmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
statsYes
n_poisNo
sourceYes
n_pointsYes
route_idYes
warningsYes
validation_statusNo

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
route_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesYes
passagesYes
route_idYes
niveau_maxYes

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).
    
ParametersJSON Schema
NameRequiredDescriptionDefault
route_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
checksYes
statusYesok, warning ou error

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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

The description names a specific verb and resource ('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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
route_idYes
start_timeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
dateYes
heuresYes
pointsYes
sourceNo
alertesYes

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 23 tool updatesv0.3.0
    • First observedannotate_route
    • First observedbailout_route
    • First observedcompare_routes
    • First observedcompare_with_reference
    • First observedcompute_stats
    • First observeddata_quality
    • First observedexport_route
    • First observedfind_bivouac_spots
    • First observedfind_hiking_routes
    • First observedfind_pois
    • First observedgenerate_loop_candidates
    • First observedgeocode
    • First observedget_route
    • First observedimport_gpx
    • First observedlist_routes
    • First observedmark_done
    • First observedplan_stages
    • First observedroute_areas
    • First observedroute_between
    • First observedset_constraints
    • First observedtechnical_passages
    • First observedvalidate_route
    • First observedweather_forecast

TDQS

B3.4/5.0

Scored across 23 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count3/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Lets an LLM plan hikes anywhere in Switzerland by combining named routes, elevation profiles, weather forecasts, and public transport.
    7
    -
  • A
    license
    A
    quality
    A
    maintenance
    Finds 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.
    1
    MIT