# Camptocamp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/olaurendeau/mcp-camptocamp  
**GitHub Stars:** 1  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/camptocamp

## Description
API Camptocamp.org : itinéraires alpins, sommets et points de passage.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "camptocamp": {
    "command": "npx",
    "args": ["-y","@olaurendeau/mcp-camptocamp"]
  }
}
```

## Documentation & README

# mcp-camptocamp

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

<!-- mcp-name: io.github.olaurendeau/mcp-camptocamp -->

## Outils disponibles

| Outil | Description |
|-------|-------------|
| `search_routes` | Recherche des itinéraires par mot-clé (retourne ID, titre, activités, altitude, cotation) |
| `get_route` | Détail complet d'un itinéraire par ID (description, cotations, dénivelé, matériel) |
| `search_waypoints` | Recherche des points de passage par nom (sommets, refuges, bivouacs…) |
| `get_waypoint` | Détail d'un point de passage par ID (altitude, coordonnées GPS, description) |

## Installation

### npm (recommandé)

Prérequis : [Node.js](https://nodejs.org/) 18+

**Claude Desktop** — ajouter dans la configuration :

```json
{
  "mcpServers": {
    "camptocamp": {
      "command": "npx",
      "args": ["-y", "@olaurendeau/mcp-camptocamp"]
    }
  }
}
```

**Cursor** — ajouter dans `~/.cursor/mcp.json` ou `.cursor/mcp.json` :

```json
{
  "mcpServers": {
    "camptocamp": {
      "command": "npx",
      "args": ["-y", "@olaurendeau/mcp-camptocamp"]
    }
  }
}
```

### Docker

Prérequis : [Docker](https://docs.docker.com/get-docker/)

```json
{
  "mcpServers": {
    "camptocamp": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/olaurendeau/mcp-camptocamp:latest"]
    }
  }
}
```

Pour construire l'image localement :

```bash
docker compose build mcp
```

Puis utiliser l'image locale `mcp-camptocamp-mcp` à la place de `ghcr.io/olaurendeau/mcp-camptocamp:latest`.

## Développement

Prérequis : [Docker](https://docs.docker.com/get-docker/) et [Docker Compose](https://docs.docker.com/compose/)

Toutes les commandes npm passent par Docker via le `Makefile` :

```bash
make install      # Installer les dépendances
make test         # Lancer les tests
make lint         # Vérification des types
make test-watch   # Tests en mode watch
make build        # Compiler TypeScript
make docker-build # Construire l'image de production
make help         # Liste toutes les commandes
```

## Publication

La publication est automatisée via GitHub Actions à chaque tag `v*` (ex. `v1.0.1`).

### Première publication

**Étape 1 — Publier une première fois manuellement** (une seule fois, avec ta 2FA) :

```bash
make login          # authentification interactive avec 2FA
make publish        # ci + tests + build + npm publish
```

Les identifiants npm sont stockés localement dans `.npm/` (ignoré par git).

**Étape 2 — Configurer Trusted Publishing sur npm** (remplace le token CI/CD) :

1. Va sur [npmjs.com](https://www.npmjs.com/) → ton package `@olaurendeau/mcp-camptocamp` → **Settings**
2. Section **Trusted Publisher** → choisis **GitHub Actions**
3. Renseigne exactement :
   - **Organization or user** : `olaurendeau`
   - **Repository** : `mcp-camptocamp`
   - **Workflow filename** : `publish.yml`
4. (Recommandé) Dans **Publishing access**, active **Require two-factor authentication and disallow tokens**

**Étape 3 — Publier via GitHub Actions** :

```bash
git tag v1.0.0
git push origin v1.0.0
```

Le workflow publie automatiquement sur npm (via OIDC, sans token), GHCR et le [registre MCP officiel](https://modelcontextprotocol.io/registry).

Après le premier push Docker, rendre le package GHCR public : Settings → Packages → mcp-camptocamp → Change visibility.

### Publication manuelle

```bash
make publish

# Registre MCP (nécessite mcp-publisher installé sur l'hôte)
curl -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
./mcp-publisher login github
./mcp-publisher publish
```

## Stack technique

- **Runtime** : Node.js 22 + TypeScript
- **MCP SDK** : `@modelcontextprotocol/sdk`
- **Transport** : stdio
- **Tests** : Vitest
- **Docker** : image multi-stage (`node:22-alpine`)

## Licence

MIT

