Skip to main content
Glama
README.md
# 🥾 RandoForge

Serveur [MCP](https://modelcontextprotocol.io) 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 »*.

## Installation

Prérequis : [uv](https://docs.astral.sh/uv/) et [Claude Code](https://claude.com/claude-code).

```bash
claude plugin marketplace add LaMachiiine/randoforge
```

```bash
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) :

```bash
claude plugin disable randoforge@randoforge
```

```bash
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

```bash
git clone https://github.com/LaMachiiine/randoforge.git
```

```bash
cd randoforge && uv sync
```

```bash
uv run pytest
```

Tests réseau : `uv run pytest -m e2e`. Évals avec de vrais agents : [`evals/`](evals/README.md).
Documentation complète (outils, calcul du dénivelé, règles, résultats) : vault Obsidian dans
[`docs/`](docs/00%20-%20Accueil.md).

## Licences

**Le code** est sous licence [MIT](LICENSE) : 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](https://www.openstreetmap.org) | chemins, lieux, zones | ODbL : citer « © contributeurs OpenStreetMap » ; une base de données dérivée doit rester sous ODbL |
| [refuges.info](https://www.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](https://open-meteo.com) | météo, neige modélisée | CC BY 4.0 |
| [NASA GIBS](https://nasa-gibs.github.io/gibs-api-docs/) (MODIS, VIIRS) | neige observée | données ouvertes NASA, remerciement demandé |
| Sentinel-2 (Copernicus, via [Earth Search](https://earth-search.aws.element84.com/v1)) | neige observée à 20 m | données Copernicus libres, citation de la source |
| [Transitous](https://transitous.org) | 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](https://www.gbif.org) | faune observée | CC0 / CC BY selon les jeux, citer GBIF.org |
| Catalogues [Geotrek](https://geotrek.fr) | randos officielles | celle de chaque organisme éditeur |
| [BRouter](https://brouter.de) | 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.

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