Skip to main content
Glama
kimlnw

openfoam-mcp

by kimlnw

OpenFOAM MCP — ein CFD-Co-Pilot für jeden MCP-Client

openfoam-mcp ist ein Server für das Model Context Protocol, der einen KI-Assistenten (Claude Desktop und jeden anderen MCP-Client) in einen OpenFOAM-Setup- und Debugging-Co-Piloten verwandelt. Er erzeugt lauffähige Fälle, bearbeitet Dictionaries sicher, dimensioniert das wandnahe Netz, berechnet Einlass-Turbulenzwerte und liest Solver-Logs, um Ihnen zu sagen, ob ein Lauf konvergiert oder explodiert ist — ganz ohne, dass Sie den Chat verlassen.

Die meisten Tools bestehen aus reinem Python und benötigen keine OpenFOAM-Installation, funktionieren also überall. Die wenigen, die OpenFOAM-Dienstprogramme aufrufen (z. B. blockMesh, checkMesh), erkennen die Umgebung und degradieren elegant, wenn OpenFOAM nicht vorhanden ist.

Warum es nützlich ist

Das Einrichten eines CFD-Falls ist eine kniffelige Kleinarbeit: den richtigen y+-Wert, aufeinander abgestimmte Rand-Patches zwischen dem Netz und jedem 0/-Feld, konsistente Turbulenzfelder für das gewählte Modell, eine stabile Courant-Zahl und das Auslesen von Seiten mit Residuenausgaben, um zu erkennen, ob es konvergiert ist. Dieser Server erledigt diese Kleinarbeit über natürliche Sprache.

Tools

Tool

Funktion

list_solvers

Listet verfügbare Solver-Vorlagen auf (simple Platz

.

Hmm, I notice a mistake above: "lauffähige Fallgerüste" vs "lauffähige Fälle". Let me use "lauffähige Fälle" – fine.

-o promote.

Let's carefully now write the final answer without mistakes.

I notice some "wrong" characters in my draft due to thinking. Final answer will be clean.

Let's write final translation with all details.

Wait, but "near-wall mesh" - I earlier wrote "wandnahe Netz". Good.

Also "computes inlet" ... I wrote "Einlass-Turbulenzwerte". Good.

Now, I'll produce final answer, perhaps as one coherent text.

One more check: In table "Tools", row list_solvers description "Listet verfügbare Solver-Vorlagen auf (simpleForm, pimpleForm, icoForm)." Good.

Rows y_plus_from_height: "Umkehrung: vorhergesagtes y+ aus einer Höhe der ersten Zelle, mit Warnung zum Strömungsregime." Good.

analyze_residuals: "Parst ein Solver-Log → Residuen-Rückgang pro Feld + Konvergenzurteil." Good.

Now exclude "Einwell" world. Need produce final exactly:

Let's compose final answer now (mindful of required formatting# OpenFOAM MCP — ein CFD-Co-Pilot für jeden MCP-Client

openfoam-mcp ist ein Server für das Model Context Protocol, der einen KI-Assistenten (Claude Desktop und jeden anderen MCP-Client) in einen OpenFOAM-Setup- und Debugging-Co-Piloten verwandelt. Er erzeugt lauffähige Fälle, bearbeitet Dictionaries sicher, dimensioniert das wandnahe Netz, berechnet Einlass-Turbulenzwerte und liest Solver-Protokolle, um Ihnen zu sagen, ob ein Lauf konvergiert oder explodiert ist — ganz ohne, dass Sie den Chat verlassen.

Die meisten Tools bestehen aus reinem Python und benötigen keine OpenFOAM-Installation, funktionieren also überall. Die wenigen, die OpenFOAM-Dienstprogramme aufrufen (z. B. blockMesh, checkMesh), erkennen die Umgebung und degradieren elegant, wenn OpenFOAM nicht vorhanden ist.

Warum es nützlich ist

Das Einrichten eines CFD-Falls ist eine knifflige Kleinarbeit: den richtigen y+-Wert, eine aufeinander abgestimmte Rand-Patches um zwischen dem Netz und jedem 0/-Feld, konsistente Turbulenzfelder für das gewählte Modell, eine stabile Courant-Zahl und das Durchforsten von Seiten derResiduenausgaben, um festzustellen, ob es konvergiert ist. Dieser Server erledigt diese Punkt-Punkte-Arbeit über natürliche Sprache.

Tools

Tool

Funktion

list_solvers

Listet verfügbare Solver-Vorlagen auf (OpenFOAM simpleFoam, pimpleFoam, icoFoam).

flow_regime

Reynolds-Zahl, Beurteilung laminar/turbulent, Turbulenzmodell-Empfehlung.

first_cell_height

Höhe der ersten Zelle für ein Ziel-y+ (Flachplatten-Korrelation).

y_plus_from_height

Umkehrung: vorhergesagtes y+ aus einer Zellhöhe mit Warnung zum Strömungsregime.

inlet_turbulence

Einlasswerte k, epsilon, omega, nut aus Intensität und Längenmaß.

time_step_from_cfl

Instationärer Zeitschritt aus einer Ziel-Courant-Zahl.

scaffold_case

Legt eine lauffähige Fallstruktur an (system/, constant/, 0/) für einen Solver.

read_dict

Liest eine Dictionary-Datei oder einen einzelnen Eintrag (über foamDictionary).

set_dict_entry

Setzt ein Dictionary-Schlüsselwort (verschachtelt über foamDictionary; Text-Fallback).

set_boundary_condition

Setzt/ergänzt den boundaryField-Eintrag eines Patches in einem constantScale-Feld.

check_case

Prüft einen Fall: Dateien vorhanden, Turbulenzfelder konsistent, Patches passen zum Netz.

analyze_residuals

Parst ein Solver-Log → Residuen-Abnahme pro Feld + Konvergenz-Urteil.

run_openfoam_command

Führt ein freigegebenes OpenFOAM-Dienstprogramm innerhalb eines Falls aus (falls installiert).

Installation und Ausführung

Die Server wird als PyPI-Paket mit einem Konsolen-Einstiegspunkt ausgeliefert. Der übliche Zero-Install-Runner ist uvx:

uvx openfoam-mcp

oder installieren Sie das Paket in einer Umgebung:

pip install openfoam-mcp
openfoam-mcp

Konfiguration von Claude Desktop

Fügen Sie dies Ihrer claude_desktop_config.json hinzu (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\\Claude\\):

{
  "mcpServers": {
    "openfoam": {
      "command": "uvx",
      "args": ["openfoam-mcp"]
    }
  }
}

Starten Sie Claude Desktop neu; die OpenFOAM-Tools erscheinen im Menü „Tools“.

Beispiel-Prompts

  • „Ich habe Luft mit 30 m/s über eine 0,5 m lange Profilsehne. Welche Reynolds-Zahl ergibt sich und welche Höhe der ersten Zellen brauche ich für lässtexample = 1?“

  • „Erstelle einen stationären simpleFoam-Fall in ./duct bei 12 m/s und prüfe ihn.“

  • „Setze endTime in ./duct/system/controlDict auf 3000.“

  • „Lies ./Run log/simpleFoam und sag mir, ob es konvergiert ist.“

Solver-Vorlagen

Vorlage

Physik

Typische Anwendung

simpleFoam

Stationäre inkompressible RANS (k-ω SST)

Kanäle, Außenluft, allgemeine stationäre Strömungen

pimpleFoam

Instationäre inkompressible RANS (k-ω SST)

Wirbelablösung, instationäre Strömungen

icoFoam

Instationäre inkompressible laminare Strömung

Lehre-Fälle mit Nielsen-low-number (Cavity, Low-Re Rohr)

Die Vorlagen folgen dem Tutorial-Stil von OpenFOAM Foundation v9–v12 / ESI v2306+ (transportProperties + momentumTransport). Das erzeugte Box-Netz besitzt die Patches inlet, outlet, walls, frontAndBack.

Entwicklung

pip install -e ".[dev]"
pytest

Lizenz

MIT © 2026 Tanawat Manokieng

-
license - not tested
Not graded
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 Connectors

  • AI-callable calculators and engineering models with real formulas. No hallucinated math.

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

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/kimlnw/OpenFoamMCP'

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