mcpField
E
Eco Router

Eco Router

ローカル
github.com/stevensu04クラウド・インフラ15 週間前に更新

Eco Router について

Eco Routerは、低炭素なAWS、Google Cloud、Azureのリージョン選定に使うMCPサーバーです。電力網の排出量と任意の推定レイテンシで順位付けします。通常は年間平均を使い、Electricity Mapsのトークンがあればライブデータも利用できます。

主な機能

  1. 01電力網の炭素強度でリージョンを順位付け
  2. 02炭素排出量と推定レイテンシの調整
  3. 03プロバイダー、国、条件での絞り込み
  4. 04低炭素なジョブ開始時間の検索
  5. 05リージョンと対応する電力網ゾーンの一覧
  6. 06年間平均と任意のライブデータ

活用シーン

  1. 01クラウドワークロードのリージョン選定
  2. 02国やレイテンシの条件内での配置
  3. 03柔軟なバッチジョブを低炭素時間帯に実行

MCP 対応

MCPサーバーは、リージョンの順位付け、予測に基づく低炭素な開始時間の検索、リージョンと対応する電力網ゾーンの一覧を行うツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"stevensu04-eco-router": {
"command": "npx",
"args": [
"-y",
"eco-router-mcp"
],
"env": {
"ELECTRICITY_MAPS_API_TOKEN": "<ELECTRICITY_MAPS_API_TOKEN>"
}
}
}
}
起動コマンドnpx -y eco-router-mcp
設定が必要な環境変数
ELECTRICITY_MAPS_API_TOKENシークレットOptional Electricity Maps API token for live grid data. Without it, annual averages are used.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmeco-router-mcp0.1.1

ツール

3

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
countrystringいいえこの国(ISO 3166-1 alpha-2、例:"DE")またはグループ(EU、EEA)のリージョンのみを返します。デフォルト:すべて。
providerenumいいえこのクラウドプロバイダーのリージョンのみを返します:"aws"、"gcp"(Google Cloud)、または "azure"。デフォルト:すべて。aws | gcp | azure

詳細

Eco Router MCP

AI エージェントがワークロードに最も低炭素なクラウドリージョンを選べるようにする MCP サーバーです。

同じ GPU ジョブでも、データセンターに電力を供給する電力網によって、CO₂排出量は数倍変わることがあります。Eco Router は AWS、Google Cloud、Azure のリージョンを、それぞれが接続する電力網に対応付けるため、エージェントは次のように尋ねられます。

「このトレーニングジョブはどこで実行すればよいですか? データは EU 内に留め、レイテンシは 150 ms 未満にする必要があります。」

すると、順位付けされた候補リストと、その根拠が返されます。

炭素排出量の数値は、所在地に基づく電力網の平均値です。各リージョンに電力を供給する電力網を示すものであり、プロバイダーが購入する再生可能エネルギーを示すものではありません。そのため、同じ電力網に属するリージョンには同じ値が適用されます。数値が示す内容をご覧ください。

ステータス:早期リリース(v0.1)。 修正やフィードバックを歓迎します。 issuesからお寄せください。 ロードマップをご覧ください。

インストール

Node.js 22 以降が必要です。

Claude Code

claude mcp add eco-router -- npx -y eco-router-mcp

Claude Desktop(claude_desktop_config.json)

{
  "mcpServers": {
    "eco-router": {
      "command": "npx",
      "args": ["-y", "eco-router-mcp"],
      "env": { "ELECTRICITY_MAPS_API_TOKEN": "optional" }
    }
  }
}
ライブ電力網データ(任意)

初期設定では、Eco Router は年間平均値(米国では電力網ごと、カナダでは州ごと、それ以外では国ごと)を使用するため、セットアップなしで利用できます。時間単位の電力網レベルのデータを使うには、ELECTRICITY_MAPS_API_TOKEN にご自身の Electricity Maps API トークンを設定してください。ご利用のプランでカバーされていないゾーンは、自動的に年間平均値にフォールバックします。

ライブデータの利用には、ご自身の Electricity Maps プランとその利用規約が適用されます。執筆時点では、Electricity Maps は学術目的および個人の非商用利用向けに無料アクセスを提供しており、商用評価向けには 14 日間のトライアルを提供しています。商用利用には有料ライセンスが必要です。Eco Router はトークンを提供したり共有したりしません。

ツール

ツール内容
rank_regions電力網の炭素強度でリージョンを順位付けします。任意で、origin からの推定レイテンシとのバランスを取ることもできます。providers、countries、maxLatencyMs、maxCarbonIntensity、carbonWeight、energyKwh、limit に対応しています。
find_clean_window柔軟なバッチジョブ向けに、各電力網ゾーンで今後 72 時間のうち、予測炭素強度が最も低くなる開始時刻と、今すぐ開始する場合と比べた削減量を見つけます。予測データへのアクセスが可能な ELECTRICITY_MAPS_API_TOKEN が必要です。
list_regionsクラウドリージョンと、各リージョンが電力を得ている電力網ゾーンを一覧表示します。provider(aws、gcp、azure)または country で絞り込めます。

countries には ISO 3166-1 alpha-2 コードと、グループ EU および EEA を指定できます。

rank_regions のリクエスト例:

{
  "countries": ["EU"],
  "origin": { "lat": 50.11, "lon": 8.68 },
  "maxLatencyMs": 40,
  "energyKwh": 500
}

2 日以内に完了する必要がある 6 時間のジョブについて、find_clean_window を呼び出すリクエスト例:

{
  "countries": ["DE", "FR", "SE"],
  "durationHours": 6,
  "withinHours": 48,
  "energyKwh": 500,
  "timezone": "Australia/Brisbane"
}

スコアリング、データソース、およびその制限については、 docs/methodology.mdで説明しています。

リージョンと電力網の対応付け、および前提に基づく対応付けについては、 docs/regions.mdに記載しています。

ロードマップ

  • stdio 経由の MCP サーバーの骨格
  • AWS、Google Cloud、Azure の全リージョンデータと出典
  • 炭素データ:デフォルトでは公開済みの年間平均値を使用し、任意の Electricity Maps API トークンでライブデータを利用
  • rank_regions:許可する国や炭素排出量の上限などの厳格な制限を指定し、炭素強度と推定レイテンシでリージョンを順位付け
  • トークンなしで利用できる米国の電力網レベルの年間データ(EPA eGRID)
  • トークンなしで利用できるカナダの州別年間データ(国家インベントリ報告書)
  • オーストラリアの電力網レベルの年間データ
  • 時間シフト:炭素排出量予測を用いて実行時刻を提案
  • npm および MCP Registry で公開

開発

npm install
npm test           # unit tests, no network needed
npm run typecheck
npm run build      # compiles to dist/
npm run dev        # runs the server over stdio from source
npm run update:baseline  # refreshes national averages from Ember
npm run update:egrid     # refreshes US grid averages from EPA eGRID
npm run update:canada    # refreshes Canadian provincial averages

データソース

  • 年間炭素強度:Ember, Yearly Electricity Data。 CC BY 4.0 のライセンスに基づいています。
  • 米国の電力網の発電構成:US EPA eGRID(パブリックドメイン)。 Ember の米国向け係数を使用して、ライフサイクル排出量に換算しています。
  • カナダの州別発電構成:Environment and Climate Change Canada の National Inventory Report, Annex 7。 Ember のカナダ向け係数を使用して、ライフサイクル排出量に換算しています。 Open Government Licence – Canada に基づいてライセンスされた情報が含まれています。
  • リアルタイムの炭素強度(オプション):出典:ElectricityMaps.com。 ご自身の API トークンを使用し、ご利用プランの規約が適用されます。
  • リージョン一覧:AWS、Google Cloud、Azure の公式ドキュメント。詳しくは docs/regions.md をご覧ください。

コントリビューション

リージョンデータの修正を特に歓迎します。始めるには CONTRIBUTING.md をご覧ください。

クレジット

Eco Router はハッカソンプロジェクトとして始まりました。このプロジェクトの基盤となったスコアリング設計を考案した元チームに感謝します:Chris (@chrislee021225)、Joli (@L-Joli)、 Bob (@Loic0927)、Irene Tsai (@YunTong09) および Steven Su (@stevensu04)。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。