{
  "markdown": "# mcp-camptocamp\n\nServeur MCP (Model Context Protocol) exposant l'API [Camptocamp.org](https://www.camptocamp.org) aux LLMs. Permet d'interroger des données fiables et à jour sur les itinéraires alpins, les altitudes de sommets et les descriptions de courses — en évitant les hallucinations sur les données d'alpinisme.\n\n<!-- mcp-name: io.github.olaurendeau/mcp-camptocamp -->\n\n## Outils disponibles\n\n| Outil | Description |\n|-------|-------------|\n| `search_routes` | Recherche des itinéraires par mot-clé (retourne ID, titre, activités, altitude, cotation) |\n| `get_route` | Détail complet d'un itinéraire par ID (description, cotations, dénivelé, matériel) |\n| `search_waypoints` | Recherche des points de passage par nom (sommets, refuges, bivouacs…) |\n| `get_waypoint` | Détail d'un point de passage par ID (altitude, coordonnées GPS, description) |\n\n## Installation\n\n### npm (recommandé)\n\nPrérequis : [Node.js](https://nodejs.org/) 18+\n\n**Claude Desktop** — ajouter dans la configuration :\n\n```json\n{\n  \"mcpServers\": {\n    \"camptocamp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@olaurendeau/mcp-camptocamp\"]\n    }\n  }\n}\n```\n\n**Cursor** — ajouter dans `~/.cursor/mcp.json` ou `.cursor/mcp.json` :\n\n```json\n{\n  \"mcpServers\": {\n    \"camptocamp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@olaurendeau/mcp-camptocamp\"]\n    }\n  }\n}\n```\n\n### Docker\n\nPrérequis : [Docker](https://docs.docker.com/get-docker/)\n\n```json\n{\n  \"mcpServers\": {\n    \"camptocamp\": {\n      \"command\": \"docker\",\n      \"args\": [\"run\", \"--rm\", \"-i\", \"ghcr.io/olaurendeau/mcp-camptocamp:latest\"]\n    }\n  }\n}\n```\n\nPour construire l'image localement :\n\n```bash\ndocker compose build mcp\n```\n\nPuis utiliser l'image locale `mcp-camptocamp-mcp` à la place de `ghcr.io/olaurendeau/mcp-camptocamp:latest`.\n\n## Développement\n\nPrérequis : [Docker](https://docs.docker.com/get-docker/) et [Docker Compose](https://docs.docker.com/compose/)\n\nToutes les commandes npm passent par Docker via le `Makefile` :\n\n```bash\nmake install      # Installer les dépendances\nmake test         # Lancer les tests\nmake lint         # Vérification des types\nmake test-watch   # Tests en mode watch\nmake build        # Compiler TypeScript\nmake docker-build # Construire l'image de production\nmake help         # Liste toutes les commandes\n```\n\n## Publication\n\nLa publication est automatisée via GitHub Actions à chaque tag `v*` (ex. `v1.0.1`).\n\n### Première publication\n\n**Étape 1 — Publier une première fois manuellement** (une seule fois, avec ta 2FA) :\n\n```bash\nmake login          # authentification interactive avec 2FA\nmake publish        # ci + tests + build + npm publish\n```\n\nLes identifiants npm sont stockés localement dans `.npm/` (ignoré par git).\n\n**Étape 2 — Configurer Trusted Publishing sur npm** (remplace le token CI/CD) :\n\n1. Va sur [npmjs.com](https://www.npmjs.com/) → ton package `@olaurendeau/mcp-camptocamp` → **Settings**\n2. Section **Trusted Publisher** → choisis **GitHub Actions**\n3. Renseigne exactement :\n   - **Organization or user** : `olaurendeau`\n   - **Repository** : `mcp-camptocamp`\n   - **Workflow filename** : `publish.yml`\n4. (Recommandé) Dans **Publishing access**, active **Require two-factor authentication and disallow tokens**\n\n**Étape 3 — Publier via GitHub Actions** :\n\n```bash\ngit tag v1.0.0\ngit push origin v1.0.0\n```\n\nLe workflow publie automatiquement sur npm (via OIDC, sans token), GHCR et le [registre MCP officiel](https://modelcontextprotocol.io/registry).\n\nAprès le premier push Docker, rendre le package GHCR public : Settings → Packages → mcp-camptocamp → Change visibility.\n\n### Publication manuelle\n\n```bash\nmake publish\n\n# Registre MCP (nécessite mcp-publisher installé sur l'hôte)\ncurl -L \"https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz\" | tar xz mcp-publisher\n./mcp-publisher login github\n./mcp-publisher publish\n```\n\n## Stack technique\n\n- **Runtime** : Node.js 22 + TypeScript\n- **MCP SDK** : `@modelcontextprotocol/sdk`\n- **Transport** : stdio\n- **Tests** : Vitest\n- **Docker** : image multi-stage (`node:22-alpine`)\n\n## Licence\n\nMIT\n",
  "bytes": 4195,
  "sha": "46110ec10f78e280e30372ce212a5c4438bf28de5c42234efa88b336c77fb10f",
  "repo_slug": "olaurendeau/mcp-camptocamp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_olaurendeau_mcp_camptocamp_e3f2416c/readme"
}