Guide pratique des interfaces REST et MCP de GenOS, établi à partir des contrats source. Le serveur GenOS applique l’authentification, le scope tenant et les permissions d’outil.
Chemin d’une requêteclient → authentification → scope tenant → permissions et politiques → transport MCP → résultat structuré
01 / SECURITY
Authentification et scope
Envoyez un jeton d’accès GenOS dans Authorization: Bearer. L’exécution MCP exige mcp:execute_safe et un scope explicite comprenant une organisation et un projet. Envoyez les deux en-têtes tenant; les identifiants doivent correspondre et le principal authentifié doit y être autorisé.
GenOS vérifie les origines navigateur à partir de sa liste par défaut et de GENOS_ALLOWED_ORIGINS. Ajoutez l’origine exacte du site public à ce paramètre avant une connexion depuis un navigateur. Ne faites pas transiter un jeton partagé par le serveur web public.
GENOS_ALLOWED_ORIGINS=https://genos.work
03 / MCP EXECUTION
Exécuter un outil MCP
L’enveloppe HTTP accepte toolName ou tool_name et timeoutMs ou timeout_ms. Les arguments de l’outil doivent respecter son schéma JSON; leurs noms canoniques sont en snake_case. L’exemple lance une orchestration locale supervisée et attend son résultat.
Ces routes de lecture et d’exécution contrôlée servent à lister les outils, obtenir leurs schémas d’arguments ou les essayer via le transport MCP configuré. Un appel de test réussi peut exécuter le véritable outil aval.
RoutePermissionRôle / comportement
GET /api/toolsread
Liste les outils visibles.
GET /api/tools/:name/schemaread
Retourne le schéma d’entrée courant.
POST /api/tools/testmcp:execute_safe + scope tenant
Teste via le transport MCP configuré.
POST /api/tools/dry-runmcp:execute_safe
Simule l’outil dans l’état VFS fourni; ce n’est pas un appel d’exécution.
POST /api/mcp/executemcp:execute_safe + scope tenant
Exécute l’outil si le registre et les politiques l’autorisent.
05 / TOOL CONTRACT
Arguments de genos_orchestrate
Ce schéma dépend de la version; récupérez le schéma courant avant d’utiliser des champs facultatifs. Le petit exemple fixe l’exécuteur local et l’exécution au premier plan.
Les arguments MCP utilisent snake_case. L’enveloppe REST accepte temporairement camelCase pour ses deux champs seulement. N’envoyez pas deux alias avec des valeurs contradictoires. La version MCP est genos.mcp/v1.
Vérifiez le statut HTTP et le corps propre à l’outil. REST n’emploie pas une enveloppe de succès unique. Une erreur peut contenir error.code, error.message, requestId, traceId et details.
Le service HTTP expose des sondes de santé légères. gRPC et la CLI Rust ont leurs propres contrats, distincts de REST et MCP; consultez la documentation source et les fichiers proto.
GET /healthz
GET /readyz
GET /livez
gRPC: 127.0.0.1:50051
MCP protocol: genos.mcp/v1
09 / GENOSWORK KNOWLEDGE API
Découverte machine-readable
Ces routes appartiennent au site GenOSWork, pas au runtime GenOS. Elles publient des connaissances en lecture seule, sans identifiant. OpenAPI décrit leurs réponses; llms.txt donne une carte des contenus.