このプロジェクトについて
TianGong-LCA-MCPは、TianGongのライフサイクルアセスメント(LCA)機能をMCP互換のAIホストに公開するModel Context Protocol(MCP)サーバーです。STDIO(ローカルクライアント統合用)とStreamable HTTP(リモート操作用)の2つのトランスポートをサポートしています。
設定は`.env.example`からコピーした環境変数を使用して行い、Supabaseの発行者、公開可能キー、許可された公開OAuthクライアントID、許可されたブラウザオリジンを対象としています。READMEには、OAuth認証にはRedis、機密クライアントシークレット、サーバー側セッション暗号化キーは不要であると記載されています。GLADデータセット検索ツールには、追加のGLAD APIキーとベースURL(デフォルトは公開のGlobal LCA Data Accessエンドポイント)が必要です。
リモートのStreamable HTTPは、OAuth 2.1で保護されたリソースとして説明されています。互換性のあるMCPホストは保護リソースのメタデータを検出し、Supabase Auth認可サーバーに従ってユーザーのブラウザを開き、S256 PKCEを使用したAuthorization Codeフローを完了します。認証情報はAIホストやMCPホストではなくブラウザに入力されます。Supabaseは公開MCPクライアントにアクセストークンとローテーション式リフレッシュトークンを発行します。クライアントはリフレッシュトークンをローカルに保存し、各リクエストで短命のES256アクセスJWTを送信します。サーバーは署名、発行者、オーディエンス、有効期限、ロール/セッション、正確なクライアントIDを検証し、Edge/PostgRESTがコンテキストを再検証して行レベルセキュリティを適用します。動的クライアント登録は無効化されており、運用者はSupabaseで正確な公開クライアントとループバックコールバックを登録し、そのUUIDを許可リスト変数にリストします。MCPオリジン自体は、認可、トークン、リフレッシュ、失効、コールバック、登録、デモの各エンドポイントを公開しません。
インストールと起動のオプションには、dotenv-cliを介してSTDIOサーバーとして実行されるグローバルpnpmパッケージ(`@tiangong-lca/mcp-server`)、またはenvファイルを指定してポート9278で公開されるローカルビルドのDockerイメージが含まれます。ローカルテストではpnpmスクリプトを使用します:`pnpm start`(MCP Inspector経由のSTDIOサーバー)、`pnpm start:server`(Streamable HTTPサーバー)、`pnpm start:server-local`(ローカルHTTPバリアント)。HTTP起動コマンドは、クロスプラットフォームのNode argvラッパーを介してMCP Inspectorを起動します。
READMEには固定されたツールチェーン(Node 24.19.0、pnpm 11.24.0、TypeScript 7.0.2)が記載されており、公開済みのプレビルドイメージタグが検証されていないため、Dockerの例はローカルビルドを説明していると注記されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.