openLCA MCP Server について
openLCA MCP Serverは、AIアシスタントを稼働中のopenLCAに接続し、ライフサイクル評価を支援します。データベースの調査、モデルの作成と監査、対応するデータベース群での影響評価を行えます。
主な機能
- 01データベース、プロセス、フローの検索
- 02LCAモデルの作成と編集
- 03製品システムの監査と検証
- 04影響評価とシナリオ計算
- 05寄与と不確実性の分析
- 06データ品質情報の抽出
活用シーン
- 01LCIデータからEPDモデルを作成
- 02輸送条件やパラメーターのシナリオ比較
- 03影響カテゴリへの主要な寄与プロセスを特定
- 04製品システムのリンクとパラメーターを検証
MCP 対応
stdio経由でMCPクライアントに35個のツールと4つのリソースを公開し、ローカルIPCサーバーを通じてopenLCAに接続します。LCAモデルの調査、変更、監査、計算を支援します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
openLCA MCP Server
AI アシスタントを実行中の openLCA インスタンスに接続する MCP(Model Context Protocol)サーバーです。Claude Desktop を使って開発・テストされています。stdio トランスポートに対応する MCP クライアントであれば、どれでも利用できます。openLCA の英国パートナーである Below280 が開発しました。
データベースの調査、モデルの作成・編集、計算の実行(シナリオ、感度分析、モンテカルロ法、寄与分析)、モデルの監査・検証、データ品質評価の抽出まで、LCA ワークフロー全体をカバーする 35 個のツールを提供します。すべての計算パターンは、本番環境の ecoinvent データベースでテスト済みです。
ecoinvent 系のデータベース(ecoinvent、EN15804GD、HiQLCD、BAFU)と FLCAC 系のデータベース(LCA Commons、US LCI、USEEIO)の両方で動作します。使用しているデータベースの系統を確認するか、フローのプロパティ名から自動検出します。
PyPI と MCP Registry で入手できます。
インストール
クイックセットアップ(PyPI)
pip install b280-olca-mcp
これにより、サーバーと依存関係(mcp、olca-ipc)が一度にインストールされます。python -m b280_olca_mcp を実行すれば、どこからでもサーバーを起動できます。
開発用セットアップ(GitHub)
最新のコードや React ダッシュボードを利用する場合、またはサーバーを変更する場合は、リポジトリをクローンしてください。
git clone https://github.com/Below280/B280-olca-MCP.git
cd B280-olca-MCP
pip install -r requirements.txt
サーバーのエントリーポイントは b280_olca_mcp/server.py です。
できること
この MCP の利用者は、次のようなことを依頼できます。
- 「英国の電力を 34 kWh、水酸化ナトリウムを 5 kg、蒸気を 34 kWh使ったモデルを作成して」
- 「この LCI から EPD モデルを構築して」
- 「シナリオを 2 つ実行して。1 つは輸送距離を 100 km、もう 1 つは 500 km にして」
- 「私のシステムで気候変動への寄与が最も大きいプロセスはどれ?」
- 「電力と PET 樹脂のパラメーターを 10%変化させて」
- 「製品システムを検証して、リンクが正しいか確認して」
- 「モンテカルロ法を 1000 回実行して、不確実性を表示して」
- 「R/Go/Rust から openLCA に接続する方法を教えて」
- 「何ができる?」(ヘルプツール)
AI アシスタントが会話を処理してツール呼び出しを作成し、グラフ、表、エクスポート可能なデータを使って結果を視覚的に提示します。
MCP クライアントを接続する
このサーバーは stdio トランスポートを使用します。ローカルの Python プロセスを起動できる MCP クライアントであれば、どれでも利用できます。
Claude Desktop
Claude Desktop で、Settings > Developer > Edit Config の順に開きます。mcpServers セクションに openLCA エントリを追加してください。
PyPI 経由でインストールした場合:
{
"mcpServers": {
"openLCA": {
"command": "python",
"args": ["-m", "b280_olca_mcp"],
"env": {
"OLCA_PORT": "8080"
}
}
}
}
GitHub からクローンした場合:
{
"mcpServers": {
"openLCA": {
"command": "python",
"args": ["C:/path/to/B280-olca-MCP/b280_olca_mcp/server.py"],
"env": {
"OLCA_PORT": "8080"
}
}
}
}
Windows で Claude Desktop が Python を見つけられない場合は、Python 実行ファイルのフルパスを指定してください。
保存後、Claude Desktop を再起動してください。
Cursor
Settings > Tools & MCP > Add MCP Server の順に開きます。stdio トランスポートを選び、コマンドに python、引数に -m b280_olca_mcp(PyPI)または b280_olca_mcp/server.py のパス(GitHub からのクローン)を指定します。Cursor は再起動しなくても設定の変更を反映します。
VS Code
ワークスペースまたはユーザー設定の .vscode/mcp.json にサーバーを追加します。
{
"servers": {
"openLCA": {
"type": "stdio",
"command": "python",
"args": ["-m", "b280_olca_mcp"],
"env": {
"OLCA_PORT": "8080"
}
}
}
}
注:VS Code ではルートキーに mcpServers ではなく servers を使用します。GitHub Copilot を使用する場合は、Copilot Chat を Agent モードに切り替えてください。
ChatGPT
ChatGPT はローカルの stdio サーバーを直接起動できません。OpenAI が提供する Secure MCP Tunnel は、何も公開することなく、ChatGPT とローカル MCP サーバーを接続します。アーキテクチャは次のとおりです。
ChatGPT → Secure MCP Tunnel → B280 MCP (stdio) → openLCA IPC localhost:8080
トンネルは、お使いのマシン上で B280 サーバー(python -m b280_olca_mcp)を起動します。B280 サーバーに変更を加える必要はなく、終始 stdio のままです。ChatGPT のカスタム MCP サーバーには、追加の search ツールや fetch ツールは必要ありません。
B280 の既存のツールアノテーション(読み取り専用、破壊的、べき等)は、操作を自動承認するか、確認を求めるかを判断する際に ChatGPT によって使用されます。
インストール、設定、トラブルシューティング、セキュリティ上の注意事項を含む詳しいセットアップガイドについては、docs/chatgpt.md をご覧ください。
ChatGPT のサポートは現在、実験段階です。将来的には、ローカルトンネルの実行を希望しないユーザー向けに、リモートの Streamable HTTP トランスポートが追加される可能性があります。
その他の MCP クライアント
stdin/stdout 経由でローカルの Python プロセスを起動するクライアントであれば、どれでも動作するはずです。PyPI の場合:python -m b280_olca_mcp。GitHub からクローンした場合:python path/to/b280_olca_mcp/server.py。
ベータ版ソフトウェアです。 このサーバーは現在も活発に開発されています。本番データベースに接続する前に、データベースのコピーでテストしてください。問題は GitHub または [email protected] までご報告ください。
起動する
- openLCA でデータベースを開きます
- IPC サーバーを起動します(Tools > Developer Tools > IPC Server > 緑色の再生ボタン、ポート 8080)
- MCP クライアントを再起動するか、再接続します
- 「何ができますか?」や「openLCA のデータベースには何がありますか?」のように尋ねます
何かを作成または変更した後、openLCA のツールバーにある「Refresh」ボタンを押すと、GUI に変更が反映されます。
データセキュリティ
MCP サーバーはローカルで実行され、localhost 上で openLCA と通信します。AI クライアント(Claude Desktop など)は、ツールの結果をプロバイダーのサーバーに送信して処理します。そのため、データベース内のプロセス名、交換データ、パラメーター値、影響評価結果が会話に含まれます。
機密性の高いクライアントデータベースを、個人用または無料プランの AI アカウントに接続しないでください。 適切なデータ保持管理が備わったビジネスアカウントまたはエンタープライズアカウントを使用し、機密情報を含むデータベースを接続する前に、プロバイダーのデータ処理条件を確認してください。
ツール
探索(11 ツール)
| ツール | 目的 |
|---|---|
database_info | システム、プロセス、フロー、メソッド、パラメーターの件数を表示します。データベースの系統を自動検出します |
set_database_family | ecoinvent または FLCAC の命名規則を設定します |
list_systems | 製品システムを一覧表示または検索します |
list_methods | 影響評価メソッドを一覧表示または検索します |
search_processes | 名前、場所、カテゴリからプロセスを検索します |
search_flows | 名前やカテゴリーフォルダーからフローを検索します |
process_details | 交換、パラメーター、プロバイダーを含むプロセスの全情報を表示します |
system_parameters | 製品システムのパラメーターを一覧表示します |
global_parameters | データベースレベルのパラメーターを検索します |
find_unit | 単位と、それらに対応するフローのプロパティを検索します |
chemical_synonyms | PubChem の同義語検索を使って、データベース内の一致項目を探します |
構築(8 ツール)
| ツール | 目的 |
|---|---|
create_global_parameter | データベースレベルのパラメーターを値または数式として作成または更新します |
create_flow | 製品フロー、廃棄フロー、または初級フローを作成します |
edit_flow | フローのプロパティを追加または更新するか、参照プロパティを変更します |
create_bridge | 1 回の呼び出しでブリッジフローとプロセスを作成します |
create_process | 交換、パラメーター、プロバイダーを含むプロセスを構築します |
edit_process | 既存のプロセスを編集します。交換やパラメーターを追加、更新、削除できます |
create_system | プロセスから製品システムを作成します |
delete_entity | プロセス、フロー、または製品システムを削除します(ユーザーの確認が必要です。使用中のフローは削除できません) |
監査(6 ツール)
| ツール | 目的 |
|---|---|
extract_model | モデルフォルダーからすべてを取り出して検査します |
audit_model | 構造をチェックします:qref の欠落、量がゼロ、単位の不一致 |
validate_system | openLCA の Validate ボタンと同様に、リンク、パラメーター、テスト計算をチェックします |
get_system_links | 各交換項目にリンクされているプロバイダーを表示します |
data_quality | プロセスからペディグリーマトリックスと不確実性を抽出します |
find_flow_usage | あるフローを使用するプロセスと影響カテゴリを検索します |
計算(9 ツール)
| ツール | 目的 |
|---|---|
calculate | ベースラインの影響評価 |
contribution_analysis | 影響カテゴリごとのプロセスレベルの寄与の内訳 |
upstream_tree | 1 つのカテゴリについて、すべての分岐にペディグリースコアを付けた多階層の寄与ツリー |
monte_carlo | 統計情報を含む不確実性シミュレーション |
inventory_flows | 生の基本フロー結果(LCI レベル) |
scenarios | 対話形式のパラメーター値からシナリオを計算します |
scenarios_csv | CSV ファイルからシナリオを計算します |
sensitivity | パラメーター感度分析 |
sensitivity_csv | CSV ファイルから感度分析を実行します |
メタ(1 ツール)
| ツール | 目的 |
|---|---|
help | ワークフロー別に分類された機能を表示します。トピックによる絞り込みもできます |
ツールのアノテーション
すべてのツールには MCP ツールアノテーション(readOnlyHint、destructiveHint、idempotentHint、openWorldHint)が付与されているため、クライアントは自動承認するか、確認を求めるかを判断できます。Explore と Calculate のツールは読み取り専用です。Build ツールはデータベースを変更することを示します。delete_entity は破壊的な操作としてマークされています。CSV ツールはファイルをディスクに書き込むものとしてマークされています。chemical_synonyms は外部サービス(PubChem)にアクセスするものとしてマークされています。
EPD モデルの構築
このサーバーには、LCI データから EN15804 EPD モデルを構築するためのガイド付きワークフローが含まれています。AI は LCI 項目をライフサイクルモジュール(A1-D)に割り当て、フォルダー構造、ブリッジプロセス、モジュールプロセス、製品システムを作成します。「build an EPD from this LCI」と尋ねると開始できます。
スタンドアロンスクリプト
繰り返し分析を行う場合、このサーバーは AI トークンなしで実行できるスタンドアロンの Python スクリプトを推奨します。シナリオ計算または感度計算の後、openLCA-IPC-tools-python リポジトリの同等のスクリプトを実行するために必要な CSV ファイルの生成を提案します。
関連リポジトリ
| リポジトリ | 説明 |
|---|---|
| openLCA-IPC-tools-python | シナリオ、感度、パラメーター、将来予測 LCA 用のスタンドアロン Python スクリプト |
| openLCA-IPC-tools-r | openLCA IPC 用 R クライアント(openLCA 向け初の R パッケージ) |
| openLCA-IPC-tools-fortran | Fortran IPC クライアントおよびバッチ計算ツール |
概要
Below280 Limited が開発しています。同社は英国の LCA、EPD、CBAM コンサルティング会社であり、openLCA の英国公式パートナーです。このサーバーの計算パターンは、EPD および LCA のコンサルティング業務で使用されている本番スクリプトをもとにしており、ecoinvent 3.10/3.11/3.12、EN15804GD、US Federal LCA Commons(FLCAC)のデータベースを使用してテストされています。
問題については、GitHub Issues または [email protected] までご連絡ください。
ドキュメント
- AI と openLCA の接続(セットアップガイド全文)
- openLCA スクリプティングのナレッジベース
- openLCA マニュアル
ライセンス
MPL-2.0
mcp-name: io.github.Below280/b280-olca-mcp
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。