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

一个 MCP 服务,可帮助 AI Agent 为工作负载选择碳排放量最低的云区域。

同一项 GPU 任务产生的 CO₂ 排放量,可能会因数据中心所用电网不同而相差数倍。Eco Router 将 AWS、Google Cloud 和 Azure 区域映射到它们所用的电网,因此 Agent 可以询问:

“我应该在哪里运行这项训练任务?数据必须保留在欧盟境内,延迟应低于 150 ms。”

并获得按排名排列的候选区域列表及其背后的理由。

碳排放量数据是基于位置的电网平均值。它们描述的是为各个区域供电的电网,而不是云服务提供商购买的可再生能源,因此同一电网中的区域会得到相同的数值。请参阅这些数字代表什么。

状态:早期版本(v0.1)。 欢迎提交修正和反馈,请前往 问题列表。请参阅 路线图。

安装

需要 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
}

为一项需要在两天内完成的 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

数据来源

贡献

特别欢迎修正区域数据。请参阅 CONTRIBUTING.md 了解如何开始。

致谢

Eco Router 最初是一个黑客马拉松项目。感谢最初的团队提供本项目采用的评分设计:Chris (@chrislee021225)、Joli (@L-Joli)、 Bob (@Loic0927)、Irene Tsai (@YunTong09) 和 Steven Su (@stevensu04)。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。