À propos du projet
TianGong-LCA-MCP est un serveur Model Context Protocol (MCP) qui expose les capacités d'analyse du cycle de vie (ACV) de TianGong aux hôtes IA compatibles MCP. Il prend en charge deux transports : STDIO pour l'intégration de clients locaux et HTTP streamable pour une utilisation à distance.
La configuration s'effectue via des variables d'environnement copiées depuis `.env.example`, couvrant l'émetteur Supabase, la clé publiable, les identifiants de clients OAuth publics admis et les origines de navigateur autorisées. Le README indique que l'authentification OAuth ne nécessite ni Redis, ni secret de client confidentiel, ni clé de chiffrement de session côté serveur. Les outils de recherche dans le jeu de données GLAD nécessitent une clé API GLAD supplémentaire et une URL de base (par défaut, le point de terminaison public Global LCA Data Access).
Le HTTP streamable à distance est décrit comme une ressource protégée par OAuth 2.1. Un hôte MCP compatible découvre les métadonnées de la ressource protégée, suit le serveur d'autorisation Supabase Auth, ouvre le navigateur de l'utilisateur et exécute le flux de code d'autorisation avec PKCE S256. Les identifiants sont saisis dans le navigateur plutôt que dans l'hôte IA ou MCP. Supabase émet des jetons d'accès et des jetons d'actualisation rotatifs au client MCP public ; le client stocke le jeton d'actualisation localement et envoie un JWT d'accès ES256 de courte durée avec chaque requête. Le serveur vérifie la signature, l'émetteur, l'audience, l'expiration, le rôle/session et l'identifiant client exact, Edge/PostgREST revérifiant le contexte et appliquant la sécurité au niveau des lignes. L'enregistrement dynamique de clients est désactivé ; les opérateurs enregistrent des clients publics exacts et des callbacks de boucle locale dans Supabase et listent leurs UUID dans une variable de liste d'autorisation. L'origine MCP elle-même n'expose aucun point de terminaison d'autorisation, de jeton, d'actualisation, de révocation, de rappel, d'enregistrement ou de démonstration.
Les options d'installation et de démarrage incluent un package pnpm global (`@tiangong-lca/mcp-server`) exécuté comme serveur STDIO via dotenv-cli, ou une image Docker construite localement publiée sur le port 9278 avec un fichier d'environnement. Les tests locaux utilisent des scripts pnpm : `pnpm start` pour le serveur STDIO via MCP Inspector, `pnpm start:server` pour le serveur HTTP streamable, et `pnpm start:server-local` pour une variante HTTP locale. Les commandes de démarrage HTTP lancent MCP Inspector via un wrapper Node argv multiplateforme.
Le README documente une chaîne d'outils épinglée (Node 24.19.0, pnpm 11.24.0, TypeScript 7.0.2) et note que les exemples Docker décrivent une construction locale car aucun tag d'image préconstruite publique n'est vérifié.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.