Skip to main content
Glama
kimlnw

openfoam-mcp

by kimlnw

OpenFOAM MCP — あらゆる MCP クライアントのための CFD コパイロット

openfoam-mcpModel Context Protocol サーバーで、AI アシスタント(Claude Desktop や、その他のあらゆる MCP クライアント)を OpenFOAM のセットアップとデバッグのコパイロットに変えます。実行可能なケースを スキャフォールドし、辞書を安全に編集し、壁面近傍メッシュの寸法を決め、入口の乱流値を 計算し、ソルバーログを読んで、収束したのか発散したのかを教えてくれます。 しかも、チャットから離れる必要はありません。

ほとんどのツールは純粋な Python であり、OpenFOAM のインストールを必要としないため、 どこでも動作します。OpenFOAM ユーティリティ(例: blockMeshcheckMesh)を呼び出す 一部のツールは、環境を検出し、OpenFOAM が存在しない場合はグレースフニルに不機能を発現します。

なぜ役に立つのか

CFD ケースのセットアップは、厄介な簿記作業です。正しい y+、メッシュとすべての 0/ フィールドの間で境界パッチを一致させること、選択したモデルに整合する乱流フィー ルドの用意、安定したクーラン数、そして収束したかどうかを確認する大量の残差出力を読 むこと。このサーバーは、その一連の簿記作業を自然言語で行ってくれます。

ツール

Tool

Description

list_solvers

スキャフォールド可能なソルバーテンプレート(simpleFoam、pimpleFoam、icoFoam)を一覧表示します。

flow_regime

レイノルズ数、層流/乱流の判定、乱流モデルの推奨を返します。

first_cell_height

目標 y+ に対する第一セル高さ(平板の相関式)。

y_plus_from_height

逆算: セル高さから予測される +isu+ と流れの状態についての警告を返します。

inlet_turbulence

乱れ込む強度と長さスケールから入口の kepsilonomeganut を計算。

time_step_from_cfl

目標クーラン数のための非定常時間スステップを計算します。

scaffold_case

ソルバー用の実行可能なケースツリー(system/constant/0/)を書き出します。

read_dict

辞書ファイルまたは単一のエントリを読み込みます(foamDictionary 経由)。

set_dict_entry

辞書キーワードを設定します ( foamDictionary でネストに対応、テキストフォールバック付き)。

set_boundary_condition

0/ フィールド中のパッチの boundaryField. エントリを設定/挿入します。

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 m/s の空気は 0.5 m のコード翼弦に沿って流れています。レイノルズ数はいくつですか? y+ = 1 に必要な第一セル高セル高さはいくつですか?」

  • 「./duct に 12 m/s の定常時 simpleFoam ケースをスキャフォールドして確認してください。」

  • 「./duct/system/controlDict の endTime を 3000 に設定してください。」

  • 「./duct/log.simpleFoam を読んで、収束したかどうか教えてください。」

ソルバー templates

テンプレート

物理

典型的な用途

simpleFoam

定常時非圧縮性 RANS(k-ω SST)

ダクト、外部空気、一般的な非定常流れ

pimpleFoam

非定常時非圧縮性 RANS(k-ω SST)

渦巣放置、非定常流れ

icoFoam

非定常時非圧縮性 層流

低 Re の教育用ケース(キャビティ、低 Re パイプ)

テンプレートは OpenFOAM Foundation v9–v12 / ESI v2306+ のチュートリアルスタイル (transportProperties + momentumTransport)に従っています。生成されるボックス メッシュには inletoutletwallsfrontAndBack というパッチがあります。

開発

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