Rechercher dans la documentation

Rechercher dans la documentation

Architecture

Comment la plateforme Stratta et le connecteur MCP s'articulent ensemble.

Stratta comporte deux parties : la plateforme sur stratta.ch (comptes, clés, organisations) et le serveur MCP @stratta/mcp (le connecteur que vous installez dans Claude). Cette page montre comment ils s'articulent, utile si vous intégrez Stratta ou simplement par curiosité.

Vue d'ensemble

flowchart LR
    A[Claude / Claude Code] -->|MCP tools over stdio| B["@stratta/mcp<br/>(thin client)"]
    B -->|API key auth| C[Stratta backend]
    C --> D[(TreeRAG store:<br/>documents, sections,<br/>figures, formulas,<br/>tables, cross-refs)]
    E[stratta.ch web app] --> C
    F[You] -->|sign up, API keys,<br/>organization| E

Le serveur MCP est un client léger

@stratta/mcp est volontairement minimal. Il :

  • Parle le Model Context Protocol en stdio à votre client Claude.
  • Authentifie chaque requête avec votre clé API.
  • Transmet les appels au backend Stratta et en renvoie les résultats.

Toutes les données et la logique (les normes, le scoping par organisation, la structure des citations) vivent sur le backend. Le package ne contient aucun contenu de norme, raison pour laquelle les mises à jour se résument à npx -y @stratta/mcp récupérant la dernière version.

Le backend

Le backend stocke chaque norme sous forme de structure TreeRAG : un arbre de sections sous un document, avec des figures, formulas, tables et crossRefs attachés. Les outils de lecture interrogent cet arbre ; les outils d'ingestion y écrivent. Chaque enregistrement porte un organizationId afin que les requêtes soient scopées à votre espace de travail.

CoucheTechnologie
Connecteur MCP@stratta/mcp (TypeScript, MCP SDK, transport stdio)
Plateforme webTanStack Start (SSR) sur Vercel
Backend et stockageConvex (base de données, fonctions serveur, stockage de fichiers)
AuthentificationBetter Auth + accès API par clé
EmailResend

Deux transports, une seule autorité

Stratta se joint de deux façons, et elles ne diffèrent que par la preuve d'identité :

Connecteur distantServeur local
Adressehttps://stratta.ch/mcp@stratta/mcp sur npm
TransportStreamable HTTPstdio
Preuvejeton OAuth 2.1, une heure, renouveléclé API, jusqu'à révocation

Le reste est commun : les mêmes requêtes scopées par organisation, le même compteur mensuel, le même corpus. L'organisation n'est jamais un paramètre venu du client : elle est dérivée du justificatif, côté serveur, et relue à chaque appel pour qu'un accès meure avec l'appartenance et non avec le jeton.

L'ingestion passe par les deux. La pré-passe lit toujours le PDF sur une machine : un agent qui en a une (Claude Code, Codex, Cursor, Gemini CLI) ingère par le connecteur en téléchargeant le script. Seul add_attachment, qui dépose un fichier de votre disque dans un dossier, exige le serveur local.

Voir Connecter un agent par le navigateur, Sécurité et l'aperçu MCP.

Pour aller plus loin