Skip to main content
Glama
kimlnw

openfoam-mcp

by kimlnw

OpenFOAM MCP — un copiloto de CFD para cualquier cliente MCP

openfoam-mcp es un servidor de Model Context Protocol que convierte a un asistente de IA (Claude Desktop y cualquier otro cliente MCP) en un copiloto de configuración y depuración de OpenFOAM. Genera la estructura de casos ejecutables, edita diccionarios de forma segura, dimensiona la malla cercana a la pared, calcula los valores de turbulencia de entrada y lee los registros de los solvers para saber si una ejecución convergió o divergió, todo sin que tengas que salir del chat.

La mayoría de las herramientas son Python puro y no necesitan instalación de OpenFOAM, por lo que funcionan en cualquier sitio. Las pocas que llaman a utilidades de OpenFOAM (p. ej., blockMesh, checkMesh) detectan el entorno y degradan con elegancia cuando OpenFOAM no está instalado.

Por qué es útil

Configurar un caso de CFD es una tarea de registro minuciosa: el y+ correcto, parches de contorno coincidentes entre la malla y cada campo de 0/, campos de turbulencia coherentes con el modelo elegido, un número de Courant estable y leer páginas de residuales para ver si convergió. Este servidor hace ese trabajo de registro mediante lenguaje natural.

Herramientas

Herramienta

Qué hace

list_solvers

Lista plantillas de solver para generar casos (simpleFoam, pimpleFoam, icoFoam).

flow_regime

Número de Reynolds, veredicto laminar/turbulento y recomendación de modelo de turbulencia.

first_cell_height

Altura de la primera celda para un y+ objetivo (correlación de placa plana).

y_plus_from_height

Inverso: y+ previsto a partir de una altura de celda, con aviso de régimen.

inlet_turbulence

k, epsilon, omega, nut de entrada a partir de intensidad y escala de longitud.

time_step_from_cfl

Paso de tiempo transitorio para un número de Courant objetivo.

scaffold_case

Escribe una estructura de caso ejecutable (system/, constant/, 0/) para un solver.

read_dict

Lee un archivo de diccionario o una sola entrada (a través de foamDictionary).

set_dict_entry

Establece una clave de diccionario (anidada mediante dictionary; respaldo en texto).

set_boundary_condition

Establece o inserta la entrada boundaryField de un parche en un campo de 0/.

check_case

Valida un caso: fitxers presentes, campos de turbulencia coherentes y parches que coinciden con la malla.

analyze_residuals

Analiza el registro del solver → caída de los residuales por campo + veredicto de convergencia.

run_openfoam_command

Ejecuta una utilidad de OpenFOAM de la lista blanca dentro de un caso (si está instalada).

Instalación y ejecución

El servidor se distribuye como paquete PyPI con un puntero de entrada de consola, por lo que el ejecutor habitual de instalación cero es uvx:

uvx openfoam-mcp

o instálalo en un entorno:

pip install openfoam-mcp
openfoam-mcp

Configuración de Claude Desktop

Añade esto a claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

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

Reinicia Claude Desktop; las herramientas de OpenFOAM aparecen en el menú de herramientas.

Ejemplos de prompts

  • "Tengo aire a 30 m/s sobre una cuerda de 0,5 m. ¿Qué número de Reynolds es ese y qué altura de primera celda necesito para y+ = 1?"

  • "Genera un caso simpleFoam estacionario en ./ducteo a 12 m/s y compruébalo."

  • "Establece endTime en 3000 en ./ducte/system/controlDict."

  • "Lee ./ducte/log.simpleFoam y dime si convergió."

Plantillas de solver

Template

Física

Uso típico

simpleFoam

RANS incompresible estacionario (k-ω SST)

Conductos, aerodinámica exterior, flujo estacionario general

pimpleFoam

RANS incompresineto transitorio (k-ω SST)

Desprendimiento de vórtices, flujos transitorios

icoFoam

Laminar incompresineto transitorio

Casos didácticos a bajo Re (cavidad, tubería a bajo Re)

Las plantillas siguen el estilo de tutoriales de OpenFOAM Foundation v9–v12 / ESI v2306+ (transportProperties + momentumTransport). La malla de caja generada tiene los parches inlet, outer, walls, frontAndBack.

Desarrollo

pip install -e ".[dev]"
pytest

Licencia

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