mcp-openems
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
mcp-openems
Servidor MCP (Model Context Protocol) que conecta un agente de inteligencia artificial con el simulador electromagnético libre openEMS (FDTD). Lo hace en dos modos de uso pensados para la docencia de antenas:
Ejecutor: el agente diseña, simula y ajusta la antena.
Tutor: el estudiante escribe el diseño y el agente solo simula, revisa y orienta. Las herramientas que crean o modifican el modelo se retiran desde el servidor.
Es el software que acompaña al artículo ¿Ejecutor o tutor? Agentes de IA conectados a simuladores en la enseñanza de antenas (en evaluación). Para citar el software:
Flores Córdova, D. A. (2026). mcp-openems: servidor MCP para openEMS con modos ejecutor y tutor (Versión 0.3.0) [Software]. Zenodo. https://doi.org/10.5281/zenodo.23487839
El DOI anterior es el DOI de concepto: siempre resuelve a la última versión. Cada versión tiene además su propio DOI en Zenodo. La versión que describe el artículo es la 0.3.0.
Los metadatos completos están en CITATION.cff.
English summary: an MCP server that lets an AI agent drive the openEMS FDTD simulator in two teaching modes. In executor mode the agent designs the antenna. In tutor mode the student designs it and the agent may only run, check and explain, because design tools are removed at the server level. It includes student templates, agent prompts, session-logging tools and the scripts that reproduce the article's verification tables and a permission test of tutor mode.
Contenido
Ruta | Qué es |
| Servidor MCP (FastMCP): 42 herramientas en modo ejecutor y 17 en modo tutor |
| Lógica de proyectos, simulaciones en segundo plano, resultados y revisión del diseño |
| Genera un |
| Barridos paramétricos |
| Prepara una sesión del estudio en Claude Code: modo, participante y permisos |
| Reúne transcripciones, registro MCP y proyectos de un participante, con SHA-256 |
| Prueba de extremo a extremo del servidor |
| Prueba de permisos del modo tutor: herramientas declaradas, llamadas prohibidas y política del cliente |
| Dependencias mínimas y entorno exacto del artículo |
| Equipo, sistema operativo y versiones usados en el artículo |
| Plantillas del estudiante para el modo tutor (dipolo y parche) |
| Instrucciones del agente por modo y por tarea |
| Scripts de la prueba técnica: casos de referencia, estudios de control, extrapolación de convergencia y contraste con CST |
| Búsqueda bibliográfica documentada: ecuaciones, scripts de descarga y deduplicación, y registro completo del cribado |
| Simulación de potencia del modelo mixto del estudio propuesto |
Related MCP server: cst-studio-mcp
Requisitos
Windows 10 u 11. Probado en Windows 11 con openEMS 0.37.0 y Python 3.14. El servidor tiene una ruta POSIX, pero no se probó en Linux ni en macOS.
openEMS 0.37 para Windows, descomprimido por ejemplo en
C:\openEMS.Python 3.13 o 3.14, porque las ruedas de openEMS 0.37 solo existen para esas versiones.
Un cliente MCP, por ejemplo Claude Desktop o Claude Code.
Instalación
cd mcp-openems
python -m venv .venv
.venv\Scripts\python -m pip install -r requirements.txt
.venv\Scripts\python -m pip install --no-index --find-links C:\openEMS\python openEMS
set CSXCAD_INSTALL_PATH=C:\openEMS
.venv\Scripts\python selftest.py --quickPara el entorno exacto del artículo, usa requirements-lock.txt en lugar de requirements.txt (ver ENTORNO.md). mcp se fija en <2 porque la versión 2.x renombró FastMCP. Si se prefiere uv, los comandos equivalentes son uv venv --python 3.14 .venv y uv pip install --python .venv\Scripts\python.exe ....
Registro en el cliente MCP
Ejemplo de entrada en claude_desktop_config.json o en un .mcp.json de proyecto (ajusta las rutas):
{
"mcpServers": {
"openems": {
"command": "C:\\ruta\\mcp-openems\\.venv\\Scripts\\python.exe",
"args": ["-u", "C:\\ruta\\mcp-openems\\server.py"],
"env": {
"CSXCAD_INSTALL_PATH": "C:\\openEMS",
"OPENEMS_WORKSPACE": "C:\\OPENEMS_MCP_WORK",
"OPENEMS_MCP_MODE": "full",
"OPENEMS_MCP_PARTICIPANT": ""
}
}
}
}Variable | Valor por defecto | Uso |
|
| Carpeta de proyectos. El servidor no lee ni escribe fuera de ella |
|
| Carpeta con |
|
|
|
| vacío | Código seudónimo que se guarda en el registro de llamadas |
Cómo funciona
Cada proyecto es una carpeta con un modelo declarativo (
model.json) y unsimulate.pygenerado a partir de él. El script es legible: los parámetros son variables y la geometría son expresiones como-L/2. Se ejecuta sin el agente (python simulate.py, con las opciones--dry,--post-only,--set L=29.5).Las simulaciones corren en un subproceso, de modo que el servidor nunca importa openEMS.
Post-proceso: S11, impedancia de entrada, ancho de banda a −10 dB, directividad, eficiencia de radiación y ganancia realizada. Se guardan en CSV, PNG, Touchstone y
summary.json.Modo tutor: las 25 herramientas que crean o modifican el modelo no se registran. Quedan las de abrir proyectos, ejecutar el script del estudiante, revisar la malla y el diseño, leer resultados y generar el reporte.
Registro: cada llamada se guarda en
OPENEMS_WORKSPACE\_logs\mcp_calls_AAAAMMDD.jsonlcon la hora, el participante, el modo, la herramienta, los argumentos y un extracto del resultado.Contornos PEC o PMC sin margen de aire en esa cara. Así se modela un plano de tierra infinito, por ejemplo con
BC[4] = 'PEC'para un monopolo.
Uso en un estudio con estudiantes
Configurar la sesión.
configurar_sesion.py --modo tutor --tarea dipolo --participante P07escribe en el workspace elCLAUDE.mdcon el prompt del modo, el.mcp.jsoncon el modo y el participante, y permisosdontAsk: solo las herramientasoems_*y la lectura de archivos.Abre una sesión nueva de Claude Code en el workspace y acepta una vez el diálogo de confianza de la carpeta.
No registres
openemstambién enclaude_desktop_config.json.
Recoger los datos. Al terminar,
recoger_sesion.py --participante P07 --destino D:\datoscopia la transcripción, el registro y los proyectos, y generaturnos.csvpara codificar.Plantillas. Las de
plantillas/dan al estudiante del modo tutor la misma estructura de script que genera el servidor en el modo ejecutor.
Reproducir la verificación del artículo
cd simulaciones
..\.venv\Scripts\python reproducir_tabla2.py &REM siete casos de referencia
..\.venv\Scripts\python estudios_control.py &REM convergencia, repetición, contornos y pérdidas
..\.venv\Scripts\python extrapolacion.py &REM extrapolación de Richardson de las series de convergencia
cd ..
.venv\Scripts\python prueba_permisos.py &REM prueba de permisos del modo tutorVer simulaciones/README.md para los casos, los tiempos y las tolerancias, busqueda/README.md para la búsqueda bibliográfica y protocolo/README.md para la simulación de potencia.
Qué no se publica y por qué
Soluciones de las tareas del estudio. Publicarlas invalidaría las tareas para los participantes. Se compartirán con otros docentes a solicitud.
Transcripciones y registros de participantes. Contienen datos personales; solo se publicarán datos agregados y registros codificados, según el plan de gobernanza de datos del estudio.
Resúmenes de los registros bibliográficos. Están protegidos por derechos de autor de sus editores;
busqueda/publica sus metadatos y las decisiones del cribado.Modelo de CST Studio Suite usado como contraste. Requiere una licencia comercial; sus resultados están en
simulaciones/contraste_cst.csv.
Licencia y créditos
Código bajo licencia MIT. openEMS y CSXCAD son proyectos independientes con su propia licencia (GPLv3); este repositorio no los incluye ni los redistribuye.
El software se desarrolló con asistencia de Claude (Anthropic). El autor lo revisó y verificó.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Design circuits, simulate and verify embedded firmware, and lay out PCBs with AI agents.
Structural FEM for AI agents: frames, plates, buckling, seismic and Eurocode checks, solved locally.
Train, evaluate, red-team and deploy AI agents: prompt tuning, LLM-judged evals, katas.
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI-assisted design of antennas and electromagnetic structures using openEMS FDTD simulation, with analytical dimension calculators and full-wave script generation.163AGPL 3.0
- AlicenseBqualityBmaintenancePython-first MCP server for CST Studio Suite (2024–2026) that lets AI assistants drive CST from Windows: open projects, build geometry, set materials and ports, run solvers, read S-parameters and farfield metrics, and generate design reports.218414AGPL 3.0
- AlicenseCqualityCmaintenanceEnables engineers to convert antenna papers/diagrams and natural language specs into auditable, versionable HFSS Python modeling code, with optional simulation and parametric optimization.22MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to drive RF/microwave design and simulation workflows, including geometry synthesis, multi-solver execution, quality checks, and optimization, with sandboxed draft-and-validate edits.42GPL 3.0