Skip to main content
Glama
Ching-Chiang

comsol-mcp

by Ching-Chiang

COMSOL MCP

Servidor MCP impulsado por IA para COMSOL con un flujo de trabajo de cliente de escritorio visible.

comsol-mcp está diseñado para el flujo de trabajo donde:

  • inicias manualmente COMSOL Multiphysics Server

  • COMSOL Desktop se conecta a ese servidor como cliente visual

  • un cliente MCP se conecta al mismo modelo del lado del servidor

  • los cambios en el modelado permanecen visibles en lugar de ejecutarse como un trabajo por lotes de caja negra

Este repositorio es la nueva línea principal para la automatización visible de COMSOL en esta base de código. La antigua ruta orientada a lotes es ahora solo una referencia heredada.

Por qué existe este proyecto

Muchos flujos de automatización de COMSOL son potentes pero opacos. Pueden compilar Java, ejecutar trabajos por lotes o dirigir simulaciones genéricas del lado del servidor, pero no siempre te permiten observar cómo evoluciona el modelo en la interfaz gráfica de escritorio.

comsol-mcp se centra en un objetivo diferente:

  • cambios visibles en la interfaz gráfica

  • estado del modelo compartido en el lado del servidor

  • sin puente de sondeo del lado del escritorio

  • sin capa de automatización de interfaz gráfica

  • sin flujo de trabajo de caja negra solo por lotes

Flujo de trabajo principal

Este proyecto utiliza un flujo de trabajo de conexión primero:

  1. Inicia COMSOL Multiphysics Server manualmente.

  2. Anota el puerto de escucha real desde la consola del servidor.

  3. Conecta COMSOL Desktop a ese mismo puerto.

  4. Importa el modelo del lado del servidor a Desktop si es necesario.

  5. Conecta MCP al mismo servidor con server_connect(host, port).

  6. Crea o carga el modelo de trabajo.

  7. Utiliza las herramientas de MCP para modificar el modelo compartido del lado del servidor.

  8. Observa cómo se actualiza el mismo modelo en COMSOL Desktop.

Consulta la guía de flujo de trabajo para la versión completa.

Inicio rápido

Requisitos previos

  • Windows con COMSOL instalado localmente

  • Una licencia válida de COMSOL

  • Python 3.10 o superior

  • Un COMSOL Multiphysics Server iniciado manualmente

Instalación

Desde el código fuente:

git clone <your-repo-url> comsol-mcp
cd comsol-mcp
python -m pip install -e .

Establece las variables de entorno:

$env:COMSOL_ROOT = "C:\Program Files\COMSOL\COMSOL63\Multiphysics"
$env:COMSOL_SERVER_MCP_HOME = "$PWD\comsol-server-home"

Inicia el servidor MCP:

python -m comsol_mcp.mcp_server

O utiliza el script auxiliar:

.\scripts\start_comsol_mcp.ps1 -Python python -ComsolRoot "C:\Program Files\COMSOL\COMSOL63\Multiphysics" -McpHome "$PWD\comsol-server-home"

Ejemplo de configuración de MCP

Consulta:

Demostración visible mínima

server_connect("localhost", <actual_port>)
model_create("VisibleServerModel")
ensure_component("comp1", 2)
ensure_geometry("comp1", "geom1", 2)
ensure_mesh("comp1", "mesh1")
create_feature("comp1", "geom1", "r1", "Rectangle", "[{\"name\":\"size\",\"values\":[\"60[mm]\",\"30[mm]\"]},{\"name\":\"pos\",\"values\":[\"-30[mm]\",\"-15[mm]\"]}]", true)
run_feature("mesh", "mesh1", "comp1")

Desktop debería mostrar la misma geometría porque Desktop y MCP comparten el mismo modelo del lado del servidor.

Consulta examples/attach_first_demo.md para ver el mismo flujo en formato de documento.

Superficie de herramientas

Herramientas actuales:

  • server_info()

  • server_start(...)

  • server_connect(host, port, model_name="")

  • server_disconnect(shutdown_server=false)

  • model_create(name="Server Model")

  • model_load(path)

  • model_tree()

  • get_parameters()

  • set_parameters(parameters_json)

  • ensure_component(component="comp1", dimension=2)

  • ensure_geometry(component="comp1", geometry="geom1", dimension=2)

  • ensure_mesh(component="comp1", mesh="mesh1")

  • create_feature(component, geometry, tag, feature_type, properties_json="[]", run_geometry=false)

  • update_feature(component, geometry, tag, properties_json, run_geometry=false)

  • delete_feature(component, geometry, tag, run_geometry=false)

  • run_feature(collection, tag, component="comp1")

  • run_study(study_tag="")

  • save_model(path="")

La superficie de la herramienta de modelado es intencionalmente estable. Esta limpieza del repositorio no cambia el nombre ni elimina estas herramientas.

Punto de entrada recomendado

El punto de entrada recomendado es:

server_connect("localhost", <actual_port>)

server_start() sigue estando disponible, pero ahora es una alternativa avanzada. Úsala solo cuando quieras que MCP controle el ciclo de vida del servidor COMSOL y aceptes que COMSOL pueda elegir un puerto de escucha diferente automáticamente.

Limitaciones conocidas

  • Es posible que COMSOL Desktop no muestre automáticamente el modelo del lado del servidor después de una conexión exitosa; es posible que debas importar o cambiar al modelo de servidor existente.

  • server_connect() puede tener éxito mientras no haya un modelo de trabajo actual seleccionado; en ese caso, usa model_create() o model_load().

  • La salida de la consola del servidor y el puerto de escucha real siempre deben verificarse con el oyente activo real.

  • Los gráficos de escritorio pueden requerir una actualización ligera después de los cambios en el modelo del lado del servidor.

Consulta la guía de solución de problemas.

En qué se diferencia de otros MCP

Frente a abaqus-mcp-server

abaqus-mcp-server es un proyecto de estilo de automatización/scripting de interfaz gráfica. Funciona con una interfaz gráfica ya en ejecución y utiliza técnicas de automatización de interfaz gráfica para activar acciones.

comsol-mcp no utiliza automatización de interfaz gráfica al estilo pywinauto para COMSOL. En su lugar, se conecta directamente a COMSOL Multiphysics Server y dirige el mismo modelo del lado del servidor que visualiza Desktop.

Frente a MCP de automatización genérica de COMSOL

Los listados públicos de MCP de COMSOL a menudo enfatizan la amplitud del solucionador, la generación de mallas, la configuración de física y la cobertura de barrido paramétrico.

Este proyecto enfatiza una propuesta de valor diferente:

  • conexión primero

  • flujo de trabajo de escritorio visible

  • modelado que no es de caja negra

  • estado del modelo compartido entre Desktop y MCP

No es solo "otro MCP de automatización de COMSOL"; se trata específicamente de hacer que el flujo de trabajo sea visible y colaborativo con el cliente de escritorio.

Frente a la antigua ruta por lotes

La antigua ruta por lotes utilizaba:

  • comsolcompile

  • comsolbatch

Esa ruta sigue siendo útil para trabajos sin conexión, pero ya no es la identidad pública de este proyecto. En este repositorio, se trata como una referencia heredada en lugar de la línea principal.

Consulta docs/differences.md para una comparación más completa.

Ruta heredada / anterior por lotes

Una ruta interna anterior de comsol-mcp en esta base de código estaba orientada a lotes y envolvía comsolcompile más comsolbatch. Esa ruta heredada intencionalmente no es la cara pública de este repositorio.

Este repositorio se centra en:

  • COMSOL Multiphysics Server

  • Desktop como cliente visual

  • Conexión de MCP al mismo modelo

Atribución

  • Construido sobre MPh

  • Inspirado en los flujos de trabajo cliente-servidor de COMSOL y exploraciones de MCP relacionadas

  • No afiliado a COMSOL

  • No incluye binarios de COMSOL ni activos propietarios

Licencia

MIT. Consulta LICENSE.

Install Server
A
license - permissive license
B
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/Ching-Chiang/comsol-mcp'

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