Skip to main content
Glama
kimlnw

openfoam-mcp

by kimlnw

OpenFOAM MCP — CFD-копилот для любого MCP-клиента

openfoam-mcp — это сервер Model Context Protocol, который превращает ИИ-ассистента (Claude Desktop и любой другой MCP-клиент) в копилота по настройке и отладке OpenFOAM. Он создаёт готовые к запуску кейсы, безопасно редактирует словари, подбирает размер пристеночной сетки, вычисляет значения турбулентности на входе и читает логи решателя, чтобы сказать, сошёлся ли расчёт или развалился — всё это, не покидая чат.

Большинство инструментов написаны на чистом Python и не требуют установки OpenFOAM, поэтому работают в любом окружении. Немногие из них вызывают утилиты OpenFOAM (например, blockMesh, checkMesh), определяют окружение и корректно снижают функциональность при его отсутствии.

Чем это полезно

Настройка CFD-кейса — это скрупулёзное согласование деталей: правильные y+, совпадение граничных патчей между сеткой и каждым полем в 0/, консистентные поля турбулентности для выбранной модели, стабильное число Куранта и чтение простыней вывода невязок, чтобы понять, сошёлся ли расчёт. Этот сервер выполняет все это путём естественного языка.

Инструменты

Инструмент

Что делает

list_solvers

Выводит список шаблонов решателей для генерации кейса (simpleFoam, pimpleFoam, icoFoam).

flow_regime

Число Рейнольдса, заключение «ламинарный/турбулентный», рекомендация по модели турбулентности.

first_cell_height

Высота первой ячейки у стенки для целевого y+ (корреляция для плоской пластины).

y_plus_from_height

Обратная операция: прогнозируемый y+ по высоте ячейки, с предупреждением о режиме течения.

inlet_turbulence

Расчёт входных k, epsilon, omega, nut по интенсивности и масштабу длины.

time_step_from_cfl

Шаг по времени для нестационарного расчёта из целевого числа Куранта.

scaffold_case

Создаёт структуру кейса, готовую к запуску (system/, constant/, 0/), для заданного решателя.

read_dict

Читает файл словаря или отдельную запись (через foamDictionary).

set_dict_entry

Задаёт ключ в словаре (вложенный — через foamDictionary; текстовый резервную метод).

set_boundary_condition

Задаёт или вставляет запись boundaryField патча в поле в 0/.

check_case

Проверяет кейс: наличие файлов, согласованность полей турбулентности, соответствие патчей по две части.

analyze_residuals

Разбирает лог решателя, снижение невязки по каждому полю + вердикте сходимости.

run_openfoam_command

Запускает разрешённую утилиту OpenFOAM внутри кейса (если установлена).

Установка и запуск

Сервер поставляется как пакет на PyPI с консольной точкой входа, поэтому обычный способ запуска без установки — uvx:

uvx openfoam-mcp

или установите его в окружение:

pip install openfoam-mcp
openfoam-mcp

Конфигурация Claude Desktop

Добавьте это в claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

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

Перезапустите Claude Desktop — инструменты OpenFOAM появятся в меню инструментов.

Примеры запросов

  • «У меня воздух со скоростью 30 м/с охватывает хорду длиной 0,5 м. Какое это число Рейнольдса и какая высота первого слоя нужна для y+ = 1?»

  • «Создай стационарный кейс simpleFoam в ./duct для скорости 12 м/с и проверь его.»

  • «Установи endTime в 3000 в файле ./duct/system/controlDict.»

  • «Прочитай ./duct/log.simpleFoam и скажи, сошёлся ли расчёт.»

Шаблоны решателей

Шаблон

Физика

Типичное применение

simpleFoam

Стационарный несжимаемый RANS (k-ω SST)

Каналы, внешняя аэродинамика, стационарные течения

pimpleFoam

Нестационарный несжимаемый RANS (k-ω SST)

Отрывные вихри, нестационарные потоки

icoFoam

Нестационарный несжимаемый ламинарный flow

Учебные задачи с малым Re (каверна, труба при малом Re)

Шаблоны соответствуют стилю учебных примеров OpenFOAM Foundation v9–v12 / ESI v2306+ (transportProperties + momentumTransport). В созданной шестигранной сетке используются патчи inlet, outlet, walls, frontAndBack.

Разработка

pip install -e ".[dev]"
pytest

Лицензия

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