mcpField
T
Tidegap

Tidegap

ローカル
tidegap.comAI・エージェント21 日前に更新

Tidegap について

Tidegap は、緊急性の低い LLM タスクを期限内の電力網の炭素強度が低い時間帯に実行する MCP サーバーです。時間に余裕があればプロバイダーの Batch API を使い、タスクごとに署名付き炭素レシートを記録します。

主な機能

  1. 01電力網の炭素強度予測
  2. 02期限前の実行時間帯を提案
  3. 03キュー内タスクの予約と管理
  4. 04期限に応じた Batch API の利用
  5. 05タスクごとの炭素レシート記録

活用シーン

  1. 01LLM タスクを電力網の低炭素時間帯まで延期
  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 からの名称変更をご覧ください。

エージェントが、期限前の最もクリーンな電力網の時間帯に、緊急性の低い LLM タスクを実行できる MCP サーバーです。

任意の MCP ホストに追加できます。ユーザーが「今夜やって」や「明日までに」と言うと、エージェントが schedule_task を呼び出します。すると Tidegap は、期限前で電力網の炭素強度が最も低い時間帯にタスクを実行します。また、期限に余裕があればプロバイダーの Batch API を利用します。

  • recommend_window、schedule_task、check_queue_status、get_grid_forecast、cancel_task、postpone_task、update_deadline など、12 個の MCP ツール(実測値)。
  • 72 時間のライブ予測。GB ではキー不要です。他の地域では無料のキー(EIA、ENTSO-E、WattTime、Electricity Maps)を使用します。
  • タスクごとに署名付き炭素排出量レシートを 1 件作成し、~/.tidegap/queue.db に保存します。
npx -y @tidegap/mcp
{ "mcpServers": {
    "tidegap": { "command": "npx", "args": ["-y", "@tidegap/mcp"] }
} }

実証結果:2026-09-30 に GB で実行した実例 1 件。予測ピークは 183 gCO2/kWh、推奨時間帯は 88 gCO2/kWh で、この実行に限り約 52 % 低減しました(予測値、推定)。ディスパッチ時のレシート:158 gCO2/kWh(実測値)。ホスト別の設定:https://www.tidegap.com/docs#install

実行

npx -y @tidegap/mcp

このサーバーは stdio 経由で MCP を使用します。エージェントクライアントに接続するには、次のように設定します。

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

~/.claude/mcp.json(またはワークスペースの .claude/mcp.json)に tidegap を追加します。

{
  "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 と、実行予定を示す 1 行のメッセージ(例: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 に渡されます。@tidegap/core 自体は環境から値を読み込みません。

OpenClaw プラグインのユーザー向け: @vitalini/tidegap OpenClaw プラグインは、環境変数を一切 読み込みません。代わりに、ゲートウェイ設定の plugins.entries.tidegap.config にあるプラグイン設定で構成してください。以下の「プラグイン設定」列には、各変数に対応するフィールドが記載されています。OpenClaw はそれらのフィールド内の "${ENV_VAR}" 形式を解決するため、同じ変数をエクスポートしたまま、ゲートウェイに代わりに読み込ませることができます。

変数プラグイン設定目的
TIDEGAP_ELECTRICITY_MAPS_API_KEYelectricityMapsApiKeyelectricitymaps.com の API キーです。すべての地域に適用されるフォールバックです。未設定で、地域固有のフィードも構成されていない場合、サーバーは決定論的なモックデータにフォールバックするため、スタック全体をローカルで実行できます。
TIDEGAP_EIA_API_KEYeiaApiKey無料の US EIA キーです。米国の ISO ゾーン(CAISO / ERCOT / ISO-NE / NYISO / PJM / MISO)の平均排出原単位を有効にします。
TIDEGAP_ENTSOE_SECURITY_TOKENentsoeSecurityToken無料の ENTSO-E トークンです。EU ゾーン(FR / DE / ES / IT / NL)の原単位を有効にします。
WATTTIME_USERNAME + WATTTIME_PASSWORDwattTimeUsername + wattTimePassword無料の WattTime v3 アカウントです。米国の ISO ゾーンの限界排出量(co2_moer)予測を有効にします。対象地域では EIA より優先され、エラーが発生した場合は EIA にフォールバックします。限界排出量のシグナルは、予測とレシートで signalType: "marginal" として示されます。
TIDEGAP_DEFAULT_REGIONdefaultRegionツール呼び出しで地域が指定されていない場合に使う地域です。保存済みの地域設定より優先されます。グリッド地域を参照してください。
ANTHROPIC_API_KEYanthropicApiKeyanthropic プロバイダーを有効にします(バッチ処理に対応)。
OPENAI_API_KEYopenaiApiKeyopenai プロバイダーを有効にします(バッチ処理に対応)。
GEMINI_API_KEY / GOOGLE_API_KEYgeminiApiKey / googleApiKeygemini プロバイダーを有効にします(Generative Language API、同期のみ)。GEMINI_API_KEY が優先され、フォールバックとして GOOGLE_API_KEY が使われます。
OLLAMA_HOSTollamaHostローカルの ollama プロバイダーを有効にします(同期のみ)。デフォルトは http://localhost:11434 です。キーは不要です。この変数を設定するとプロバイダーが有効になります。

グリッド地域

サーバーは、次の順序で各ツール呼び出しの地域を解決します。

  1. ツール呼び出しの region 引数、
  2. サーバーの環境変数(エージェントホストの MCP 設定)にある TIDEGAP_DEFAULT_REGION、
  3. このマシンに保存された地域設定:tidegap region set <zone>、または tidegap ui と Mac アプリの「Settings → Grid region」(~/.tidegap/config 内のキー TIDEGAP_DEFAULT_REGION)、
  4. マシンのタイムゾーンから推測した地域、
  5. GB。

サーバーはファイルの変更時に設定を再読み込みするため、新しい設定は再起動なしで次のツール呼び出しから適用されます。保存された値が対応ゾーンでない場合は無視され、変更ごとに stderr へ警告が 1 回出力されます。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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。