New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@ebb-ai/mcp

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ebb-ai/mcp

Model Context Protocol server for ebb-ai — carbon-aware scheduling tools for any MCP-compatible agent.

Source
npmnpm
Version
0.16.0
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

@ebb-ai/mcp

Model Context Protocol (MCP) server for ebb-ai — exposes carbon-aware task scheduling as MCP tools that any MCP-compatible agent can call.

Install (development, monorepo)

# from the repo root
pnpm install
pnpm --filter @ebb-ai/mcp build

Run

node packages/mcp-server/dist/server.js

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": {
    "ebb-ai": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/ebb-ai/packages/mcp-server/dist/server.js"
      ],
      "env": {
        "EBB_ELECTRICITY_MAPS_API_KEY": "optional - mock data without it",
        "EBB_DEFAULT_REGION": "US-CAL-CISO"
      }
    }
  }
}

Restart Claude Desktop after editing.

Claude Code

Add ebb-ai to your ~/.claude/mcp.json (or workspace .claude/mcp.json):

{
  "mcpServers": {
    "ebb-ai": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/ebb-ai/packages/mcp-server/dist/server.js"]
    }
  }
}

OpenClaw

Add to ~/.openclaw/mcp.json:

{
  "mcpServers": {
    "ebb-ai": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/ebb-ai/packages/mcp-server/dist/server.js"]
    }
  }
}

Tools exposed

ToolPurpose
get_grid_forecast(region, hours?)Hour-by-hour carbon intensity for a region; useful before deciding whether to defer.
schedule_task(prompt, deadline, model?, region?, carbon_budget_g?)Queue a task to run in the cleanest window inside the deadline. Returns a task_id.
check_queue_status(task_id?)Inspect the queue or one specific task; includes a carbon receipt once the task has completed.

Environment variables

These variables configure this MCP server (and the ebb CLI, which reads the same set). They are read at the server's own entry point and injected into @ebb-ai/core, which is environment-pure and reads nothing ambient itself.

OpenClaw plugin users: the @vitalini/ebb OpenClaw plugin reads no environment variables. Configure it through plugin config instead, under plugins.entries.ebb.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
EBB_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.
EBB_EIA_API_KEYeiaApiKeyFree US EIA key. Enables average-emissions intensity for the US ISO zones (CAISO / ERCOT / ISO-NE / NYISO / PJM / MISO).
EBB_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.
EBB_DEFAULT_REGIONdefaultRegionElectricity Maps zone code, default US-CAL-CISO.
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.

v0.1 limitations

  • The server schedules dispatch time, but does not yet call the underlying LLM (the agent is expected to execute the prompt itself once the window arrives). Provider adapters and Batch API integration land in v0.2.
  • Queue is in-memory; restarts lose state. SQLite persistence lands in v0.2.
  • Single-region grid feed. Multi-region routing lands in v0.3.

See ../../ROADMAP.md for the full roadmap.

FAQs

Package last updated on 01 Oct 2026

Related posts