Skip to main content
Glama
Ching-Chiang

comsol-mcp

by Ching-Chiang

COMSOL MCP

KI-gestützter MCP-Server für COMSOL mit einem sichtbaren Desktop-Client-Workflow.

comsol-mcp wurde für den Workflow entwickelt, bei dem:

  • Sie manuell den COMSOL Multiphysics Server starten

  • COMSOL Desktop sich als visueller Client mit diesem Server verbindet

  • ein MCP-Client an dasselbe serverseitige Modell anbindet

  • Modellierungsänderungen sichtbar bleiben, anstatt als Black-Box-Batch-Job ausgeführt zu werden

Dieses Repository ist die neue Hauptlinie für sichtbare COMSOL-Automatisierung in dieser Codebasis. Der alte batch-orientierte Weg dient nur noch als Legacy-Referenz.

Warum existiert dieses Projekt?

Viele COMSOL-Automatisierungsabläufe sind leistungsstark, aber undurchsichtig. Sie können Java kompilieren, Batch-Jobs ausführen oder allgemeine serverseitige Simulationen steuern, aber sie lassen Sie nicht immer die Entwicklung des Modells in der Desktop-GUI verfolgen.

comsol-mcp konzentriert sich auf ein anderes Ziel:

  • sichtbare GUI-Änderungen

  • gemeinsamer serverseitiger Modellstatus

  • keine Polling-Brücke auf Desktop-Seite

  • keine GUI-Automatisierungsebene

  • kein Black-Box-Batch-only-Workflow

Kern-Workflow

Dieses Projekt verwendet einen Attach-First-Workflow:

  1. Starten Sie den COMSOL Multiphysics Server manuell.

  2. Notieren Sie den tatsächlichen Port aus der Server-Konsole.

  3. Verbinden Sie COMSOL Desktop mit demselben Port.

  4. Importieren Sie bei Bedarf das serverseitige Modell in den Desktop.

  5. Verbinden Sie MCP mit demselben Server über server_connect(host, port).

  6. Erstellen oder laden Sie das Arbeitsmodell.

  7. Verwenden Sie MCP-Tools, um das gemeinsame serverseitige Modell zu ändern.

  8. Beobachten Sie, wie sich dasselbe Modell in COMSOL Desktop aktualisiert.

Siehe den Workflow-Leitfaden für die vollständige Version.

Schnellstart

Voraussetzungen

  • Windows mit lokal installiertem COMSOL

  • Eine gültige COMSOL-Lizenz

  • Python 3.10 oder neuer

  • Ein manuell gestarteter COMSOL Multiphysics Server

Installation

Aus dem Quellcode:

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

Umgebungsvariablen setzen:

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

Starten des MCP-Servers:

python -m comsol_mcp.mcp_server

Oder verwenden Sie das Hilfsskript:

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

MCP-Konfigurationsbeispiel

Siehe:

Minimale sichtbare Demo

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")

Der Desktop sollte dieselbe Geometrie anzeigen, da Desktop und MCP dasselbe serverseitige Modell teilen.

Siehe examples/attach_first_demo.md für denselben Ablauf in Dokumentform.

Tool-Oberfläche

Aktuelle Tools:

  • 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="")

Die Oberfläche der Modellierungstools ist bewusst stabil. Diese Repository-Bereinigung benennt diese Tools nicht um und entfernt sie nicht.

Empfohlener Einstiegspunkt

Der empfohlene Einstiegspunkt ist:

server_connect("localhost", <actual_port>)

server_start() ist weiterhin verfügbar, aber es ist jetzt ein fortgeschrittener Fallback. Verwenden Sie es nur, wenn Sie möchten, dass MCP den Lebenszyklus des COMSOL-Servers steuert und akzeptieren, dass COMSOL möglicherweise automatisch einen anderen Port wählt.

Bekannte Einschränkungen

  • COMSOL Desktop zeigt das serverseitige Modell nach einer erfolgreichen Verbindung möglicherweise nicht automatisch an; Sie müssen das vorhandene Servermodell eventuell importieren oder dorthin wechseln.

  • server_connect() kann erfolgreich sein, während kein aktuelles Arbeitsmodell ausgewählt ist; verwenden Sie in diesem Fall model_create() oder model_load().

  • Die Konsolenausgabe des Servers und der tatsächliche Port sollten immer mit dem tatsächlich aktiven Listener abgeglichen werden.

  • Die Desktop-Grafik erfordert möglicherweise eine leichte Aktualisierung nach Änderungen am serverseitigen Modell.

Siehe den Fehlerbehebungs-Leitfaden.

Wie sich dies von anderen MCPs unterscheidet

Im Vergleich zu abaqus-mcp-server

abaqus-mcp-server ist ein Projekt im Stil von GUI-Scripting / GUI-Automatisierung. Es arbeitet mit einer bereits laufenden GUI und verwendet GUI-Automatisierungstechniken, um Aktionen auszulösen.

comsol-mcp verwendet keine GUI-Automatisierung im pywinauto-Stil für COMSOL. Stattdessen verbindet es sich direkt mit dem COMSOL Multiphysics Server und steuert dasselbe serverseitige Modell, das der Desktop visualisiert.

Im Vergleich zu allgemeinen COMSOL-Automatisierungs-MCPs

Öffentliche COMSOL-MCP-Listen betonen oft die Breite der Solver, die Netzgenerierung, die physikalische Einrichtung und die Abdeckung parametrischer Sweeps.

Dieses Projekt betont ein anderes Wertversprechen:

  • Attach-First-Ansatz

  • sichtbarer Desktop-Workflow

  • keine Black-Box-Modellierung

  • gemeinsamer Modellstatus zwischen Desktop und MCP

Es ist nicht einfach nur "ein weiteres COMSOL-Automatisierungs-MCP"; es geht speziell darum, den Workflow sichtbar und kollaborativ mit dem Desktop-Client zu gestalten.

Im Vergleich zum alten Batch-Weg

Der alte Batch-Weg verwendete:

  • comsolcompile

  • comsolbatch

Dieser Weg ist für Offline-Jobs immer noch nützlich, aber er ist nicht mehr die öffentliche Identität dieses Projekts. In diesem Repository wird er als Legacy-Referenz behandelt und nicht als Hauptlinie.

Siehe docs/differences.md für einen vollständigeren Vergleich.

Legacy / Früherer Batch-Weg

Ein früherer interner comsol-mcp-Weg in dieser Codebasis war batch-orientiert und umschloss comsolcompile sowie comsolbatch. Dieser Legacy-Weg ist bewusst nicht das öffentliche Gesicht dieses Repositorys.

Dieses Repository konzentriert sich auf:

  • COMSOL Multiphysics Server

  • Desktop als visueller Client

  • MCP-Anbindung an dasselbe Modell

Attribution

  • Aufgebaut auf MPh

  • Inspiriert von COMSOL-Client-Server-Workflows und verwandten MCP-Erkundungen

  • Nicht mit COMSOL verbunden

  • Enthält keine COMSOL-Binärdateien oder proprietären Assets

Lizenz

MIT. Siehe 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