Skip to main content
Glama
fralopmor-arch

mcp-SADE-ME

⚡ mcp-SADE-ME ⚡

  __  __  ____  ____         ____    _    ____  _____         __  __ _____ 
 |  \/  |/ ___||  _ \       / ___|  / \  |  _ \| ____|       |  \/  | ____|
 | |\/| | |    | |_) |_____ \___ \ / _ \ | | | |  _|   _____ | |\/| |  _|  
 | |  | | |___ |  __/|_____| ___) / ___ \| |_| | |___ |_____|| |  | | |___ 
 |_|  |_|\____||_|          |____/_/   \_\____/|_____|       |_|  |_|_____|

Smart Energy Analytics for AI Agents — Servidor canónico de Model Context Protocol (MCP) en Python que dota a los agentes de IA de acceso en tiempo real a la demanda eléctrica, datos climatológicos regionales y métricas del mix de generación energética.

Proyecto demostrativo y plantilla de integración de MCP (Model Context Protocol) para agentes de Inteligencia Artificial. Este repositorio sirve como ejemplo práctico de cómo construir un servidor MCP en Python para dotar a agentes con capacidades especializadas para consultar, analizar y resumir datos energéticos reales.


¿Para qué sirve? (Propósito del Proyecto)

La función principal de este proyecto es actuar como un intermediario o servidor de datos energéticos que proporciona información en tiempo real e histórica sobre:

  1. Demanda Eléctrica: Consumo de electricidad por hora en España (obtenido directamente de las APIs de Red Eléctrica de España - REE).

  2. Datos Climatológicos: Temperaturas, velocidad del viento y radiación solar por hora de ubicaciones geográficas específicas (obtenidos mediante la API de Meteostat / RapidAPI).

  3. Mezcla de Generación (Mix Eléctrico): Desglose por hora de las fuentes de energía (eólica, solar, nuclear, gas, ciclo combinado, etc.) y cálculo de KPIs como la cuota de renovables, dependencia del gas y estimación de intensidad de carbono (obtenido a través de la API oficial de ENTSO-E).

Es un ejemplo ideal de lo que se puede hacer con las herramientas MCP en agentes autónomos, demostrando cómo un LLM puede razonar sobre consultas complejas ("¿Cuál fue la cuota de energía renovable en Madrid ayer y cómo influyó la temperatura en la demanda?") y resolverlas ejecutando llamadas consecutivas a las herramientas expuestas por este servidor.


Related MCP server: REE MCP Server

Funciones y Herramientas Expuestas

El servidor MCP (implementado de forma robusta en mcp_servers/energy_data/server_data2.py usando FastMCP) expone las siguientes herramientas para el agente:

  • load_consumption_data(period): Carga el consumo horario en MW.

  • load_weather_data(location, period): Obtiene variables climáticas por hora.

  • get_generation_mix(period): Analiza el mix de generación y calcula indicadores de sostenibilidad (KPIs).

  • get_daily_energy_context(period, location): Agrupa los datos de demanda, clima y generación en un único payload unificado.

  • summarize_daily_energy_context(period, location): Utiliza un LLM (OpenAI) para interpretar el contexto del día y generar un reporte ejecutivo del comportamiento energético.


Guía Completa de Instalación (Paso a Paso)

Sigue estos pasos detallados para configurar y arrancar el proyecto en tu máquina local.

1. Clonar el repositorio

Abre una terminal y clona el proyecto desde GitHub a tu directorio local:

git clone https://github.com/fralopmor-arch/mcp-SADE-ME.git
cd mcp-SADE-ME

2. Crear y activar un entorno virtual

Es recomendable aislar las dependencias utilizando un entorno virtual de Python (.venv):

  • En Windows (PowerShell):

    python -m venv .venv
    .venv\Scripts\Activate.ps1
  • En macOS/Linux:

    python3 -m venv .venv
    source .venv/bin/activate

3. Instalar dependencias

Con el entorno virtual activo, instala todas las dependencias del proyecto listadas en requirements.txt:

pip install -r requirements.txt

4. Configurar variables de entorno (.env)

Duplica el archivo de ejemplo para crear tu configuración local de secretos:

cp .env.example .env

Abre el nuevo archivo .env en tu editor de código favorito y rellena los placeholders con tus credenciales reales:

  • OPENAI_API_KEY: Tu clave de desarrollo de OpenAI para el agente y los resúmenes.

  • METEOSTAT_API_KEY: Tu clave de la API de Meteostat obtenida de RapidAPI.

  • ENTSOE_API_KEY: Tu token de seguridad para el portal de transparencia de ENTSO-E.

5. Verificar que el proyecto funciona

Puedes verificar la integridad de la instalación ejecutando los tests de forma local:

# Windows (PowerShell)
$env:PYTHONPATH="."
.venv\Scripts\pytest

# macOS/Linux
PYTHONPATH=. pytest

Si todo es correcto, todos los tests unitarios e integraciones simuladas deberían pasar sin errores.

También puedes ejecutar el script interactivo para dialogar con el agente consumidor del servidor MCP local:

# Windows (PowerShell)
.venv\Scripts\python chat_test_energy.py

# macOS/Linux
PYTHONPATH=. .venv/bin/python chat_test_energy.py

Cómo usar el Chat Interactivo:

  • Preguntas en lenguaje natural (el agente decide autónomamente qué herramientas MCP usar):

    • Escribe: ¿Cómo estuvo la cuota de renovables y el clima en Madrid el 2026-02-14?

    • Escribe: Dame un resumen del contexto energético de Barcelona el 2026-02-15.

  • Modo directo de ejecución de herramientas (permite saltarse el agente para invocar las herramientas directamente):

    • Sintaxis: /tool <nombre_herramienta> <json_args>

    • Escribe: /tool get_generation_mix {"period":"2026-02-14"}


Estructura y Notas de Implementación

  • mcp_servers/energy_data/server_data2.py: Archivo canónico y fuente de verdad. Incorpora timeouts refinados, reintentos robustos con backoff exponencial, y observabilidad.

  • main.py: Punto de entrada para levantar el servidor MCP mediante transporte stdio.

  • chat_runner.py: Motor local para orquestar flujos de interacción energética de forma simplificada.


Recomendaciones de Desarrollo y Buenas Prácticas

  • Formato de errores: Unifica siempre el formato de error para que la lógica compradora (_has_tool_error()) lo reconozca adecuadamente usando el esquema estructurado de _error_response().

  • Series temporales: Asegúrate de que las APIs devuelvan series horarias completas de 24/25 valores en lugar de promedios para garantizar análisis granulares óptimos.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Provides AI models with real-time data about New England's power grid through a Model Context Protocol interface, enabling questions about current power generation, fuel mix, and marginal fuels.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables natural language conversations with Spain's electrical grid data through Claude, providing real-time access to electricity demand, generation, prices, and emissions data from Red Eléctrica de España (REE).
    18
    11
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Enables AI-powered analysis and prediction of household energy consumption through machine learning models, providing historical consumption breakdowns, price queries from Spanish electricity markets, and personalized energy optimization recommendations.
  • F
    license
    -
    quality
    B
    maintenance
    A read-only MCP server that exposes European day-ahead electricity prices for ~41 bidding zones via tools like hourly prices, cheapest hours, current price, and cross-zone summary, enabling AI agents to query energy market data.

View all related MCP servers

Related MCP Connectors

  • Real-time electricity prices for AI agents. 40+ countries, 100+ zones. No auth required.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP server connecting AI agents to non-custodial staking data across 130+ networks.

View all MCP Connectors

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/fralopmor-arch/mcp-SADE-ME-link'

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