OpenDSS MCP Server
OpenDSS MCP Server
Servidor MCP que permite a Claude modelar y simular redes eléctricas de
distribución MT/BT (hospitales, edificios, instalaciones críticas) usando
OpenDSS a través de la librería
OpenDSSDirect.py.
1. Instalación
Requisitos: Python 3.10 o superior.
cd opendss-mcp
python3 -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
pip install -r requirements.txtVerifica que todo importa correctamente:
python3 -c "import opendssdirect; import mcp; print('OK')"Related MCP server: uam-analyst
2. Probar el servidor de forma aislada (opcional pero recomendado)
Antes de conectarlo a Claude, puedes probar la lógica directamente con el caso de estudio incluido:
python3 examples/hospital_basico.pySi ves "convergio": true y voltajes en por-unidad cercanos a 1.0, el
servidor está funcionando correctamente. El script modela un hospital con
acometida en MT, transformador de distribución, tablero de quirófanos
(carga crítica) y análisis de contingencia N-1 — ver el código en
examples/hospital_basico.py para el detalle completo.
3. Conectar a Claude Desktop
Abre (o crea) el archivo de configuración de Claude Desktop:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Agrega esta entrada (ajusta la ruta absoluta a donde guardaste el proyecto):
{
"mcpServers": {
"opendss": {
"command": "/ruta/absoluta/a/opendss-mcp/venv/bin/python3",
"args": ["/ruta/absoluta/a/opendss-mcp/server.py"]
}
}
}En Windows, la ruta al ejecutable de Python del venv normalmente es
...\opendss-mcp\venv\Scripts\python.exe.
Reinicia Claude Desktop por completo. Deberías ver el ícono de herramientas (🔨) con "opendss" listado como servidor conectado.
4. Herramientas disponibles
Herramienta | Qué hace |
| Inicia un circuito nuevo con tensión y frecuencia base |
| Agrega un tramo de línea/cable entre dos buses |
| Agrega un transformador MT/BT |
| Agrega una carga (tablero, quirófano, etc.), con flag de "crítica" |
| Agrega grupo electrógeno o fuente UPS |
| Corre el power flow: voltajes por bus y pérdidas |
| Calcula corriente de falla trifásica en un bus |
| Análisis de contingencia N-1: abre un elemento y recalcula |
| Lista buses, líneas, transformadores, cargas, generadores actuales |
| Genera un diagrama unifilar HTML con símbolos de ingeniería (barras, transformadores, cargas) |
| Estima energía incidente de arco eléctrico (método de Lee simplificado — solo aprendizaje) |
5. Ejemplo de uso conversacional con Claude
Una vez conectado, puedes pedirle a Claude cosas como:
"Modela un hospital con una acometida de 13.2 kV, un transformador de 500 kVA a 0.4 kV, un tablero de quirófanos con 50 kW críticos y un tablero de iluminación con 20 kW. Corre el flujo de potencia y dime si los voltajes están dentro de rango normal (±5%)."
O para análisis de contingencia:
"Simula qué pasa si se pierde la línea principal de BT. ¿El hospital queda sin servicio en el tablero de quirófanos?"
O para visualizar la red:
"Genera el diagrama unifilar del circuito actual y ábrelo en el navegador."
5.1 Ejemplo de visualización
examples/visualizar_hospital.py construye el mismo modelo del hospital y
genera dos diagramas HTML: uno en condición normal y otro en
contingencia N-1, para comparar visualmente el efecto de perder el
alimentador a quirófanos.
python3 examples/visualizar_hospital.pyCada bus se dibuja como una barra horizontal coloreada según su voltaje en por-unidad (verde: 0.95–1.05 pu, amarillo: 0.90–1.10 pu, rojo: fuera de rango o sin tensión). Transformadores, cargas (rojo si son críticas) y generadores se dibujan con símbolos propios — no es un grafo genérico, sino un diagrama unifilar con convenciones reales de ingeniería eléctrica. Si simulaste una contingencia N-1 antes de generar el diagrama, el interruptor correspondiente se ve abierto (con gap y etiqueta "ABIERTO") en el punto exacto de la red donde ocurrió.
5.2 Caso de estudio: campus con múltiples tableros
examples/campus_hospitalario.py modela algo más cercano a un hospital
real: una sola acometida MT alimentando tres transformadores
independientes (quirófanos, hospitalización, administración), cada uno
con varias cargas propias, más un generador de respaldo dedicado al
tablero más crítico. También corre un análisis N-1 sobre uno de los
transformadores (no solo sobre líneas).
python3 examples/campus_hospitalario.pyEl diagrama generado (diagrama_campus.html) ya distingue visualmente:
buses (círculos, color por voltaje), transformadores (líneas punteadas
cobrizas), cargas (cuadrados — rojos si son críticas), y generadores
(diamantes azules), además de un panel lateral con el resumen del
circuito (pérdidas, convergencia, conteo de elementos).
6. Notas técnicas importantes
Bases de tensión (
VoltageBases): OpenDSS requiere que se declaren explícitamente los niveles de tensión de la red (Set VoltageBases=[...]CalcVoltageBases) para calcular correctamente los valores en por-unidad. El servidor lo hace automáticamente cada vez que agregas un transformador — no necesitas preocuparte por esto en el uso normal.
Persistencia: el modelo vive en memoria mientras el proceso del servidor MCP esté corriendo. Si cierras Claude Desktop, se pierde. Para guardar un modelo, puedes pedirle a Claude que use
obtener_netlist()y exportar el script.dssresultante.Limitación actual: el servidor asume redes trifásicas balanceadas por simplicidad en varios parámetros por defecto (R1/X1). Para modelar desbalance fino (común en BT monofásico/bifásico) se pueden extender las herramientas con parámetros de secuencia cero (R0/X0) y matrices de impedancia — no está incluido en esta versión inicial.
⚠
calcular_arc_flashes un método simplificado (Lee/IEEE 1584-2002), NO el modelo empírico completo de IEEE 1584-2018. Las tablas de regresión del modelo completo son parte de un estándar protegido por IEEE y no están implementadas aquí. El método de Lee es útil para aprender la física y estimar órdenes de magnitud, pero tiende a ser conservador (sobreestima) para equipos en gabinete cerrado, y el tiempo de despeje se da como dato de entrada (no se calcula desde curvas TCC reales de protecciones, que este MCP tampoco modela todavía). Nunca usar estos resultados para determinar EPP en una instalación real — para eso se necesita un estudio normado (ETAP u otro software validado) revisado por un ingeniero eléctrico calificado.
7. Historial de cambios
Ver CHANGELOG.md para el detalle de qué herramientas se agregaron en cada versión, correcciones aplicadas, y qué elementos de OpenDSS todavía no están cubiertos (LoadShape, PVSystem, Storage, Capacitor, análisis horario, armónicos, visualización de topología, etc.). Este proyecto se extiende de forma incremental, un caso de estudio a la vez.
This server cannot be installed
Maintenance
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
AlicenseAqualityDmaintenanceMCP server that gives Claude access to Dutch mobility data via Studio Bereikbaar's OGC API, enabling querying of travel surveys, traffic models, and accessibility maps.16MIT- FlicenseNot gradedqualityAmaintenanceMCP server that exposes the UAM vertiport simulator as tools for AI-assisted analysis, enabling simulations, KPI analysis, and what-if studies via Claude Desktop.
- AlicenseNot gradedqualityAmaintenanceMCP server for the OpenEMT electromagnetic transient simulator, enabling AI agents to enumerate the physics catalog, build circuits, solve power flow and EMT studies, and query simulation results by stable block ID.523AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceMCP server exposing distributed industrial asset data (battery storage, EV chargers, solar arrays) with tools for asset status, geospatial search, alerts, anomaly explanation, and load simulation.1,014MIT
Related MCP Connectors
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/NoeCalle/MCP-Electrico'
If you have feedback or need assistance with the MCP directory API, please join our Discord server