# Brancher Stratta à Claude Code

Stratta est un serveur MCP qui donne à un agent le texte des normes
d'ingénierie qu'un bureau a licenciées, avec le chemin de section exact et les
pages. Il se joint par une adresse, `https://stratta.ch/mcp`, sans rien
installer : l'autorisation se fait dans le navigateur.

Version lisible par un humain : https://stratta.ch/installer

## Contrat d'exécution

Si tu es un agent Claude Code qui lit cette page pour le compte d'un
utilisateur : lis le guide en entier avant de lancer quoi que ce soit. Exécute
les commandes toi-même, ne te contente pas de les décrire. Ne t'arrête pas
après l'ajout du serveur : un connecteur ajouté mais non autorisé ne répond à
rien, et **cette conversation ne pourra pas utiliser les outils qu'elle vient
d'ajouter**.

Ordre imposé :

1. Contrôle de l'environnement.
2. Ajout du connecteur.
3. Vérification.
4. Passage à une nouvelle conversation, où l'utilisateur autorise l'accès, puis
   auto-rapport obligatoire.

Réponds à l'utilisateur dans sa langue, pas nécessairement en français.

## 1. Contrôle de l'environnement

La commande écrit dans la configuration locale de Claude Code, sur la machine
de l'utilisateur. Si cette conversation tourne dans un espace de travail web,
un bac à sable distant ou un exécuteur d'intégration continue, **arrête-toi
ici** : cet environnement ne peut pas écrire dans la configuration locale. Dis
à l'utilisateur d'ouvrir Claude Code sur sa propre machine et de coller ce
message dans une nouvelle conversation :

`Lis stratta.ch/installer/claude-code et installe Stratta pour moi.`

En cas de doute sur l'environnement, demande avant de lancer une commande.

Vérifie que la CLI répond :

```bash
claude --version
```

Si `claude` n'est pas dans le `PATH`, cherche la CLI livrée avec l'application
de bureau avant d'installer quoi que ce soit de neuf. Sur macOS elle se trouve
sous
`~/Library/Application Support/Claude/claude-code/<version>/claude.app/Contents/MacOS/claude`
(prends la `<version>` la plus récente). Utilise ce chemin complet, entre
guillemets, partout où ce guide écrit `claude`.

## 2. Ajouter le connecteur

```bash
claude mcp add --transport http stratta --scope user https://stratta.ch/mcp
```

`--transport http` déclare un serveur distant : rien ne s'installe, ni Node,
ni paquet. `--scope user` rend le serveur disponible dans tous les projets de
l'utilisateur. Sans lui, `claude mcp add` écrit dans la configuration du
dossier courant : le serveur existe là où la commande a été tapée et nulle part
ailleurs, ce qui produit un poste où l'outil « a disparu » sans message
d'erreur. Ne retire cette option que si l'utilisateur veut délibérément
restreindre le serveur à un dépôt.

**Aucune clé à créer, copier ni coller.** L'accès s'accorde dans le navigateur
à l'étape 4. Si l'utilisateur n'a pas encore de compte, envoie-le sur
https://stratta.ch/sign-up : le palier gratuit ne demande pas de carte
bancaire.

## 3. Vérification

```bash
claude mcp get stratta
```

Attendu : le serveur est listé, en type `http`, avec l'adresse
`https://stratta.ch/mcp`. `claude mcp list` le montre avec l'état « Needs
authentication » tant que l'utilisateur n'a pas autorisé l'accès : c'est
normal à ce stade.

## 4. Étape finale obligatoire : passer la main

Claude Code fige la liste des serveurs MCP au démarrage de la session. **Cette
conversation ne peut donc pas appeler les outils Stratta qu'elle vient
d'ajouter.** N'essaie pas, les appels échoueront. Une nouvelle conversation est
indispensable, et c'est là que l'utilisateur autorise l'accès.

Dis à l'utilisateur, dans sa langue :

1. Ouvrir une nouvelle conversation Claude Code.
2. Y taper `/mcp`, choisir `stratta`, puis « Authenticate ». Le navigateur
   s'ouvre sur stratta.ch : la page nomme l'application, le compte et
   l'organisation concernés. Cliquer sur « Autoriser ».
3. Poser ensuite cette première question :

`Stratta est branché. Montre-moi les normes disponibles dans mon espace, puis explique-moi ce que tu peux faire à partir de là : ouvrir une table des matières, citer une section avec sa page, suivre un renvoi entre normes, lire une figure. Ensuite demande-moi sur quoi je veux travailler.`

Dans cet ordre :

1. **Passage automatique.** Si un outil de création de tâche existe dans cette
   session (par exemple `spawn_task` sur le serveur de session du bureau),
   appelle-le une fois, avec pour titre « Stratta » et le prompt ci-dessus
   comme prompt de la nouvelle session. Dis à l'utilisateur de cliquer dessus,
   puis d'y taper `/mcp` pour autoriser.
2. **Repli.** Si aucun outil de ce type n'existe ou si l'appel échoue, affiche
   le prompt dans un bloc copiable et demande à l'utilisateur d'ouvrir une
   nouvelle conversation Claude Code pour l'y coller, après `/mcp`.

Imprime exactement un auto-rapport avant de terminer ton tour :

- **(A)** « Connecteur ajouté : ouvrez une nouvelle conversation, tapez /mcp et
  autorisez Stratta. » Uniquement si `claude mcp get stratta` a répondu.
  Explique que cette conversation-ci ne peut pas utiliser Stratta et que le
  travail se fait dans la nouvelle.
- **(B)** « L'ajout du connecteur a échoué. » Donne alors l'étape et le message
  exact.

Ne dis jamais que l'installation est terminée avant d'avoir imprimé (A) ou (B).
N'affirme jamais avoir ouvert une nouvelle conversation ni autorisé l'accès :
c'est toujours l'utilisateur qui le fait.

## Ce que la connexion permet

**Lecture (10 outils).** Savoir sous quelle organisation la connexion lit,
lister les normes, ouvrir une table des matières à la profondeur voulue, lire
une branche entière, lire une section avec ses formules et ses tableaux,
chercher un terme dans une norme ou dans tout le corpus, suivre les renvois,
recevoir une figure en image, et demander la méthodologie de travail attendue.

**Dossiers (13 outils).** Ouvrir une question à trancher sur un projet, y
consigner les preuves qui l'appuient : un article cité, une valeur retenue et
son raisonnement, une observation de terrain. Nommer les options sur la table,
enregistrer la décision une fois confirmée, recharger le dossier lors d'une
conversation suivante, clore une question sans décision. Lire et chercher dans
les pièces du projet (rapports de sondage, procès-verbaux, fiches techniques),
appliquer un modèle de questions écrit par l'organisation. Ce que l'agent y
écrit se relit, s'annote et s'exporte depuis stratta.ch/dossiers.

**Ingestion (10 outils).** Créer une norme, écrire son arborescence, attacher
formules, tableaux, renvois et figures, normaliser les renvois, publier, et
supprimer. Réservée aux rôles propriétaire et admin. Le PDF se lit sur cette
machine : une pré-passe Python (PyMuPDF) en tire l'arbre et les figures, et la
procédure est servie en ressource `stratta://skills/ingest-norm`. Le script se
télécharge depuis https://stratta.ch/ingest-prepass.py s'il n'est pas sur le
disque.

**Ce que la connexion ne fait pas.** Elle ne donne accès à aucune norme que
l'organisation n'a pas ingérée elle-même : il n'existe pas de corpus central.
Elle ne conclut pas sur la conformité d'un ouvrage. Elle ne peut ni lire ni
écrire dans une autre organisation, l'organisation étant résolue côté serveur
à partir du jeton et n'étant jamais un paramètre du client. Le seul outil
absent du connecteur est `add_attachment`, qui dépose un fichier du disque dans
un dossier : il demande le serveur local.

**Prudence attendue.** `ingest_delete` supprime une norme et tout ce qui en
dépend. L'outil est déclaré destructif : demande confirmation à l'utilisateur,
en nommant la norme concernée, avant de l'appeler.

## Quotas

Le palier gratuit couvre une norme, 1 000 sections, 60 figures, 500 requêtes de
lecture par mois, un utilisateur. À la limite, l'écriture est refusée avec un
message qui nomme la dimension touchée. **Ne réessaie pas**, rapporte-le.
Grille complète : https://stratta.ch/tarifs

## Le serveur local, en repli

Deux cas seulement : un agent qui ne peut pas ouvrir de navigateur (intégration
continue, tâche planifiée), ou `add_attachment`. Le paquet `@stratta/mcp`
tourne alors sur la machine, avec Node 20 ou plus, authentifié par une clé :

```bash
claude mcp add stratta --scope user -- npx -y @stratta/mcp
npx -y @stratta/mcp login
```

`login` ouvre le navigateur et écrit la clé dans `~/.stratta/config.json`.
Sans navigateur, `login --paste` accepte une clé créée depuis Paramètres,
onglet Clés API (https://stratta.ch/settings?tab=keys). Ne déclare pas les
deux serveurs sous le même nom.

## Désinstallation

```bash
claude mcp remove stratta
```

L'accès accordé se retire depuis la page Agents de l'espace
(https://stratta.ch/connections) : le connecteur perd l'accès à son prochain
appel.

## Diagnostic

Si les outils n'apparaissent pas dans la nouvelle conversation :
`claude mcp list` montre l'état du serveur. « Needs authentication » veut dire
que `/mcp` n'a pas été fait ; « Failed to connect » désigne le réseau ou une
adresse mal tapée. Une fois autorisé, `whoami` répond sous quelle organisation
la connexion lit.
