Rechercher dans la documentation

Rechercher dans la documentation

Journal des modifications

Changements notables du serveur MCP Stratta.

Versions notables du package @stratta/mcp. Le package suit le versionnage sémantique.

1.20.0
Moins de texte envoyé à votre agent

Les normes d’un gros corpus. list_norms accepte query (un code ou des mots du titre) et limit. Sur un espace de 425 normes, la liste passe de 170 000 à 9 000 caractères, et une recherche par code rend la norme avant celles qui la citent. La méthode servie à l’agent donne les codes regroupés par famille : 13 000 caractères au lieu de 35 000.

Une clause, une fois. get_section envoie la section en Markdown, avec ses formules, tableaux, figures et renvois à leur place, et plus le même texte une deuxième fois en brut et en JSON. search_in_norm ne recopie plus la licence dans chaque résultat.

Les dossiers. load_dossier et list_questions coupent les textes longs (get_question les rend entiers) ; get_dossier_activity rend 15 lignes par défaut.

2026-10-07
La clé d’IA du bureau, et vos membres en main

L’assistant sur votre clé. L’assistant de l’application répond avec le modèle de votre choix, sur le compte de votre bureau : collez la clé d’API d’Infomaniak (traité en Suisse), de Mistral (Union européenne), d’OpenRouter, d’Anthropic, d’OpenAI ou de Google dans Réglages › Intégrations. Stratta reconnaît le fournisseur et ne propose que les modèles de la clé.

Vos membres. Renvoyez une invitation, même expirée, passez quelqu’un administrateur ou membre, transférez l’espace à un administrateur, et retrouvez l’historique des invitations du mois.

1.18.1
Des descriptions pour toutes vos normes

Les instructions du serveur, la description des outils, la méthode servie à l’agent et la skill consult-stratta parlent désormais de normes, lois, règlements et référentiels, et plus seulement de normes de construction. Aucun outil ne change.

2026-10-06
Ouvert à tous, pour toutes vos normes

Ouvert à tous. Créer un compte est libre et gratuit. Un formulaire ouvre votre espace : prénom, nom, entreprise, téléphone, et le site web de l’entreprise, dont l’icône devient le logo de l’espace. Le forfait gratuit lit la norme de démonstration ; Pro et Max se souscrivent de nouveau en ligne.

Toutes vos normes. Normes techniques, lois, règlements, référentiels : Stratta sert ce que votre organisation a le droit d’utiliser, avec la même citation exacte.

Ajouter une norme est inclus. Un dépôt prend une place de norme du forfait, sans requêtes débitées : Pro en compte 15, Max 60, autant de dépôts par mois, 600 pages au plus. Une norme en plus coûte 5 CHF, payée une fois. Chaque dépôt demande de déclarer vos droits sur le document. À la première norme de votre organisation, la norme de démonstration se met en sommeil ; elle se rallume depuis la page Normes.

2026-10-05
Réservé aux entreprises, licence avec chaque extrait

Stratta est réservé aux entreprises. Un espace est ouvert avec Stratta, qui invite son premier administrateur ; celui-ci en devient propriétaire à son arrivée. Il n’y a plus de forfait gratuit, d’essai, de page tarifs ni de paiement en ligne, et plus de relances de mise en route par e-mail. Un compte sans espace voit un formulaire de contact, qui sert aussi à demander une norme (menu du compte › Écrire à Stratta, ou Normes › Demander une norme).

La licence avec chaque extrait. Le filigrane et le copyright de la copie sous licence sont gardés une fois avec la norme, et accompagnent chaque extrait : get_section (champ licence et ligne Licence: du Markdown), search_in_norm, search_corpus, get_figure, show_citations, l’assistant, les livrables et les exports. ingest_create_document accepte licence.

Modèles. Chaque appel à OpenRouter exige un fournisseur à zéro rétention et refuse la collecte des données.

1.18.0
Cartes de citation et lecteur de normes, dans ChatGPT

Connecteur distant : 61 outils. Le paquet local ne change que de version.

Les cartes de citation. Une réponse peut se terminer par les clauses sur lesquelles elle repose, en cartes : la norme, la clause, les pages et la phrase citée, vérifiée mot pour mot contre la clause avant d’être affichée. Une carte ouvre la clause entière, et un lien l’ouvre dans le lecteur de Stratta. Quand une citation n’est pas dans la clause, la carte le dit et montre le texte de la norme.

Le lecteur de normes à côté de la conversation. Dans ChatGPT, il s’ouvre depuis le panneau latéral ou la barre latérale : vos normes, le sommaire d’une norme, une clause avec ses renvois. « Demander à l’agent » pose une question sur la clause que vous lisez.

Deux comptes, deux profils. Connecté à votre bureau et à l’espace d’un client, ChatGPT distingue désormais les deux.

Le plugin ChatGPT emporte ses méthodes. Les procédures de rédaction (note de vérification, base du projet, convention d’utilisation, chapitre terrain, revue des questions ouvertes) et une première prise en main accompagnent le plugin.

1.17.0
Mode simple, méthodologie plus courte, assistant plus économe

Paquet 1.17.0. Mêmes outils, annoncés à la carte.

Mode simple. npx -y @stratta/mcp --simple n’annonce que les 10 outils de lecture des normes (environ 11 000 caractères de schémas au lieu de 67 000). --toolsets dossiers,sites, --full et la variable STRATTA_TOOLSETS choisissent les familles. Sur la page Agents IA, le menu Outils de chaque agent fait de même pour le connecteur distant. Par défaut, tous les outils.

Méthodologie plus courte. get_methodology est plus de deux fois plus courte pour un gros corpus (une ligne par norme, la portée se lit par list_norms) et ne parle des dossiers que si les outils de dossier sont donnés.

Assistant plus économe. Il commence avec les outils de normes et charge les autres familles selon la page et la question : environ trois fois moins de requêtes consommées par étape.

2026-10-02
La Bibliothèque devient Méthodes

Côté application, sans nouvelle version du paquet.

La page Méthodes remplace la Bibliothèque : chaque méthode en français, la phrase à dire à votre agent pour la lancer, et combien de fois il l’a suivie ces 30 derniers jours. Un rapport Word déposé sur la carte d’un document remplace le plan de Stratta, sans nom technique à inventer. list_skills et get_skill ne changent pas.

2026-10-01
La fiche de site, sur demande

Côté application, sans nouvelle version du paquet.

La fiche de site (le sous-sol d’une adresse en plan, en coupe et en 3D) sort des forfaits : elle s’ouvre sur demande, bureau par bureau, pendant qu’elle mûrit avec les bureaux pilotes. Écrivez à hello@stratta.ch pour l’essayer. Les fiches déjà faites restent lisibles sur tous les forfaits, et l’outil scan_site répond qu’elle n’est pas ouverte tant qu’elle ne l’est pas, sans rien débiter.

2026-10-01
Ajouter une norme depuis l’app

Côté application, sans nouvelle version du paquet.

Sur la page Normes, le bouton Ajouter une norme prend un PDF (200 Mo au maximum, un scan est accepté), préremplit la référence, l’année et le titre d’après le nom du fichier, et demande de confirmer la licence. Le coût s’affiche avant l’envoi : 500 requêtes par dépôt plus 40 par page (le double pour un scan), comme une estimation. Le prix réel se calcule sur ce que la norme a vraiment coûté une fois prête, deux fois l’estimation au plus, et tout est rendu si la norme est refusée, illisible ou retirée. Le fichier est traité sur le serveur de Stratta en Allemagne, ses formules et tableaux sont contrôlés contre l’image de leur page, puis une personne de Stratta relit avant l’ajout. Une carte suit le dépôt en direct, un e-mail annonce la fin, et le PDF est supprimé une fois la norme livrée. L’ingestion par votre agent avec le skill ingest-norm reste possible, PDF sur votre machine.

1.16.1
Ce qui est servi dit ce que la source dit, et dit quand elle ne sait pas

Même nombre d’outils. Une correction, côté serveur et côté paquet.

Recherche. search_in_norm et search_corpus ignorent les mots vides (« de », « la », « und ») : « classe de sol » cherche « classe » et « sol ». Les sections qui portent tous les termes passent devant, et kind: "title" veut dire que tous les termes sont dans l’intitulé. Le code de norme se retrouve à la casse et aux espaces près.

Texte des normes. Le filigrane de licence n’apparaît plus dans le texte servi, un tableau n’est plus servi deux fois, une clause n’emprunte plus le résumé de son parent. La prépasse d’ingestion livrée avec le paquet retire ce filigrane à la source.

Fiche de site. Les quatre cantons ont été repris fait par fait : Fribourg se lit de nouveau en entier, les degrés de danger sont servis tels quels, une source en panne est dite « non couverte » et jamais « aucun ». Le spectre de réponse suit le tableau 24 de SIA 261:2020.

Serveur local. Un appel en échec envoie son code d’erreur au journal de votre espace, comme le connecteur distant.

1.16.0
Le dossier se remplit sans geste, le bureau a sa bibliothèque, et le projet rend son document

Quatre outils de plus, 59 sur le serveur local et 58 sur le connecteur distant.

Le dossier se remplit sans geste. Chaque section de norme que l’agent lit pendant le travail sur un dossier apparaît dans l’onglet Lectures, avec la clause, les pages, qui et quand. Il suffit d’avoir nommé le projet une fois (load_dossier, open_dossier, ou tout outil qui touche le dossier, sa question ou sa fiche de site) ; le dossier reste actif six heures et chaque lecture prolonge. record_decision accepte dossierId et question (ce qui est réglé) à la place de questionId : la question naît tranchée. La méthodologie servie passe en v3 : nommer le projet, retenir ce qui est fixé, n’ouvrir une question que quand quelque chose reste à régler.

La bibliothèque du bureau. list_skills et get_skill servent les procédures que l’agent suit pour une tâche répétable : neuf livrées avec le paquet (project-basis, use-agreement, site-chapter, instruct-structure, review-open-questions, handoff-to-word, verification-note, consult-stratta, ingest-norm) et celles que votre bureau écrit sur la page Bibliothèque ; une procédure du bureau qui porte le nom d’une procédure Stratta la remplace. Un rapport Word déposé sur cette page devient un gabarit : son plan, ses mentions et ses tournures, relus et validés, servis comme une procédure de plus.

Le document que le projet doit rendre. draft_deliverable ouvre le document d’un dossier (base du projet, convention d’utilisation, rapport géotechnique, note de vérification) sur le plan du gabarit du bureau, sinon sur le plan Stratta ; write_section écrit une section avec ce sur quoi elle repose, et refuse un texte sans source. L’onglet Livrables du dossier le relit, le corrige, le passe en revue, le signe et l’exporte en Word, dans la mise en page du rapport déposé par le bureau. Quand une source change (décision reprise, entrée supprimée, nouveau relevé du site, nouvelle édition d’une norme), la section passe « à revoir » avec la raison, et draft_deliverable le dit à l’agent.

Le terrain. Le profil PDF d’un sondage genevois se lit sur demande par un modèle de vision : ses couches remplacent les grandes unités du cadastre dans la colonne, la coupe et le bloc ; un sondage d’archive du bureau se lit depuis une pièce du dossier et se pose sur le site. Une décision dont la valeur est une altitude se dessine sur la coupe et dans le bloc. Un invité qui lit le dossier par un lien peut y répondre.

1.15.0
Chaque outil dit le justificatif qu’il demande, et une suppression demande d’abord

Chacun des 54 outils servis par le connecteur distant déclare désormais le justificatif qu’il exige : le client peut proposer la connexion sur l’outil qui en a besoin, au lieu du premier appel qui échoue. Supprimer un document demande votre confirmation dans le client avant que quoi que ce soit parte, comme le faisaient déjà la suppression d’une question ou d’une option : c’est la suppression la plus large de Stratta, et c’était la seule qui partait au premier mot.

0.14.0
Tout ce que la page du dossier sait lire et faire, pour l’agent

Dix-neuf outils, sur le serveur local comme sur le connecteur distant. Côté questions, l’agent lit ce que load_dossier résumait : list_questions et get_question (options avec leurs identifiants, décision, preuves champ par champ, commentaires signés, une page à la fois), get_dossier_activity, list_exports. Il fait ce que la page faisait seule : update_question (responsable par adresse e-mail, échéance), add_option, update_option, add_comment, update_entry, attach_entry pour vider la pile « à classer »  ; delete_question et delete_option demandent votre confirmation dans le client avant de toucher quoi que ce soit.

Côté site, l’onglet Site se lit en entier : list_sites, get_site (chaque fait avec sa clé, son avertissement officiel et la source qui a répondu ou non), get_site_section (axe, terrain, rocher modélisé, géologie, sondages du corridor avec leurs couches), list_site_overlays, get_groundwater_contours, list_site_photos, list_site_neighbours.

load_dossier rend désormais dossierId, siteId, les comptes et les dates ; list_dossiers rend siteId ; get_boreholes rend l’auteur du sondage, le piézomètre et l’état de lecture des couches.

0.13.1
Un kilomètre de rayon, et les emprises qui s’ouvrent

Le rayon de scan_site monte à 1 000 m (50 auparavant à 500). Au-delà de quelques centaines de mètres en tissu dense, le scan garde les quatre cents sondages les plus proches et la fiche annonce la troncature plutôt qu’un compte faux.

Dans l’application, chaque emprise de la carte (site pollué, danger naturel, secteur de protection des eaux) s’ouvre d’un clic et dit d’abord la seule chose qu’on vient lire : si elle couvre le point du site, ou à combien de mètres elle s’arrête. Les mêmes emprises apparaissent sous le fait qui leur correspond dans la fiche, avec leur distance : « Hors secteur de protection » au point et « Protection des eaux (1) » sur la carte étaient tous deux vrais, et se lisaient comme une contradiction. Les sections « Sites pollués » et « Mises à l’enquête » comptent désormais dans le rayon choisi, et non plus dans un carré fixe de trois cents mètres.

La coupe lit désormais toutes les fiches de sondage de son corridor chez le canton (Vaud et Valais ne les livrent qu’une par une, et le scan n’en lisait que douze), gagne une fenêtre de profondeur réglable pour lire les vingt premiers mètres sans qu’un forage de trois cents les écrase, et porte deux repères d’observation par sondage : la nappe relevée et le toit du rocher tel que la description le nomme. Relier ces toits d’un sondage à l’autre est un commutateur, éteint par défaut, marqué « interprétation ».

Le même jour, plus tard : les emprises de la carte sont désormais écrites par le scan, comme les sondages, au lieu d’être relues à chaque ouverture sous une limite de débit qui les faisait disparaître sans un mot après quelques rechargements. Les réglages de la coupe coiffent la figure dans une barre, la fenêtre de profondeur coupe les colonnes au bord du cadre et non à leur propre profondeur, et un second bouton, Relier les couches, aligne les couches de même famille (argile, limon, sable, gravier, moraine, remblai, rocher) entre sondages voisins à moins de cent cinquante mètres. Éteint par défaut, en aplat translucide à contour pointillé, marqué « interprétation » : ce qu’un ingénieur ferait de tête devant la coupe, dessiné avec son étiquette.

0.13.0
La fiche de site : ce que les registres publics savent d’une parcelle

Trois outils nouveaux, scan_site, get_site_context et get_boreholes, rassemblent autour d’une adresse suisse ce que les registres publics savent du terrain : commune, parcelle EGRID, altitude, géologie, sondages du cadastre cantonal avec leur stratigraphie, nappe relevée au piézomètre, sites pollués, protection des eaux, dangers naturels, zone sismique et classe de terrain de fondation SIA 261.

get_site_context rend deux listes séparées : ce que les registres ont tranché, et ce qu’ils n’ont pas tranché, avec la raison de chaque point. La seconde est celle qui fixe le prix d’une offre. get_boreholes descend au détail : les sondages du plus proche au plus lointain, leurs couches, la classe SIA 261 relevée dans le forage, la nappe mesurée, et les liens vers les documents du canton.

Dans l’application, le dossier gagne un onglet Site : on choisit un rayon, un écran d’étapes montre les sources qui répondent, puis la fiche paraît entière. Elle se lit de haut en bas comme la base du projet que SIA 260 chiffre 2.5.2 demande. Une carte porte les emprises de pollution et de danger, et deux clics tracent une coupe où les sondages sont projetés sous le terrain, sans qu’aucune couche ne soit interpolée entre eux. Chaque valeur se copie avec sa provenance, et un relevé de situation s’emporte en Markdown, en HTML ou à l’impression. Les documents d’origine sont liés chez le canton, jamais copiés.

0.12.1
L'ingestion par le connecteur distant

Les dix outils ingest_* sont désormais servis au connecteur distant : un agent qui a une machine (Claude Code, Codex, Cursor, Gemini CLI) ingère une norme par https://stratta.ch/mcp, sans paquet ni clé. Le skill ingest-norm est servi en ressource stratta://skills/ingest-norm et le script de pré-passe à https://stratta.ch/ingest-prepass.py, que le skill télécharge s’il n’est pas sur le disque. Le connecteur expose 32 outils ; seul add_attachment, qui lit un fichier sur votre disque, reste local. Sur le site, le guide nomme votre agent (huit clients, un bouton ou une commande chacun), le tableau de bord montre quels agents sont branchés, et les normes de l’espace ont leur propre page.

0.12.0
Un seul catalogue pour les deux transports

Le serveur local et le connecteur distant décrivaient les mêmes outils avec des textes différents. Un catalogue unique porte désormais les noms, les descriptions et les annotations des deux, et le paquet en est généré. Le paramètre norm des outils de lecture s’appelle code partout (votre agent relit le schéma à chaque session, rien à changer de votre côté). whoami arrive sur le serveur local, les résultats sont rendus en JSON compact, et le serveur envoie les mêmes instructions d’initialisation que le connecteur.

0.11.0
Score de couverture et parcours de session

ingest_publish mesure désormais ce qui est réellement entré de la norme (texte par page, pages sous un chapitre, feuilles vides, formules et tableaux) et refuse sous 30/100 avec les raisons ; force: true publie quand même, après confirmation. ingest_status et list_norms rendent le score (coverage : full, partial, sparse), et une norme creuse porte un avis que l’agent doit relayer. Chaque appel d’outil porte aussi un identifiant de session et l’adresse de ce qui a été demandé (code de norme, chemin, termes cherchés), jamais le contenu des champs libres : le tableau de bord lit une conversation comme un parcours dans le corpus.

0.10.0
Dossiers : des questions, pas un journal plat

Un dossier tient désormais des questions (« le pieu P38 peut-il être conservé ? »), chacune avec ses preuves, ses options et sa décision. Deux outils ajoutés : open_question (idempotent sur le titre, options[] nommées) et record_decision (décision confirmée par l’ingénieur, option retenue). save_finding ne prend plus que reference, hypothesis ou observation, se rattache à une question via questionId, et porte l’édition citée (normEdition). resolve_question clôt ou rouvre une question plutôt qu’une entrée. 7 outils de dossier au lieu de 5 : 25 outils au total sur le serveur local, 16 sur le connecteur distant.

0.9.7
Commande stratta

npm install -g @stratta/mcp installe un binaire stratta : stratta doctor, stratta whoami. npx -y @stratta/mcp continue de fonctionner à l’identique : c’est la forme que votre agent utilise.

0.9.6
whoami, doctor, logout

Le serveur répond enfin aux questions qu’on lui pose. doctor vérifie Node, votre clé, l’accès au serveur, le nombre de normes visibles et votre version, et indique pour chaque échec la commande qui le corrige. whoami interroge le serveur plutôt que votre disque : une clé révoquée depuis le tableau de bord y paraît valide. logout retire la clé et signale une variable STRATTA_API_KEY restée active. --help liste tout.

0.9.5
Commande update

npx -y @stratta/mcp update compare votre version à la dernière publiée et récupère la nouvelle. npx garde en cache ce qu’il a résolu, donc un serveur pouvait relancer pendant des semaines une version remplacée sans que rien ne le signale. Le serveur le mentionne aussi au démarrage quand il se sait en retard.

0.9.3
Connexion réparée sous Windows

login ouvrait le navigateur sur une adresse tronquée : & sépare les commandes dans cmd.exe, et l’URL d’autorisation en contient deux. La page s’affichait donc « lien invalide » alors que l’adresse imprimée dans le terminal, elle, fonctionnait. L’URL est désormais transmise telle quelle.

0.9.0
Connexion par le navigateur

npx -y @stratta/mcp login ouvre un port éphémère sur 127.0.0.1, vous envoie sur Stratta, et récupère la clé par redirection locale. Vous voyez quelle machine demande l’accès et pour quelle organisation, et vous n’avez aucune clé à copier. --paste conserve l’ancien flux pour les machines sans navigateur.

0.7.0
Outils annotés

Les huit outils de lecture se déclarent sans effet de bord, et la suppression d’une norme se déclare destructive : votre client demande confirmation au bon moment, et seulement à ce moment. Les arguments des dix-huit outils sont validés à l’entrée du serveur.

0.6.0
Erreurs de quota
  • Quotas appliqués côté serveur, par organisation. Une erreur QUOTA_EXCEEDED indique désormais la dimension touchée, votre compteur et la limite du forfait, en langage clair. - L’agent est explicitement invité à ne pas réessayer : il cesse de buter en boucle sur une limite qui ne bougera pas d’elle-même. Les erreurs de quota mensuel précisent quand la fenêtre repart. - Le skill ingest-norm évalue le budget avant d’écrire une grosse norme, au lieu d’échouer à mi-parcours et de laisser un document incomplet. - Voir Forfaits et quotas.
0.5.0
PDF sans signets
  • Le pré-pass bascule sur un balayage du corps du document par expressions régulières quand le PDF ne contient aucun signet. Les normes jusque-là inexploitables s’ingèrent correctement.
0.4.0
Ingestion hybride
  • L’ingestion se fait en deux temps : un pré-pass Python déterministe (PyMuPDF) extrait l’arbre, le texte par page et les figures, puis l’agent enrichit avec les résumés, les formules LaTeX et les tableaux. - Environ 10 fois moins de tokens et 5 fois plus rapide que le pipeline entièrement agentique qu’il remplace. - scripts/ingest-prepass.py est livré dans le paquet.
0.3.0
Figure URLs
  • get_figure renvoie désormais aussi une URL publique pour l’image, afin que Claude puisse proposer un affichage en taille réelle en plus de l’image (base64) en ligne. - Le résultat de l’outil inclut une indication d’intégration Markdown afin que les clients prenant en charge les images en ligne puissent afficher la figure directement.
0.2.0
Zero-config onboarding
  • Installation sans clé : claude mcp add stratta -- npx -y @stratta/mcp. Votre clé API vous est demandée à la première utilisation. - Nouvelle commande npx -y @stratta/mcp login pour enregistrer votre clé à l’avance. - La clé est stockée dans ~/.stratta/config.json (accès propriétaire uniquement, mode 0600). Ordre de résolution : variable d’environnement STRATTA_API_KEY, fichier de configuration, ou invite à la première utilisation.
0.1.0
First public release
  • Publication initiale de @stratta/mcp sur npm. - 18 outils : 8 pour la lecture des normes (méthodologie, liste, table des matières, sous-arbre, section, recherche, figure, références croisées) et 10 pour l’ingestion des normes (ingest_*). - Le skill ingest-norm est livré avec le package.

Ce journal suit les versions de @stratta/mcp. Les évolutions de la plateforme (facturation, corpus, traduction) sont sur stratta.ch/changelog ; les quotas et le paiement sont détaillés dans Forfaits.