Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Tidegap

by tidegapversion 0.20.0i★ –iRuns on your computer
Registry nameio.github.tidegap/tidegap

Install

Overview

Description from the maker (original English)

Runs non-urgent LLM tasks at the cleanest grid hour before a deadline, via Batch APIs when allowed.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Search & AI memory
  • You need to fill in: ANTHROPIC_API_KEY, OPENAI_API_KEY, TIDEGAP_EIA_API_KEY, TIDEGAP_ENTSOE_SECURITY_TOKEN, WATTTIME_PASSWORD, TIDEGAP_ELECTRICITY_MAPS_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: 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

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into 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"
      }
    }
  }
}

Run this in your terminal

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

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.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"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "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"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • TIDEGAP_DEFAULT_REGION env
    Default grid region, e.g. GB, US-CAL-CISO, DE
  • TIDEGAP_DB_PATH env
    SQLite queue path (default ~/.tidegap/queue.db)
  • ANTHROPIC_API_KEY secret env
    Dispatch tasks to Anthropic (sync or Batch API)
  • OPENAI_API_KEY secret env
    Dispatch tasks to OpenAI (sync or Batch API)
  • TIDEGAP_EIA_API_KEY secret env
    US EIA grid data (CAISO, ERCOT, ISO-NE, PJM), free key
  • TIDEGAP_ENTSOE_SECURITY_TOKEN secret env
    ENTSO-E grid data (EU regions), free token
  • WATTTIME_USERNAME env
    WattTime account (US marginal emissions)
  • WATTTIME_PASSWORD secret env
    WattTime account password
  • TIDEGAP_ELECTRICITY_MAPS_API_KEY secret env
    Electricity Maps fallback feed

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account tidegap, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 7220 servers in this category
  • Published to the registry more recently than 91% of the other 7220 servers in this category
  • Basic checks equal to or better than 100% of the other 7220 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Tidegap safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: ANTHROPIC_API_KEY, OPENAI_API_KEY, TIDEGAP_EIA_API_KEY, TIDEGAP_ENTSOE_SECURITY_TOKEN, WATTTIME_PASSWORD, TIDEGAP_ELECTRICITY_MAPS_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.20.0) reached the registry 3 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

by upstash

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

Computer or cloud★ 64,224MITUpdated 3 days ago
Install

Codebase Memory

by DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Runs on your computer★ 48,148MITUpdated 20 days ago
Install

Exa

by exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Runs in the cloud★ 5,213MITUpdated 44 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@tidegap/mcp

Renamed from @ebb-ai/mcp in 0.18.0. Use the host config key tidegap and npx -y @tidegap/mcp; the ebb-mcp bin and the EBB_* 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.

  • 12 MCP tools (measured), among them recommend_window, schedule_task, check_queue_status, get_grid_forecast, cancel_task, postpone_task, update_deadline.
  • Live 72-hour forecast. GB needs no key; other regions use free keys (EIA, ENTSO-E, WattTime, Electricity Maps).
  • One signed carbon receipt per task, stored in ~/.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

Run

npx -y @tidegap/mcp

The server speaks MCP over stdio. To wire it into an agent client:

Claude Desktop

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.

Claude Code

Add tidegap to your ~/.claude/mcp.json (or workspace .claude/mcp.json):

{

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

OpenClaw

Add to ~/.openclaw/mcp.json:

{

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

Tools exposed (12, measured)

ToolPurpose
schedule_task(... repeat?, every_hours?, days?, window?, time_zone?) with repeat daily, weekdays, weekly or every_n_hoursCreate 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.

Environment variables

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/tidegap OpenClaw plugin reads no

environment variables. Configure it through plugin config instead, under

plugins.entries.tidegap.config in 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.

VarPlugin configPurpose
TIDEGAP_ELECTRICITY_MAPS_API_KEYelectricityMapsApiKeyAPI 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_KEYeiaApiKeyFree US EIA key. Enables average-emissions intensity for the US ISO zones (CAISO / ERCOT / ISO-NE / NYISO / PJM / MISO).
TIDEGAP_ENTSOE_SECURITY_TOKENentsoeSecurityTokenFree ENTSO-E token. Enables EU zone intensity (FR / DE / ES / IT / NL).
WATTTIME_USERNAME + WATTTIME_PASSWORDwattTimeUsername + wattTimePasswordFree 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_REGIONdefaultRegionRegion when a tool call names none. Beats the stored region setting; see Grid region.
ANTHROPIC_API_KEYanthropicApiKeyEnables the anthropic provider (batch-capable).
OPENAI_API_KEYopenaiApiKeyEnables the openai provider (batch-capable).
GEMINI_API_KEY / GOOGLE_API_KEYgeminiApiKey / googleApiKeyEnables the gemini provider (Generative Language API, sync-only). GEMINI_API_KEY is preferred; GOOGLE_API_KEY is the fallback.
OLLAMA_HOSTollamaHostEnables the local ollama provider (sync-only). Default http://localhost:11434; keyless — set this var to opt the provider in.

Grid region

The server resolves the region of each tool call in this order:

  1. the tool call's region argument,
  2. TIDEGAP_DEFAULT_REGION in the server's environment (the agent host's MCP config),
  3. the region setting stored on this machine: tidegap region set , or Settings → Grid region in tidegap ui and the Mac app (key TIDEGAP_DEFAULT_REGION in ~/.tidegap/config),
  4. a guess from the machine's time zone,
  5. 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.

Develop

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

Ask PopNx