Eco Router

io.github.stevensu04由 GitHub 账号 stevensu04 发布v0.1.1更新于 Oct 24, 2026

Rank AWS, Google Cloud and Azure regions by grid carbon intensity and latency.

发布方自己的服务:370.ai — AI Gateway: 100+ Chat Models, Image & Speech Generation

概览

AI 生成的概览

按电网碳强度与预估延迟对 AWS、Google Cloud 和 Azure 区域排序,帮助助手为工作负载挑选低碳区域。

可以做什么
  • 按电网碳强度对云区域排序,可选结合来自 origin 的预估延迟,并支持按服务商、国家、延迟上限和碳强度上限筛选
  • 为灵活的批处理任务在接下来 72 小时内寻找碳强度最低的启动时间,并给出相对立即启动的减排量
  • 列出云区域及其各自取电的电网分区,可按服务商或国家筛选
适用场景
适合在决定云工作负载运行地点或时间且关注碳足迹时使用,例如在延迟预算内选择欧盟区域,或把批处理任务安排到电网更清洁的时间窗口。
运行要求
通过 npx 以 stdio 在本地运行,需要 Node.js 22 或更高版本。默认使用年度电网平均值,无需任何配置;小时级电网数据需在 ELECTRICITY_MAPS_API_TOKEN 中提供 Electricity Maps API 令牌,清洁时间窗口工具还需该令牌具备预测访问权限。
安装前请注意
实时数据受你自己的 Electricity Maps 套餐及其条款约束,商业用途可能需要付费许可;本服务器不提供也不共享任何令牌。碳数据为基于位置的电网平均值,不反映服务商购买的可再生能源。目前为 v0.1 早期版本。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Eco Router,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Eco Router MCP

An MCP server that helps AI agents pick the lowest-carbon cloud region for a workload.

The same GPU job can emit several times more CO₂ depending on which grid powers the datacenter. Eco Router maps AWS, Google Cloud and Azure regions to the electricity grids they draw from, so an agent can ask:

"Where should I run this training job? Data must stay in the EU and latency should be under 150 ms."

and get back a ranked shortlist with the reasoning behind it.

Carbon figures are location-based grid averages. They describe the grid that supplies each region, not the renewable energy a provider buys, so regions in the same grid get the same value. See what the numbers represent.

Status: early release (v0.1). Corrections and feedback are welcome in issues. See Roadmap.

Install

Requires Node.js 22 or later.

Claude Code

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

Claude Desktop (claude_desktop_config.json)

json
{  "mcpServers": {    "eco-router": {      "command": "npx",      "args": ["-y", "eco-router-mcp"],      "env": { "ELECTRICITY_MAPS_API_TOKEN": "optional" }    }  }}

Live grid data (optional)

Out of the box, Eco Router uses annual averages (per grid in the US, per province in Canada, per country elsewhere), so it works with no setup. For hourly, grid-level data, set ELECTRICITY_MAPS_API_TOKEN to your own Electricity Maps API token. Zones your plan does not cover fall back to the annual average automatically.

Your use of live data is governed by your own Electricity Maps plan and its terms. At the time of writing, Electricity Maps offers free access for academic and personal non-commercial use, and a 14-day trial for commercial evaluation. Commercial use requires a paid license. Eco Router does not provide or share any token.

Tools

ToolWhat it does
rank_regionsRanks regions by grid carbon intensity, optionally balanced against estimated latency from an origin. Supports providers, countries, maxLatencyMs, maxCarbonIntensity, carbonWeight, energyKwh and limit.
find_clean_windowFor flexible batch jobs, finds the start time in the next 72 hours with the lowest forecast carbon intensity in each grid zone, and the savings compared with starting now. Requires ELECTRICITY_MAPS_API_TOKEN with forecast access.
list_regionsLists cloud regions and the grid zone each one draws power from. Filter by provider (aws, gcp, azure) or country.

countries accepts ISO 3166-1 alpha-2 codes and the groups EU and EEA.

Example request to rank_regions:

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

Example request to find_clean_window for a 6-hour job that must finish within two days:

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

Scoring, data sources and their limits are explained in docs/methodology.md.

How regions are mapped to grids, and which mappings rest on assumptions, is documented in docs/regions.md.

Roadmap

  • MCP server skeleton over stdio
  • Full AWS, Google Cloud and Azure region dataset with sources
  • Carbon data: published annual averages by default, live data with an optional Electricity Maps API token
  • rank_regions: rank regions by carbon intensity and estimated latency, with hard limits such as allowed countries or a carbon ceiling
  • US grid-level annual data without a token (EPA eGRID)
  • Canadian provincial annual data without a token (National Inventory Report)
  • Grid-level annual data for Australia
  • Time shifting: suggest when to run, using carbon forecasts
  • Publish to npm and the MCP Registry

Development

bash
npm installnpm test           # unit tests, no network needednpm run typechecknpm run build      # compiles to dist/npm run dev        # runs the server over stdio from sourcenpm run update:baseline  # refreshes national averages from Embernpm run update:egrid     # refreshes US grid averages from EPA eGRIDnpm run update:canada    # refreshes Canadian provincial averages

Data sources

Contributing

Corrections to region data are especially welcome. See CONTRIBUTING.md to get started.

Credits

Eco Router started as a hackathon project. Thanks to the original team for the scoring design this project builds on: Chris (@chrislee021225), Joli (@L-Joli), Bob (@Loic0927), Irene Tsai (@YunTong09) and Steven Su (@stevensu04).

License

MIT

来源:README.md,提交 7191ccc

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.1.1最新Sep 22, 2026
  2. v0.1.0Sep 17, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Router 集成