Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Runs non-urgent LLM tasks at the cleanest grid hour before a deadline, via Batch APIs when allowed.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
TIDEGAP_DEFAULT_REGION, TIDEGAP_DB_PATH, ANTHROPIC_API_KEY, OPENAI_API_KEY, TIDEGAP_EIA_API_KEY, TIDEGAP_ENTSOE_SECURITY_TOKEN, WATTTIME_USERNAME, WATTTIME_PASSWORD, TIDEGAP_ELECTRICITY_MAPS_API_KEY标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"tidegap": {
"command": "npx",
"args": [
"-y",
"@tidegap/mcp"
],
"env": {
"TIDEGAP_DEFAULT_REGION": "your-value",
"TIDEGAP_DB_PATH": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value",
"TIDEGAP_EIA_API_KEY": "your-value",
"TIDEGAP_ENTSOE_SECURITY_TOKEN": "your-value",
"WATTTIME_USERNAME": "your-value",
"WATTTIME_PASSWORD": "your-value",
"TIDEGAP_ELECTRICITY_MAPS_API_KEY": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add tidegap --env TIDEGAP_DEFAULT_REGION=your-value --env TIDEGAP_DB_PATH=your-value --env ANTHROPIC_API_KEY=your-value --env OPENAI_API_KEY=your-value --env TIDEGAP_EIA_API_KEY=your-value --env TIDEGAP_ENTSOE_SECURITY_TOKEN=your-value --env WATTTIME_USERNAME=your-value --env WATTTIME_PASSWORD=your-value --env TIDEGAP_ELECTRICITY_MAPS_API_KEY=your-value -- npx -y @tidegap/mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"tidegap": {
"command": "npx",
"args": [
"-y",
"@tidegap/mcp"
],
"env": {
"TIDEGAP_DEFAULT_REGION": "your-value",
"TIDEGAP_DB_PATH": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value",
"TIDEGAP_EIA_API_KEY": "your-value",
"TIDEGAP_ENTSOE_SECURITY_TOKEN": "your-value",
"WATTTIME_USERNAME": "your-value",
"WATTTIME_PASSWORD": "your-value",
"TIDEGAP_ELECTRICITY_MAPS_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"tidegap": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@tidegap/mcp"
],
"env": {
"TIDEGAP_DEFAULT_REGION": "your-value",
"TIDEGAP_DB_PATH": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value",
"TIDEGAP_EIA_API_KEY": "your-value",
"TIDEGAP_ENTSOE_SECURITY_TOKEN": "your-value",
"WATTTIME_USERNAME": "your-value",
"WATTTIME_PASSWORD": "your-value",
"TIDEGAP_ELECTRICITY_MAPS_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
TIDEGAP_DEFAULT_REGION envTIDEGAP_DB_PATH envWATTTIME_USERNAME env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 tidegap 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:ANTHROPIC_API_KEY, OPENAI_API_KEY, TIDEGAP_EIA_API_KEY, TIDEGAP_ENTSOE_SECURITY_TOKEN, WATTTIME_PASSWORD, TIDEGAP_ELECTRICITY_MAPS_API_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.20.0)于3天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Renamed from
@ebb-ai/mcpin 0.18.0. Use the host config keytidegapandnpx -y @tidegap/mcp; theebb-mcpbin and theEBB_*variables were removed in 0.19. See Renamed from Ebb AI.
MCP server that lets your agent run non-urgent LLM tasks at the cleanest grid hour before a deadline.
Add it to any MCP host. When a user says "do this tonight" or "by tomorrow", the agent calls schedule_task. Tidegap then runs the task at the lowest-carbon grid hour before the deadline, and through the provider Batch API when the deadline allows.
recommend_window, schedule_task, check_queue_status, get_grid_forecast, cancel_task, postpone_task, update_deadline.~/.tidegap/queue.db.npx -y @tidegap/mcp
{ "mcpServers": {
"tidegap": { "command": "npx", "args": ["-y", "@tidegap/mcp"] } } }
Proof: one real GB run, 2026-09-30. Forecast peak 183 gCO2/kWh vs recommended window 88 gCO2/kWh, about 52 % lower for this run only (forecast, projected). Receipt at dispatch: 158 gCO2/kWh (measured). Host-specific configs: https://www.tidegap.com/docs#install
npx -y @tidegap/mcp
The server speaks MCP over stdio. To wire it into an agent client:
Edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS (Linux/Windows have similar paths):
{
"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" } } } }
Restart Claude Desktop after editing.
Add tidegap to your ~/.claude/mcp.json (or workspace .claude/mcp.json):
{
"mcpServers": { "tidegap": { "command": "npx", "args": ["-y", "@tidegap/mcp"] } } }
Add to ~/.openclaw/mcp.json:
{
"mcpServers": { "tidegap": { "command": "npx", "args": ["-y", "@tidegap/mcp"] } } }
| Tool | Purpose | ||
|---|---|---|---|
schedule_task(... repeat?, every_hours?, days?, window?, time_zone?) with repeat daily, weekdays, weekly or every_n_hours | Create a recurring job: each run is a new task at the cleanest hour of its period. End it with cancel_task(series: true). | ||
get_grid_forecast(region, hours?) | Hour-by-hour carbon intensity for a region; useful before deciding whether to defer. | ||
recommend_window(deadline, region?, ...) | Plan the cleanest window inside the deadline without queueing anything. | ||
schedule_task(prompt, deadline, model?, region?, carbon_budget_g?, repeat?, origin_session_id?, not_before?) | Queue a task to run in the cleanest window inside the deadline. Returns a task_id and one line that says whether it will run: Runs at local., or the readiness sentence with its fix, for example Tasks will not run: no tick daemon. Run `tidegap install`.. not_before sets the earliest start. repeat defaults to none, also for deadline_kind: "quota_reset". | ||
schedule_task(... runner?, cwd?, permission_profile?, result_path?, wake_session?) | Hand off the work shape: runner is another name for provider; cwd is the folder a claude-code run works in (another folder than the session's runs fresh there); permission_profile is read, web or none (read with a cwd); result_path is a new file Tidegap writes the result text to, inside cwd, the session's project folder or the temp folder. wake_session: true wakes the idle Claude Code session that queued the task when it finishes (within 12 hours after its last turn; refused outside a session). runner or provider command is refused with the tidegap queue add --runner command line. output_path follows the same folder rules. | ||
check_queue_status(task_id?) | Inspect the queue or one specific task; includes a carbon receipt once the task has completed. | ||
cancel_task(task_id, series?) | Cancel a queued or scheduled task; on a repeating task, skip it, or end the series with series: true. | ||
reply_task(task_id, text, deadline?) | Continue a completed task: a new task with the conversation plus this text, same provider and model. | ||
expedite_task(task_id) | Dispatch a queued or scheduled task now, outside its carbon window. | ||
| `postpone_task(task_id, preset? \ | until? \ | delay_minutes?, reset_at?)` | "Later": move a pending task later, never earlier. Presets 1h, tonight (22:00 to 06:00), tomorrow_morning (09:00 to 12:00), after_limit_reset (5 minutes after the Claude limit reset: reset_at, else this machine's limit reading, else a reset time given before). |
update_deadline(task_id, deadline) | Reschedule a task against a new deadline. | ||
retry_task(task_id) | Re-dispatch a failed task. | ||
cancel_all(status?) | Cancel every task that is still queued or scheduled. | ||
tidegap_usage(include_spend?) | Read-only: the Claude Code subscription limits of this machine and when they reset, and the Codex limits from its local logs. include_spend adds the current 5-hour window's tokens and an API list-price cost estimate. |
These variables configure this MCP server (and the tidegap CLI, which reads the same set). They are read at the server's own entry point and injected into @tidegap/core, which is environment-pure and reads nothing ambient itself.
OpenClaw plugin users: the
@vitalini/tidegapOpenClaw plugin reads no
environment variables. Configure it through plugin config instead, under
plugins.entries.tidegap.configin your gateway config — the "Plugin config"
column below names the field that replaces each variable. OpenClaw resolves
the
"${ENV_VAR}"shorthand in those fields, so you can keep exporting the
same variables and let the gateway read them on the plugin's behalf.
| Var | Plugin config | Purpose |
|---|---|---|
TIDEGAP_ELECTRICITY_MAPS_API_KEY | electricityMapsApiKey | API key from electricitymaps.com. Universal fallback. If unset (and no zone-specific feed is configured), the server falls back to deterministic mock data so you can still run the whole stack locally. |
TIDEGAP_EIA_API_KEY | eiaApiKey | Free US EIA key. Enables average-emissions intensity for the US ISO zones (CAISO / ERCOT / ISO-NE / NYISO / PJM / MISO). |
TIDEGAP_ENTSOE_SECURITY_TOKEN | entsoeSecurityToken | Free ENTSO-E token. Enables EU zone intensity (FR / DE / ES / IT / NL). |
WATTTIME_USERNAME + WATTTIME_PASSWORD | wattTimeUsername + wattTimePassword | Free WattTime v3 account. Enables marginal-emissions (co2_moer) forecasts for the US ISO zones — takes precedence over EIA where covered, falls through to EIA on any error. The marginal signal is disclosed as signalType: "marginal" on forecasts and receipts. |
TIDEGAP_DEFAULT_REGION | defaultRegion | Region when a tool call names none. Beats the stored region setting; see Grid region. |
ANTHROPIC_API_KEY | anthropicApiKey | Enables the anthropic provider (batch-capable). |
OPENAI_API_KEY | openaiApiKey | Enables the openai provider (batch-capable). |
GEMINI_API_KEY / GOOGLE_API_KEY | geminiApiKey / googleApiKey | Enables the gemini provider (Generative Language API, sync-only). GEMINI_API_KEY is preferred; GOOGLE_API_KEY is the fallback. |
OLLAMA_HOST | ollamaHost | Enables the local ollama provider (sync-only). Default http://localhost:11434; keyless — set this var to opt the provider in. |
The server resolves the region of each tool call in this order:
region argument,TIDEGAP_DEFAULT_REGION in the server's environment (the agent host's MCP config),tidegap region set , or Settings → Grid region in tidegap ui and the Mac app (key TIDEGAP_DEFAULT_REGION in ~/.tidegap/config),GB.The server reads the setting again when the file changes, so a new setting applies on the next tool call with no restart. A stored value that is not a supported zone is ignored, with one stderr warning per change. schedule_task replies carry region_source: flag | env | setting | timezone | fallback.
A region argument must be one of the 31 supported zones (any case). Another value is rejected with the closest zones and a link to request a region, for example Unknown zone UA. Closest: PL. Request a region: . With TIDEGAP_ELECTRICITY_MAPS_API_KEY set, any zone passes, because Electricity Maps serves zones beyond the list; with TIDEGAP_ENTSOE_SECURITY_TOKEN set, IT passes too.
From the root of a clone of https://github.com/tidegap/tidegap:
pnpm install
pnpm --filter @tidegap/mcp build node packages/mcp-server/dist/server.js