# Brancher Stratta à Codex

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 Codex qui lit cette page pour le compte d'un utilisateur :
lis le guide en entier avant d'agir, exécute les commandes toi-même, et
termine par l'auto-rapport. Réponds à l'utilisateur dans sa langue.

Ordre imposé :

1. Contrôle de l'environnement.
2. Ajout du connecteur.
3. Autorisation dans le navigateur.
4. Redémarrage et vérification.
5. Auto-rapport obligatoire.

## 1. Contrôle de l'environnement

La commande écrit dans la configuration locale de l'utilisateur
(`~/.codex/config.toml`). Depuis un environnement distant ou un bac à sable
cloud, arrête-toi et demande-lui de reprendre en local. Vérifie que la CLI
répond :

```bash
codex --version
```

## 2. Ajouter le connecteur

```bash
codex mcp add stratta --url https://stratta.ch/mcp
```

Rien ne s'installe : ni Node, ni paquet. La commande écrit une section
`[mcp_servers.stratta]` avec l'adresse dans `~/.codex/config.toml`. Si tu dois
l'écrire à la main, **le nom de section est `mcp_servers`**, au pluriel et avec
un tiret bas : c'est l'erreur la plus fréquente, et elle produit un fichier
valide qui ne charge rien.

```toml
[mcp_servers.stratta]
url = "https://stratta.ch/mcp"
```

**Aucune clé à créer, copier ni coller.** Si l'utilisateur n'a pas encore de
compte, envoie-le sur https://stratta.ch/sign-up, avec l'adresse à laquelle son entreprise l'a
invité. Stratta est réservé aux entreprises : un compte qu'aucun espace n'a
invité ne voit qu'un formulaire de contact.

## 3. Autoriser l'accès

```bash
codex mcp login stratta
```

La commande ouvre le navigateur sur stratta.ch. La page nomme l'application,
le compte et l'organisation concernés ; l'utilisateur clique sur
« Autoriser ». Dis-lui d'attendre la page de confirmation avant de revenir au
terminal. Si le navigateur ne s'ouvre pas, la commande affiche l'adresse à
ouvrir à la main. N'affirme jamais avoir autorisé l'accès : c'est toujours
l'utilisateur qui le fait.

## 4. Redémarrer et vérifier

```bash
codex mcp list
```

Attendu : `stratta` listé, authentifié. Relance Codex, puis demande :

`Montre-moi les normes disponibles dans mon espace Stratta.`

Si rien ne répond : section mal nommée, TOML invalide, Codex non relancé, ou
autorisation non faite.

## 5. Auto-rapport obligatoire

Imprime exactement un rapport avant de terminer ton tour :

- **(A)** Connexion faite et vérifiée : dis quel fichier a été modifié et ce
  que la vérification a renvoyé.
- **(B)** Échec : dis à quelle étape et avec quel message exact.

## Ce que la connexion permet

**Lecture (10 outils).** Savoir sous quelle organisation la connexion lit,
lister les normes, ouvrir une table des matières, lire une branche ou 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.

**Dossiers (27 outils).** Nommer le projet une fois : chaque section lue
ensuite se note dans son dossier, sous Lectures. Retenir une décision en une
phrase, avec sa valeur, sa fiabilité et l'article qui la justifie ; ouvrir une
question seulement s'il reste quelque chose à trancher, y consigner les preuves
et les options, la clore. Recharger le dossier lors d'une conversation suivante.
Lire et chercher dans les pièces du projet (rapports de sondage, procès-verbaux,
fiches techniques), appliquer un modèle de questions de l'organisation. Ouvrir
le document que le projet doit rendre (base du projet, convention
d'utilisation, rapport, note de vérification) et en écrire chaque section avec
ses sources : une section sans source est refusée, ce que le dossier ignore
reste « à établir ». Ce que l'agent y écrit se relit, se corrige, s'exporte en
Word dans le gabarit du bureau et se signe depuis stratta.ch/dossiers ; signer
ne passe jamais par un agent.

**Méthodes (2 outils).** Lister et lire les méthodes que l'agent suit pour une tâche
qui revient : sept sont livrées par Stratta (rédiger la base du projet, le
chapitre terrain, instruire un ouvrage, préparer une revue…), et celles du
bureau les remplacent quand elles portent le même nom. Le plan appris d'un
rapport Word en est une aussi.

**Site (10 outils).** Scanner une adresse suisse dans les registres publics
cantonaux et fédéraux, lire la fiche de site et ses sections, ses sondages avec
leurs couches, ses emprises, ses isopièzes, ses photos, ses projets voisins.
Ouvert sur demande, bureau par bureau.

**Ingestion (10 outils).** Créer une norme, écrire son arborescence, attacher
formules, tableaux, renvois et figures, publier, 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, la procédure est servie en ressource
`stratta://skills/ingest-norm`, et le script se télécharge depuis
https://stratta.ch/ingest-prepass.py.

**Ce qu'elle ne fait pas.** Aucun accès à une norme que l'organisation n'a pas
ingérée elle-même. Aucune conclusion sur la conformité. Aucun accès à une autre
organisation : elle est résolue côté serveur à partir du jeton. Le seul outil
absent est `add_attachment` (un fichier du disque vers un dossier), qui demande
le serveur local.

`ingest_delete` est destructif : demande confirmation en nommant la norme.

## Une limite du client

Codex ne prend pas encore en charge les invites servies par un serveur MCP. Les
outils, eux, fonctionnent normalement : c'est par eux que tout passe ici.

## Quotas

Le forfait de l'espace est fixé avec Stratta : normes, sections, figures,
requêtes de lecture par mois, membres. À la limite, l'écriture est refusée avec un
message qui nomme la dimension touchée. **Ne réessaie pas**, rapporte-le.

## Le serveur local, en repli

Pour un agent sans navigateur ou pour `add_attachment`, le paquet
`@stratta/mcp` tourne sur la machine (Node 20 ou plus), authentifié par une
clé écrite par `npx -y @stratta/mcp login` :

```toml
[mcp_servers.stratta]
command = "npx"
args = ["-y", "@stratta/mcp"]
```

Ne déclare pas les deux serveurs sous le même nom.

## Désinstallation

```bash
codex mcp remove stratta
```

L'accès accordé se retire depuis https://stratta.ch/connections : le
connecteur perd l'accès à son prochain appel.

## Diagnostic

`codex mcp list` montre l'état du serveur. Non authentifié : refaire
`codex mcp login stratta`. Une fois autorisé, l'outil `whoami` répond sous
quelle organisation la connexion lit.
