Skip to main content
Glama

⚑ MCP Energy Hub

Real-Time Energy Grid Intelligence for Carbon-Aware AI

Python 3.11+ MCP Protocol FastAPI License: MIT

GitHub Stars GitHub Forks

Enterprise-grade MCP server providing real-time US power grid intelligence for carbon-aware AI compute scheduling

πŸ“– Documentation β€’ πŸš€ Quick Start β€’ 🀝 Contributing β€’ πŸ“œ License


🎯 The Problem

AI compute is exploding, but the grid isn't always green.

  • Data centers consume 1-2% of global electricity and growing rapidly

  • AI training runs can emit as much CO2 as 5 cars over their lifetime

  • Most AI workloads run without awareness of grid carbon intensity

  • Enterprises lack tools to schedule compute when renewables are high

πŸ’‘ The Solution

MCP Energy Hub is an enterprise-grade MCP server that gives AI agents real-time visibility into the US power grid, enabling carbon-aware compute scheduling.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ πŸ€– AI Agent (Claude, etc.) β”‚ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ MCP Protocol β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ ⚑ MCP Energy Hub β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”‚ β”‚ 8 MCP Tools for Energy β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Grid Intelligence β”‚ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β–Ό β–Ό β–Ό β–Ό β–Ό β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ERCOTβ”‚ β”‚CAISOβ”‚ β”‚ PJM β”‚ β”‚NYISOβ”‚ β”‚MISO β”‚ β”‚ β”‚ β”‚Texasβ”‚ β”‚Califβ”‚ β”‚ Mid β”‚ β”‚ NY β”‚ β”‚Midwest β”‚ β”‚ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

✨ Key Features

Feature

Description

🌍 7 Grid Regions

ERCOT, CAISO, PJM, NYISO, MISO, SPP, ISONE

⚑ Real-Time Data

Live from EIA (US Energy Information Administration)

🌱 Carbon Intensity

kg CO2/MWh for each region, updated hourly

πŸ”‹ Generation Mix

Natural gas, coal, nuclear, wind, solar, hydro

🏒 Data Center Tracking

Energy estimates, PUE, AI workload impact

🎯 Smart Scheduling

Find the greenest region for your compute

πŸ“Š AI Impact KPIs

Track AI's share of grid load

πŸ”Œ MCP Native

Full Model Context Protocol support


πŸ› οΈ MCP Tools

8 Tools for Energy Intelligence

Tool

Description

Use Case

get_grid_realtime

Real-time grid metrics

Monitor current load & generation

get_grid_carbon

Carbon intensity + recommendation

Carbon-aware scheduling

get_grid_forecast

Load & carbon forecast

Plan future workloads

list_grid_regions

Available grid regions

Discover coverage

get_data_centers

Data center info

Track facilities

get_data_center_energy

Energy consumption estimates

Audit energy use

get_ai_impact

AI compute KPIs

Measure AI's grid footprint

get_best_region_for_compute

Find greenest region

Optimize for carbon/cost

Example: Carbon-Aware Scheduling

# AI Agent asks: "Where should I run this training job?" result = mcp.call_tool("get_best_region_for_compute", { "optimize_for": "carbon" }) # Response: { "recommendation": "CAISO", "reason": "Lowest carbon intensity at 180 kg CO2/MWh", "rankings": [ {"region": "CAISO", "carbon": 180, "renewable_pct": 45}, {"region": "ERCOT", "carbon": 320, "renewable_pct": 28}, {"region": "PJM", "carbon": 420, "renewable_pct": 12} ] }

πŸš€ Quick Start

Prerequisites

Installation

# Clone the repository git clone https://github.com/your-username/mcp-energy-hub.git cd mcp-energy-hub # Create virtual environment python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Install dependencies pip install -r requirements.txt # Configure environment cp .env.example .env # Edit .env and add your EIA_API_KEY

Run the Server

# Start the FastAPI server python -m uvicorn app.main:app --reload --port 8000 # Or run the standalone MCP server (for Claude Desktop) python mcp_server.py

Try the API

# Get carbon intensity for Texas grid curl -X POST http://localhost:8000/mcp/tools/call \ -H "Content-Type: application/json" \ -d '{"name": "get_grid_carbon", "arguments": {"region_id": "ERCOT"}}'

Example Response

{ "success": true, "result": { "region_id": "ERCOT", "timestamp": "2024-11-28T22:00:00Z", "carbon_intensity_kg_per_mwh": 320.5, "renewable_fraction_pct": 28.3, "recommendation": "Good - Moderate carbon intensity" } }

Connect to Claude Desktop

Add to your Claude Desktop MCP settings (claude_desktop_config.json):

{ "mcpServers": { "energy-hub": { "command": "python", "args": ["/absolute/path/to/mcp-energy-hub/mcp_server.py"], "env": { "EIA_API_KEY": "your-api-key-here" } } } }

πŸ“Š API Endpoints

Endpoint

Method

Description

/docs

GET

Interactive Swagger UI

/mcp/info

GET

MCP server information

/mcp/tools

GET

List all MCP tools

/mcp/tools/call

POST

Execute an MCP tool

/grid/regions

GET

List grid regions

/grid/{region}/realtime

GET

Real-time metrics

/grid/{region}/carbon

GET

Carbon intensity

/health

GET

Health check


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ MCP Energy Hub β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ FastAPI β”‚ β”‚ MCP Server β”‚ β”‚ Data Ingestion β”‚ β”‚ β”‚ β”‚ REST API β”‚ β”‚ (8 Tools) β”‚ β”‚ (EIA Collector) β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ SQLite DB β”‚ β”‚ β”‚ β”‚ Grid Metricsβ”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ External Data Sources β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ EIA β”‚ β”‚ ERCOT β”‚ β”‚ CAISO β”‚ β”‚ PJM β”‚ β”‚ β”‚ β”‚ API β”‚ β”‚ API β”‚ β”‚ API β”‚ β”‚ API β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🌍 Real-World Impact

For Enterprises

  • Reduce carbon footprint by scheduling AI workloads during high-renewable periods

  • Cost optimization by running compute when energy prices are low

  • ESG reporting with accurate AI energy consumption data

For AI Developers

  • Carbon-aware training - Train models when the grid is green

  • Transparent impact - Know your model's carbon footprint

  • Automated scheduling - Let AI agents make green decisions

Potential Impact

  • If 10% of AI workloads shifted to low-carbon periods: ~500,000 tons CO2/year saved

  • Real-time visibility enables 30-50% carbon reduction for flexible workloads


πŸ”§ Tech Stack

Component

Technology

Backend

FastAPI, Python 3.11

Database

SQLite (HF) / PostgreSQL (Production)

MCP Protocol

Native implementation

Data Source

EIA Open Data API

Deployment

Docker, Hugging Face Spaces


πŸ“ Project Structure

mcp-energy-hub/ β”œβ”€β”€ app/ β”‚ β”œβ”€β”€ main.py # FastAPI application β”‚ β”œβ”€β”€ config.py # Configuration β”‚ β”œβ”€β”€ api/routes/ # REST endpoints β”‚ β”œβ”€β”€ mcp/ # MCP server implementation β”‚ β”‚ β”œβ”€β”€ server.py # MCP protocol handler β”‚ β”‚ β”œβ”€β”€ tools.py # Tool definitions β”‚ β”‚ └── routes.py # HTTP MCP endpoints β”‚ β”œβ”€β”€ ingestion/ # Data collectors β”‚ β”‚ └── eia_collector.py # EIA API integration β”‚ └── models/ # Database models β”œβ”€β”€ mcp_server.py # Standalone MCP server (stdio) β”œβ”€β”€ Dockerfile # HuggingFace deployment └── README.md # This file

οΏ½ Docker Deployment

# Build the Docker image docker build -t mcp-energy-hub . # Run the container docker run -p 8000:8000 -e EIA_API_KEY=your-key mcp-energy-hub

πŸ§ͺ Testing

# Run tests pytest # Run with coverage pytest --cov=app --cov-report=html

🀝 Contributing

Contributions are welcome! Please see our Contributing Guidelines for details.

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request


πŸ™ Acknowledgments

  • Anthropic - For creating the MCP protocol

  • EIA - For open energy data APIs

  • FastAPI - For the excellent web framework


πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.



Made with ❀️ for sustainable AI

Helping AI compute become carbon-aware, one query at a time ⚑🌱

⭐ Star this repo if you find it useful!

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/karthikravva/MCP-Energy-Hub'

If you have feedback or need assistance with the MCP directory API, please join our Discord server