mcpField
T
Tidegap

Tidegap

本地服务
tidegap.comAI 与智能体21 天前更新

关于 Tidegap

Tidegap 是一个 MCP 服务,可在截止时间前将非紧急大模型任务安排到电网碳强度预测较低的时段。时间允许时,它可使用服务商的 Batch API,并为每项任务记录签名碳凭证。

主要功能

  1. 01预测电网碳强度
  2. 02推荐截止时间前的执行时段
  3. 03安排并管理排队任务
  4. 04时间允许时使用 Batch API
  5. 05记录每项任务的碳凭证

适用场景

  1. 01将大模型任务延后至电网低碳时段
  2. 02安排工作在截止时间前完成
  3. 03查看、推迟、重试或取消已排任务
  4. 04检查已完成任务的碳凭证

MCP 相关

通过 stdio 向 MCP 客户端提供电网预测、任务安排与管理以及用量查询工具。若截止时间允许,已安排的任务可通过配置的 Anthropic 或 OpenAI Batch API 执行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"tidegap-tidegap": {
"command": "npx",
"args": [
"-y",
"@tidegap/mcp"
],
"env": {
"TIDEGAP_DEFAULT_REGION": "<TIDEGAP_DEFAULT_REGION>",
"TIDEGAP_DB_PATH": "<TIDEGAP_DB_PATH>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"TIDEGAP_EIA_API_KEY": "<TIDEGAP_EIA_API_KEY>",
"TIDEGAP_ENTSOE_SECURITY_TOKEN": "<TIDEGAP_ENTSOE_SECURITY_TOKEN>",
"WATTTIME_USERNAME": "<WATTTIME_USERNAME>",
"WATTTIME_PASSWORD": "<WATTTIME_PASSWORD>",
"TIDEGAP_ELECTRICITY_MAPS_API_KEY": "<TIDEGAP_ELECTRICITY_MAPS_API_KEY>"
}
}
}
}
启动命令npx -y @tidegap/mcp
需要配置的环境变量
TIDEGAP_DEFAULT_REGIONDefault grid region, e.g. GB, US-CAL-CISO, DE
TIDEGAP_DB_PATHSQLite queue path (default ~/.tidegap/queue.db)
ANTHROPIC_API_KEY密钥Dispatch tasks to Anthropic (sync or Batch API)
OPENAI_API_KEY密钥Dispatch tasks to OpenAI (sync or Batch API)
TIDEGAP_EIA_API_KEY密钥US EIA grid data (CAISO, ERCOT, ISO-NE, PJM), free key
TIDEGAP_ENTSOE_SECURITY_TOKEN密钥ENTSO-E grid data (EU regions), free token
WATTTIME_USERNAMEWattTime account (US marginal emissions)
WATTTIME_PASSWORD密钥WattTime account password
TIDEGAP_ELECTRICITY_MAPS_API_KEY密钥Electricity Maps fallback feed

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@tidegap/mcp0.19.0

工具

10

收录的工具列表 · 更新于 2 周前

参数类型必填说明
hoursinteger否预测时长,以小时为单位(1-72)。默认值为 24。
regionstring是Electricity Maps 电网区域代码(例如 'US-CAL-CISO'、'US-TEX-ERCO'、'GB'、'FR'、'DE')。允许省略的主机上,默认使用已配置的区域;未配置时使用基于主机时区的估算值;否则使用 GB。

详细介绍

Tidegap

@tidegap/mcp

在 0.18.0 中从 @ebb-ai/mcp 更名。使用主机配置键 tidegap 和 npx -y @tidegap/mcp;ebb-mcp 可执行文件和 EBB_* 变量已在 0.19 中移除。请参阅更名自 Ebb AI。

MCP 服务,让你的 Agent 能在截止时间前,于电网碳强度最低的时段运行非紧急大模型任务。

将其添加到任意 MCP 主机。当用户说“今晚做这件事”或“明天之前完成”时,Agent 会调用 schedule_task。随后,Tidegap 会在截止时间前电网碳强度最低的时段运行任务;若截止时间允许,还会通过提供商的 Batch API 运行。

  • 12 个 MCP 工具(实测),其中包括 recommend_window、schedule_task、check_queue_status、get_grid_forecast、cancel_task、postpone_task、update_deadline。
  • 实时 72 小时预测。GB 无需密钥;其他地区可使用免费密钥(EIA、ENTSO-E、WattTime、Electricity Maps)。
  • 每项任务都有一份签名碳排放凭证,存储在 ~/.tidegap/queue.db。
npx -y @tidegap/mcp
{ "mcpServers": {
    "tidegap": { "command": "npx", "args": ["-y", "@tidegap/mcp"] }
} }

实测证明:一次真实的 GB 运行,日期为 2026-09-30。预测峰值为 183 gCO2/kWh,推荐时段为 88 gCO2/kWh;仅本次运行的预测值降低约 52 %(预测,估算值)。调度时的凭证:158 gCO2/kWh(实测)。各主机专属配置:https://www.tidegap.com/docs#install

运行

npx -y @tidegap/mcp

该服务通过 stdio 使用 MCP。要将其接入 Agent 客户端:

Claude Desktop

在 macOS 上编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (Linux/Windows 的路径类似):

{
  "mcpServers": {
    "tidegap": {
      "command": "npx",
      "args": ["-y", "@tidegap/mcp"],
      "env": {
        "TIDEGAP_ELECTRICITY_MAPS_API_KEY": "optional - mock data without it",
        "TIDEGAP_DEFAULT_REGION": "US-CAL-CISO"
      }
    }
  }
}

编辑后重启 Claude Desktop。

Claude Code

将 tidegap 添加到 ~/.claude/mcp.json(或工作区的 .claude/mcp.json):

{
  "mcpServers": {
    "tidegap": {
      "command": "npx",
      "args": ["-y", "@tidegap/mcp"]
    }
  }
}
OpenClaw

添加到 ~/.openclaw/mcp.json:

{
  "mcpServers": {
    "tidegap": {
      "command": "npx",
      "args": ["-y", "@tidegap/mcp"]
    }
  }
}

已公开的工具(12 个,实测)

工具用途
get_grid_forecast(region, hours?)查询某个地区逐小时的碳强度;可用于决定是否延后任务。
recommend_window(deadline, region?, ...)规划截止时间内碳强度最低的时段,不会将任务加入队列。
schedule_task(prompt, deadline, model?, region?, carbon_budget_g?, repeat?, origin_session_id?, not_before?)将任务加入队列,在截止时间内碳强度最低的时段运行。返回 task_id 和一行说明任务是否会运行的消息:Runs at <time> local.,或者包含解决方法的就绪状态提示,例如 Tasks will not run: no tick daemon. Run `tidegap install`.。not_before 设置最早开始时间。repeat 默认为 none,deadline_kind: "quota_reset" 时也如此。
check_queue_status(task_id?)查看队列或某个特定任务;任务完成后会包含碳排放凭证。
cancel_task(task_id, series?)取消已排队或已安排的任务;对于重复任务,可跳过该次任务,或使用 series: true 结束整个系列。
reply_task(task_id, text, deadline?)继续已完成的任务:创建一项新任务,包含原对话和这段文本,并使用相同的提供商和模型。
expedite_task(task_id)立即调度已排队或已安排的任务,不受其碳强度时段限制。
postpone_task(task_id, preset? | until? | delay_minutes?, reset_at?)“稍后”:将待处理任务延后,绝不提前。预设值包括 1h、tonight(22:00 至 06:00)、tomorrow_morning(09:00 至 12:00)、after_limit_reset(Claude 限额重置后 5 分钟:使用 reset_at,否则使用此机器的限额读数,再否则使用之前给定的重置时间)。
update_deadline(task_id, deadline)根据新的截止时间重新安排任务。
retry_task(task_id)重新调度失败的任务。
cancel_all(status?)取消所有仍处于排队或已安排状态的任务。
tidegap_usage(include_spend?)只读:查看此机器的 Claude Code 订阅限额及其重置时间,以及来自本地日志的 Codex 限额。include_spend 会补充当前 5 小时窗口的令牌用量和按 API 目录价估算的费用。

环境变量

这些变量用于配置此 MCP 服务(以及读取同一组变量的 tidegap CLI)。它们会在服务自身的入口点读取,并注入 @tidegap/core;该模块不依赖环境变量,也不会自行读取任何环境变量。

OpenClaw 插件用户: @vitalini/tidegap OpenClaw 插件不会读取任何环境变量。请在网关配置的 plugins.entries.tidegap.config 下通过插件配置进行设置——下方“插件配置”列列出了替代各变量的字段。OpenClaw 会解析这些字段中的 "${ENV_VAR}" 简写,因此你可以继续导出相同的变量,让网关代替插件读取它们。

变量插件配置用途
TIDEGAP_ELECTRICITY_MAPS_API_KEYelectricityMapsApiKey来自 electricitymaps.com 的 API 密钥。通用备用方案。如果未设置(且未配置特定区域的数据源),服务会回退到确定性模拟数据,因此你仍可在本地运行完整技术栈。
TIDEGAP_EIA_API_KEYeiaApiKey免费的 US EIA 密钥。为美国 ISO 区域(CAISO / ERCOT / ISO-NE / NYISO / PJM / MISO)启用平均排放强度数据。
TIDEGAP_ENTSOE_SECURITY_TOKENentsoeSecurityToken免费的 ENTSO-E 令牌。为欧盟区域(FR / DE / ES / IT / NL)启用排放强度数据。
WATTTIME_USERNAME + WATTTIME_PASSWORDwattTimeUsername + wattTimePassword免费的 WattTime v3 账户。为美国 ISO 区域启用边际排放(co2_moer)预测——在数据覆盖范围内优先于 EIA;发生任何错误时则回退到 EIA。预测和收据会通过 signalType: "marginal" 标明边际信号。
TIDEGAP_DEFAULT_REGIONdefaultRegion工具调用未指定区域时使用的区域。优先级高于已存储的区域设置;请参阅电网区域。
ANTHROPIC_API_KEYanthropicApiKey启用 anthropic 提供方(支持批处理)。
OPENAI_API_KEYopenaiApiKey启用 openai 提供方(支持批处理)。
GEMINI_API_KEY / GOOGLE_API_KEYgeminiApiKey / googleApiKey启用 gemini 提供方(Generative Language API,仅支持同步调用)。优先使用 GEMINI_API_KEY;GOOGLE_API_KEY 为备用项。
OLLAMA_HOSTollamaHost启用本地 ollama 提供方(仅支持同步调用)。默认值为 http://localhost:11434;无需密钥——设置此变量即可启用该提供方。

电网区域

服务按以下顺序解析每次工具调用的区域:

  1. 工具调用的 region 参数,
  2. 服务环境中的 TIDEGAP_DEFAULT_REGION(Agent 主机的 MCP 配置),
  3. 存储在此机器上的区域设置:tidegap region set <zone>,或在 tidegap ui 和 Mac 应用的“设置”→“电网区域”中设置(~/.tidegap/config 中的键为 TIDEGAP_DEFAULT_REGION),
  4. 根据机器的时区推测,
  5. GB。

文件变更时,服务会重新读取该设置,因此新设置会在下一次工具调用时生效,无需重启。如果存储的值不是受支持的区域,则会忽略该值,并针对每次变更输出一条 stderr 警告。schedule_task 的回复包含 region_source: flag | env | setting | timezone | fallback。

region 参数必须是 31 个受支持区域之一(大小写不限)。其他值会被拒绝,并显示最接近的区域以及申请添加区域的链接,例如 Unknown zone UA. Closest: PL. Request a region: <link>。如果设置了 TIDEGAP_ELECTRICITY_MAPS_API_KEY,则任何区域都可通过验证,因为 Electricity Maps 提供列表之外的区域;如果设置了 TIDEGAP_ENTSOE_SECURITY_TOKEN,则 IT 也可通过验证。

开发

在克隆仓库 https://github.com/tidegap/tidegap 的根目录中:

pnpm install
pnpm --filter @tidegap/mcp build
node packages/mcp-server/dist/server.js

评论

支持 Markdown

第一次接触 MCP?

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

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