
Threat Research
/Security News
Searchjacked: Hidden Browser Extensions Hijack Searches for 13 Million Users
319 browser extensions installed by 13.4 million users hijack searches, capture queries, and collect referral payments from Yahoo and Bing.
@ebb-ai/mcp
Advanced tools
Model Context Protocol server for ebb-ai — carbon-aware scheduling tools for any MCP-compatible agent.
Model Context Protocol (MCP) server for ebb-ai — exposes carbon-aware task scheduling as MCP tools that any MCP-compatible agent can call.
# from the repo root
pnpm install
pnpm --filter @ebb-ai/mcp build
node packages/mcp-server/dist/server.js
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": {
"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.
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"]
}
}
}
Add to ~/.openclaw/mcp.json:
{
"mcpServers": {
"ebb-ai": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/ebb-ai/packages/mcp-server/dist/server.js"]
}
}
}
| Tool | Purpose |
|---|---|
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. |
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/ebbOpenClaw plugin reads no environment variables. Configure it through plugin config instead, underplugins.entries.ebb.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 |
|---|---|---|
EBB_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. |
EBB_EIA_API_KEY | eiaApiKey | Free US EIA key. Enables average-emissions intensity for the US ISO zones (CAISO / ERCOT / ISO-NE / NYISO / PJM / MISO). |
EBB_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. |
EBB_DEFAULT_REGION | defaultRegion | Electricity Maps zone code, default US-CAL-CISO. |
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. |
See ../../ROADMAP.md for the full roadmap.
FAQs
Renamed to @tidegap/mcp. This shim starts the @tidegap/mcp server and stops receiving updates.
The npm package @ebb-ai/mcp receives a total of 0 weekly downloads. As such, @ebb-ai/mcp popularity was classified as not popular.
We found that @ebb-ai/mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Threat Research
/Security News
319 browser extensions installed by 13.4 million users hijack searches, capture queries, and collect referral payments from Yahoo and Bing.

Threat Research
Malicious Firefox extensions mimic Phantom, Jupiter, and Bitget wallets to steal recovery phrases and private keys, with one fetching its payload remotely.

Product
Socket Threat Intel now shows which malware campaigns were blocked or detected in your organization, with links to scans and Firewall events.