Skip to main content
Glama
kimlnw

openfoam-mcp

by kimlnw

OpenFOAM MCP — 모든 MCP 클라이언트를 위한 CFD 코-파일럿

openfoam-mcp는 AI 어시스턴트(Claude Desktop 및 다른 MCP 클라이언트)를 OpenFOAM 설정·디버깅 코-파일럿으로 변환하는 Model Context Protocol 서버입니다. 실행 가능한 케이스를 생성하고, dictionary를 안전하게 편집하며, 벽 근접 메시 크기를 산정하고, 입구 난류 값을 계산하며, 솔버 로그를 읽어 실행이 수렴했는지 발산했는지를 알려줍니다 — 모두 채팅을 떠나지 않고 처리됩니다.

대부분의 도구는 순수 Python이며 OpenFOAM 설치가 필요 없기 때문에 어디서나 동작합니다. OpenFOAM 유틸리티(예: blockMesh, checkMesh)를 호출하는 소수의 도구는 환경을 감지하고, 해당 환경이 없을 때는 부드럽게 기능을 제한합니다.

왜 유용한가

CFD 케이스를 설정하는 것은 번거로운 관리 작업입니다. 올바른 y+, 메시와 모든 0/ 필드 사이에서 경계 패치를 일치시키기, 선택한 모델에 적합한 일관된 난류 필드, 안정적인 Courant 수, 그리고 수렴 여부를 알아보기 위한 여러 페이지의 잔차 출력입니다. 이 서버는 자연어로 그런 관리 작업을 처리합니다.

도구

Tool

하는 일

list_solvers

스캐폴드 가능한 솔버 템플릿(simpleFoam, pimpleFoam, icoFoam)을 나열합니다.

flow_regime

레이놀즈 수, 층류/난류 판정, 난류 모델 추천을 제공합니다.

first_cell_height

목표 y+에 대한 첫 번째 셀 높이(평편평 상관식)를 계산합니다.

y_plus_from_height_f

역산: 셀 높이에서 y+를 예측하고 유동 구간 경고를 제공합니다.

inlet_turbulence

강도와 길이 스케일로부터 입구 k, epsilon, omega, nut 값을 계산합니다.

time_step_from_cfl

목표 Courant 수에서 비정상 시간 스텝을 계산합니다.

scaffold_case

솔버에 대해 실행 가능한 케이스 트리(system/또는, constant/또는, 0/또는)를 작성합니다.

read_dict

foamDictionary를 통해 dictionary 파일이나 항목 하나를 읽습니다.

set_dict_entry

dictionary의 키를 설정합니다(foamDictionary로 중첩 접근, 텍스트 대체 가능).

set_boundary_condition

0/ 필드에서 패치의 boundaryField 항목을 설정하거나 삽입합니다.

check_case

케이스를 검증합니다: 파일 존재, 난류 소 필드, 메시-패치 대응 여부 등.

analyze_residuals

솔버 로그를 파싱 → 각 필드의 잔차 감소 및 수렴 판정.

run_openfoam_command

케이스 내에서 허용 목록(whitelist)에 등록된 OpenFOAM 유틸리티를 실행합니다(설치된 경우).

설치 및 실행

서버는 PyPI 패키지 형태로 콘솔 진입점을 제공하므로, 일반적인 제로-설치 실행기는 ``입니다:

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 도구가 도구 메뉴에 나타납니다.

예시 프롬프트

  • "0.5 m 시드(chord)에 30m/s의 공기가 흐릅니다. 이 경우의 레이놀즈 수는 무엇이며, y+ = 1에 필요한 첫 번째 셀 높이는 얼마나 되나요?"

  • "SimpleFOAM case를 ./duct에서 정상 상태로 만들고 12 m/s로 실행하도록 배치한 후 점검해 주세요."

  • "./duct에서 endTime을 3000으로 설정해 주세요."

  • "./duct/log.simpleFoam을 읽고 수렴되었는지 말해 주세요."

솔버 템플릿

템플릿

물리

일반적인 사용

simpleFoam

정상상태 비압축성 RANS (k-ω SST)

덕트, 외부 공력해석, 일반 정상 통상 흐름

pimpleFoam

비정상상태 비압축성 RANS (k-ω SST)

와류 방출(vortex shedding), 비정상 흐름

icoFoam

비정상상태 비압축성 층류

저-레이놀즈 교육용 케이스(캐비티, 저-Re 단관)

이 템플릿들은 OpenFOAM foundation v9 – v12 / ESI v2306+ 튜토리얼 스타일(transportPropertiesmomentumTransport)을 따르며, 생성된 박스 메쉬에는 inlet, outlet, walls, frontAndBack 패치가 있습니다.

개발

pip install -e ".[dev]"
pytest

라이선스

MIT License © 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