GreenPick について
GreenPickは、設計段階でクラウドインフラを選ぶ開発者向けのMCPサーバーです。地域ごとの炭素排出量、コスト、レイテンシを比較し、実行時期やサイズ、配置を提案します。数値は監査済みの会計値ではなく、方向性を示す推定です。
主な機能
- 01地域間の排出量・コスト・レイテンシ比較
- 02電力の炭素強度に応じたジョブ実行
- 03トレーニングと推論の排出量推定
- 04インスタンス選定とサイズ調整
- 05転送料金とデータ居住性の確認
- 06米国・EUのリアルタイム電力データ
活用シーン
- 01デプロイ前のクラウド地域比較
- 02電力がクリーンな時間帯へのバッチ実行
- 03GPUトレーニングやLLM推論の排出量推定
- 04転送料金が削減効果を相殺するかの確認
MCP 対応
GreenPickはstdio経由で15種類のツールをMCPサーバーとして提供します。MCPクライアントから地域比較、スケジューリング、ワークロード推定、効率チェック、手法の説明を利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx greenpickGREENPICK_CARBON_SOURCECarbon data source: 'auto' (US->EIA, EU->ENTSO-E, Canada->Hydro-Québec/IESO live), 'mock' (offline: typical monthly values from a year of real data), 'eia', 'entsoe', or 'electricitymaps'. Defaults to offline.EIA_API_KEYシークレットFree US EIA-930 grid data API key (optional; enables live US carbon).ENTSOE_TOKENシークレットFree EU ENTSO-E grid data token (optional; enables live EU carbon + day-ahead forecast).ELECTRICITYMAPS_TOKENシークレットElectricity Maps API token (optional; used when GREENPICK_CARBON_SOURCE=electricitymaps).GREENPICK_CACHE_TTL_SECONDSCache lifetime for fetched grid data, in seconds.GREENPICK_LOG_LEVELLogging level (DEBUG, INFO, WARNING, ERROR).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
15掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| vcpu | number | はい | |
| ram_gb | number | はい | |
| regions | any | いいえ | |
| user_lat | number | はい | |
| user_lon | number | はい | |
| providers | any | いいえ | |
| optimize_for | string | いいえ | |
| baseline_region | any | いいえ | |
| max_added_latency_ms | any | いいえ | |
| est_monthly_egress_gb | number | いいえ |
詳細
GreenPick
デプロイする前に、より環境にやさしく、低コストなクラウドインフラストラクチャを記述しましょう。
vibe-coding環境(Cursor / Claude Code / Kiro)内でMCPサーバーとして動作する、設計時のサステナビリティ支援ツールです。デプロイ先、ジョブを実行するタイミング、適切なリソースサイズを尋ねると、エディター内で数秒のうちに、炭素排出量+コスト+レイテンシのトレードオフを率直に回答します。(質問に応じて回答します。インフラコードの変更を自動で検知して提案する機能は今後のロードマップに含まれています。)
ステータス:稼働中 — 15個のツール。 米国(EIA-930)とEU(ENTSO-E)のリアルタイム炭素データ、クラウド間のコスト比較(Vantageによる更新)、軸ごとのR/Y/G評価、カーボンアウェア・スケジューリングと前日予測、GPUトレーニングとLLM推論の炭素排出量、適正サイズの提案、サービングパターンとデータのローカリティ/レジデンシーのチェックをすべて提供しています。オフライン時やAPIキーがない場合は、明示的にラベル付けされたモックデータにフォールバックします。
同じ40 GPU時間のトレーニング実行でも、ストックホルムでは約0.7 kg CO₂、シドニーでは約19 kgを排出します。リージョンの選択だけで約30倍の差が生じます。GreenPickに尋ねれば、エディターを離れることなく、コミット前にコストとレイテンシのトレードオフとともに、その差を確認できます。
▶ 5分間のデモを見る — 実際のツール出力を使った3つのシナリオ(トレーニングの配置、エグレスによる逆効果、予測)。
機能
- 🧮 コストと炭素排出量を同時に削減する適正サイズの提案 — 炭素排出量も考慮したFinOpsの成果です。実行する理由はコスト削減であり、炭素排出量の削減は追加費用なしで実現できます。
- ⏱ カーボンアウェア・スケジューリング — 延期可能なジョブ(ETL、バッチ、トレーニング)を、現在または前日の予測に基づいて、電力網が最もクリーンなタイミングで実行します。繰り返し実行されるすべてのジョブで検討できる判断です。
- ⚡ GPUトレーニングとLLM推論の炭素排出量 — 実行時の排出量と、より環境にやさしい実行場所・タイミングを推定します。数値を実際に左右する規模と配置の選択です。
- 🌍 より環境にやさしいリージョンの選定 — 炭素排出量に基づいて順位付けし、コストとレイテンシのトレードオフも隠さず表示します。
- 🛡 逆効果を防ぐガード機能 — エグレスによって環境負荷の低い選択肢が不利になる場合や、データレジデンシーの要件に抵触する場合に警告します。
- 🔌 米国とEUのリアルタイム電力網データと、率直なモックデータへのフォールバック — APIキーなしですぐに始められます。
目次
このツールが必要な理由
同じWebサービスでも、実行するリージョンによってCO₂排出量は大きく異なります。電力網の炭素強度が異なるためです。既存のツールは、抽象的な指標でリージョンを順位付けするか、デプロイ後に炭素排出量を測定するものがほとんどです。GreenPickは選択するその時点で測定し、より環境にやさしい選択肢がレイテンシとコストにどう影響するのかを示します。情報を理解したうえで、採用するかどうかを判断できます。
これは何か/何ではないか
- これは何か: 開発者が構築中にクラウドリージョンを選ぶ際の、より環境負荷の少ない選択肢を示す指針です。トレードオフも明示します。
- これは何ではないか: 監査済みの炭素会計、ESG/Scope 2 報告、リアルタイムスケジューラーではありません。GreenPick は、GHG Protocol や ISO への準拠を主張しません。そうしたサービスを提供するのは、有料データベンダー(Electricity Maps、WattTime)です。GreenPick は意思決定のためのものであり、情報開示のためのものではありません。
既存のサービスとの違い
- 測定ツール(Cloud Carbon Footprint、CodeCarbon、Kepler)は、デプロイ後に、すでに排出した量を報告します。GreenPick は、その前の選択時にアドバイスします。
- クラウドプロバイダー独自のツール(AWS CCFT、Azure、Google の「Low CO₂」リージョンラベル)は、単一のクラウドを対象とし、炭素排出量だけを示します。GreenPick はクロスクラウドに対応し、炭素排出量をコストやレイテンシと照らし合わせて評価するため、環境に優しいことを示すバッジだけでなく、トレードオフも確認できます。
- CI/CD 向け炭素排出量ツールは、マージ時にパイプラインジョブに対して動作します。GreenPick はそれより早い段階、エディター上で、より幅広い判断(スケジューリング、適正なリソースサイズの選択、トレーニング/推論、エグレスとデータ所在地)を支援します。
- 電力網データ用 SDK(Electricity Maps、WattTime、GSF Carbon Aware SDK)は構成要素です。GreenPick は、そうしたデータを基盤とする意思決定レイヤーです。
クロスクラウド対応、炭素排出量+コスト+レイテンシ、設計時にエディター上で利用可能、そして逆効果を防ぐチェック機能の組み合わせが、ほかにはない点です。
対象範囲
- プロバイダー:AWS、GCP、Azure のリージョン。
- ワークロード:長時間稼働するウェブ/API サービス、GPU トレーニングの実行、延期可能なジョブ(ETL/バッチ処理/バックアップ)。それぞれについて、配置と実行時刻を扱います。
- 炭素排出量=リージョンごとの電力網の炭素強度(目安となる時点ごとの値。米国+EU のライブデータ)と、先を見越したスケジューリングに使う翌日予測(EU)。
- コスト=コンピューティング+エグレスの概算(決定論的な静的テーブルを使用し、クラウド間で同じ条件で比較可能。LLM が生成する値は使用しません)。
- レイテンシ=指定されたユーザー所在地までの地理的な推定値。
- 効率化の手段:より環境負荷の低いインスタンスファミリー(ワットあたり性能)、適正なリソースサイズの選択(コストと炭素排出量を合わせて評価)、アプリを継続的に追跡するための炭素指標の基盤。
- ガードレール:データローカリティ/エグレスによる逆効果のチェックと、管轄区域をまたぐデータ保管の警告。
- 無料データのみ。 フロー追跡による消費量の会計には対応しません。炭素予測は絶対値ではなく相対値です。
ロードマップ:データ形式/エンジンの効率化に関するアドバイス、国内のより細かな電力網ゾーン、CI/CD との統合。
docs/user-questions-backlog.md を参照してください。
MCP ツール
15 個のツールを、目的別に分類しています。
リージョンを選ぶ
| ツール | 説明 |
|---|---|
compare_regions_tri_axis | 炭素排出量を基準に候補リージョンを順位付けし、コストとレイテンシのトレードオフも示します。おすすめのリージョンを提案し、各指標を R/Y/G で評価します。regions を指定すると、実際に検討するリージョンだけを順位付けできます。 |
greener_alternative_to | 「X を選びました。レイテンシの増加が +N ms 以内で、最も環境負荷の低いリージョンは Y です(炭素排出量 −Z%、コスト Δ)。」中心となる提案です。 |
region_carbon_now | リージョンの現在の gCO₂/kWh と、データソース、タイムスタンプ、鮮度を表示します。 |
ジョブの実行時刻を決める(スケジューリング)
| ツール | 説明 |
|---|---|
cleanest_hours_to_run | 延期可能なジョブ(ETL、バックアップ、トレーニング)の実行に適した、直近の時間帯を示し、削減率も表示します。実行時間がわかっているジョブでは window_hours を指定すると、開始時刻として最適な連続時間帯を示します。 |
cleanest_time_of_day | 定期実行ジョブ(夜間バッチ)向けに、直近数日間の平均に基づき、そのリージョンで電力網が最もクリーンになる時間帯を示します。7 日間の週単位ではなく、日ごとのパターンです。 |
carbon_forecast | 先を見越した予測です。EU の翌日風力・太陽光発電予測(ENTSO-E)を使い、今後の時間帯のうち、電力網が最もクリーンになる時間帯を示します。相対的な順位付けです。米国や対象外のゾーンでは、直近の過去のパターンに基づく値になります。 |
ワークロードの炭素排出量を推定する
| ツール | 機能 |
|---|---|
estimate_workload_carbon | 指定したリージョンでのワークロードの月間kgCO₂を概算します(実測値ではなく、推定値です)。 |
estimate_training_carbon | GPUトレーニング実行の炭素排出量を推定します(TDPベースのエネルギー量 × リアルタイムの電力網)。より環境に優しい場所(リージョンランキング)と時間(最もクリーンな時間帯)を提案します。ポータブルで延期可能なトレーニングでは、この2つの施策を組み合わせることで効果が高まります。 |
estimate_inference_carbon | LLMの推論ワークロードのエネルギー量とCO₂排出量を、モデルサイズのクラス × 出力トークン数 × リクエスト数(× リアルタイムの電力網)で推定します。低〜高の幅で示します。最も大きな効果があるのは、より小さなサイズクラスを選ぶことです。セルフホストに適しており、特定モデルのランキングではありません。 |
効率化とガードレール
| ツール | 機能 |
|---|---|
greener_instance_family | 同じリージョンで同サイズの、より環境に優しいインスタンスファミリーを、ワットあたりの性能に基づいて提案します(新しい世代やARM Gravitonクラスなら、消費エネルギーを抑えて同じ処理を実行できます)。 |
rightsizing_check | FinOpsで最も効果の高いライトサイジングを、炭素排出量の観点でも確認します。過剰にプロビジョニングされている場合、小さいサイズにすることでコストと炭素排出量の両方を削減できます。適正サイズの候補と、月間のコストおよびkg CO₂の削減量を提示します。 |
data_locality_egress_check | データの保存場所から離れた場所でコンピューティングを実行すると逆効果になる場合に警告します。送信データ転送料金と転送時の炭素排出量の概算を示し、より環境に優しいリージョンへの移行が全体として有益かどうかを判定します。 |
serving_pattern_advice | ユーザー向けプラットフォームを単一リージョンと複数リージョンのどちらで提供すべきかを提案します。トラフィックで重み付けしたレイテンシと炭素排出量に加え、複数リージョン間のデータ同期による転送料金や、管轄区域をまたぐデータレジデンシーの問題も確認します。 |
計測と把握
| ツール | 機能 |
|---|---|
carbon_metric_scaffold | アプリが時間の経過に伴う自身の推定炭素排出量を報告できるよう、貼り付けて使える計測コード(Python)を生成します。観測可能な代理指標 × GreenPickの電力モデル × リアルタイムの電力網を使用します。セルフトラッキング用の概算値であり、実行時メーターではありません。 |
explain_methodology_and_limits | 前提条件と、GreenPickが明示的に主張しない内容を説明します。 |
データソース(無料。1つのインターフェースの背後で切り替え可能)
- EIA-930(米国のバランシング機関)とENTSO-E(EUのゾーン)— リアルタイムの電力網の炭素排出量を、リージョンに応じて自動的に振り分けます。どちらも、直近の時間別履歴から
cleanest_hours_to_runを算出します。 - Mock — 決定論的なオフライン時のデフォルトです。
quality: "mock"と明確にラベル付けされるため、実測値と誤認されることはありません。キーがない場合や対象リージョンがカバーされていない場合に使用します。 - コスト:日付付きの静的な料金テーブル(
data/pricing.json)です。3つすべてのクラウドで同じ照合方法を使い、Vantageの最新料金からscripts/refresh_pricing.pyで更新します。 - インスタンスファミリーの効率:ワットあたりの性能を示す方向性の指標(
data/instance_families.json)です。 - レイテンシ:リージョンの座標とユーザーの所在地との大圏距離です。
リアルタイムの炭素排出量を取得するには、.envにEIA_API_KEYとENTSOE_TOKENを設定してください(どちらも無料です)。GREENPICK_CARBON_SOURCEでソースを選択します(autoは米国ならEIA、EUならENTSO-E、それ以外ならmockに振り分けます)。
データレイヤーは切り替え可能なリポジトリです(デフォルトはMOCKで、オフラインでも動作します)。ここでは数値を捏造しません。LLMは根拠を記述し、コードは数値を提供します。
正直な制約事項(ツール自体に含まれています)
概算であり、監査済みの値ではありません。リージョンから電力網ゾーンへのマッピングは近似値です。炭素排出量は特定時点の値であり、電力の流れを追跡した消費量ではありません。コストは概算であり、見積もり金額ではありません。レイテンシは地理に基づく推定値です。「より環境に優しい」という評価では、電力網の炭素強度が支配的だと仮定し、製造時やハードウェアの炭素排出量、プロバイダーのRECは考慮しません。
クイックスタート
# Python 3.11+
pip install greenpick # from PyPI
python -m greenpick # run the MCP server (stdio)
または、開発用にソースから実行します(編集可能なインストールとテスト)。
git clone https://github.com/bithug01/greenpick.git
cd greenpick
pip install -e ".[dev]"
cp .env.example .env # defaults to mock data — works offline
python -m greenpick # run the MCP server (stdio)
pytest # run tests
クライアントからこのディレクトリ内のpython -m greenpickを指定して、MCPクライアント(Kiro / Claude Code / Cursorなど)に接続します。データソースの切り替え方法は.env.exampleを参照してください。
FAQ
API キーは必要ですか? いいえ。GreenPick は、明確にラベル付けされたモックデータで初期状態から動作します。実際の炭素データを使うには、.env に無料のキーを 2 つ設定し(米国用の EIA_API_KEY、EU 用の ENTSOE_TOKEN)、GREENPICK_CARBON_SOURCE=auto を設定してください。キーがなくても動作しますが、quality: "mock" と表示されます。
なぜ監査済みの数値ではなく「方向性」を示すのですか? コンプライアンス報告ではなく、設計時の意思決定に使うためです。「ストックホルムはシドニーより約 30 倍クリーン」という情報があれば、数秒でリージョンを選べます。認証済みの数値が必要な場合は、別の目的に特化した別のツール(Electricity Maps、WattTime)をお使いください。GreenPick は意思決定のためのものであり、情報開示のためのものではありません。各ツールの制限事項にもその旨を記載しています。
クラウドではこのリージョンはすでに再生可能エネルギー 100%と表示されています。それでもリージョンは重要ですか? これはマーケット基準の会計処理です(プロバイダーが 1 年間にわたり、再生可能エネルギー証書や PPA を使用量に割り当てます)。GreenPick が採用するのはロケーション基準の会計処理です。これは、実際に利用している電力網の炭素強度を、時間ごとに測定するものです。どちらも正当な手法であり(GHG Protocol は両方を求めています)、それぞれ異なる問いに答えます。マーケット基準は調達に関する主張を示すのに対し、ロケーション基準はワークロードが現時点で実際に依存している電力網を示します。GreenPick がロケーション基準を採用しているのは、配置やタイミングの判断に実際に影響するのがこちらだからです。プロバイダーの年間 REC ポートフォリオは変えられませんが、よりクリーンな電力網や時間帯を選ぶことはできます。REC を考慮しないのは、見落としではなく意図的な設計です。
リアルタイムデータがないリージョンではどうなりますか? 直近の過去の傾向、またはモックデータにフォールバックし、どちらを使ったかをラベルで示します。フォールバックをリアルタイムの測定値として表示することはありません。同様に、翌日予測のデータフィードがない地域(米国など)では、予測を過去のデータに切り替え、その旨をラベルで示します。
炭素排出量について、Claude と GPT と Llama を順位付けできますか? いいえ。これは意図的な設計です。estimate_inference_carbon は、特定モデルのランキングではなく、モデルのサイズクラス(セルフホストに適した分類)を基準に動作します。ベンダーが、ランキングを正確に作成するために必要なサービングの詳細を公開していないためです。
どうすれば質問できますか? ツールを直接呼び出す必要はありません。MCP クライアントに自然言語で話しかけると(「これを実行するのに最もクリーンなリージョンはどこ?」など)、適切なツールが呼び出されます。各ツールを呼び出す質問の例については、デモをご覧ください。
コントリビュート
バグ報告、データソースの修正、注意事項の改善、コードの提供など、あらゆる貢献を歓迎します。簡単な説明は CONTRIBUTING.md をご覧ください。GreenPick が唯一お願いしているのは、正直で、方向性を示すものにとどめることです。数値を捏造せず、データで裏付けられない精度を示さないでください(この姿勢こそが、プロジェクトの核心です)。
ライセンス
MIT — 詳細は LICENSE をご覧ください。© 2026 Data Science Advisers, LLC.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。