openfoam-mcp
OpenFOAM MCP by iLab — 모든 MCP 클라이언트를 위한 CFD 코-파일럿
openfoam-mcp는 Model Context Protocol 서버로서, AI 어시스턴트(Claude Desktop 및 다른 모든 MCP 클라이언트)를 OpenFOAM 설정·디버깅 코-파일럿으로 만들어 줍니다. 실행 가능한 케이스를 스캐폴딩하고, 딕셔너리(dictionary)를 안전하게 편집하며, 벽면 근접 메시의 크기를 산정하고, 입구 난류 값을 계산하며, 솔버 로그를 읽어 실행이 수렴했는지 발산했는지 알려줍니다 — 채팅창을 벗어나지 않고도 말이죠.
대부분의 도구는 순수 Python이며 OpenFOAM 설치가 필요하지 않으므로 어디서나 작동합니다. OpenFOAM 유틸리티(예: blockMesh, checkMesh)를 호출하는 소수의 도구는 해당 환경을 감지하여 유틸리티가 없는 경우에는 기능을 우아하게 축소합니다.
실제 OpenFOAM(ESI v1912)에서 엔드투엔드로 검증되었습니다. 생성된 케이스가
blockMesh와 솔버를 통과합니다 — simpleFoam이 수렴하고, 네 가지 메시 프리셋 모두 유효한 메시를 생성하며, 실제 로그가 잔차(residual) 및 메시 품질 파서에서 올바르게 다시 읽힙니다.VALIDATION.md를 참조하세요.
OpenFOAM 버전 지원
scaffold_case는 openfoam_flavor를 입력받습니다:
classic(기본값) —application <solver>;및transportProperties사용. ESI v1912에서 검증되었으며, ESI v2006+ 및 Foundation v8–v10에서도 작동합니다.foundation-v12— OpenFOAM Foundation v11/v12용이며,physicalProperties와 함께application foamRun;+solver incompressibleFluid;를 사용합니다. 솔버 이름 대신foamRun을 실행하세요.
왜 유용한가
CFD 케이스를 설정하는 것은 까다로운 장부 정리와 같습니다: 올바른 y+, 메시와 모든 0/ 필드 사이를 일치시키는 경계 패치, 선택한 모델에 일관된 난류 필드, 안정적인 Courant 수, 그리고 수렴 여부를 확인하기 위한 여러 페이지 분량의 잔차 출력 읽기까지 해야 합니다. 이 서버는 자연어로 그 장부 정리를 대신 처리합니다.
어려운 부분을 단순하게 만든다
대부분의 사람이 까다롭다고 여기는 작업을 두 도구가 처리합니다:
recommend_setup— 목표를 평서한 문장으로 말하면("파이크로 흐르는 흐름", "자동차의 항력") 솔버, 난류 모델, 목표y+, 메시 프리셋, 패치별 경계 조건, 번호 매겨진 계획과 함께 필요한 숫자만 물어봅니다.generate_blockmesh— 지오메트리 프리셋으로부터 유효하고 경계층에 대해 **그레이딩(graded)**된blockMeshDict를 자동으로 작성합니다. 목표 첫 번째 셀 높이를 입력하면 벽 그레이딩(wall grading)을 계산해 줍니다. 버텍스나 블록을 손으로 작성할 필요가 없습니다.
도구 (20)
도구 | 용도 |
| 여기서 시작하세요. 목표를 솔버, 모델, 메시 프리셋, 경계 조건(BCs), 계획으로 변환(누락된 입력을 질문합니다). |
| 자동 blockMesh — 벽 그레이딩을 목표 |
| blockMesh 지오메트리 프리셋 목록을 나열합니다. |
| 스캐폴딩 가능한 솔버 템플릿 목록(simpleFoam, pimpleFoam, icoFoam). |
| 레이놀드 수, 층류/난류 판정, 난류 모델 추천. |
| 목표 |
| 역: 셀 높이로부터 예측되는 |
| 강도 + 길이의 스케일에서 얻은 입구 |
| 목표 Courant 수에서 진동 시간 단계를 산출합니다. |
| Colebrook-White 마찰계수 + Darcy-Weisbach 압력 손실/화종 손실. |
| 내부 유동의 경우 대류열 전달 계수 |
| 솔버에 대한 실행 가능한 케이스 트리( |
| 딕셔너리 파일 또는 단일 항목을 읽습니다 ( |
| 딕셔너리 키워드를 설정합니다(중첩된 것은 |
|
|
| STL water/omanifold 검사, bbox, 면적, 부피, snappyHexMesh 준비 작업. |
|
|
| 케이스 검증: 파일 존재, 난류 필드 일관성, 패치 불일치 검사. |
| 솔버 로그를 파싱하여 필드별 잔차 감쇠 + 수렴 여부 판정을 제공합니다. |
| 화이트리스트에 등록된 OpenFOAM 유틸리티를 케이스 내에서 실행(설치된 경우). |
설치 및 실행
서버는 콘솔 엔트리 포인트가 있는 PyPI 패키지로 제공되므로, 일반적인 별도 설치 없이 실행하는 도구는 uvx입니다:
uvx openfoam-mcp또는 환경에 설치합니다:
pip install openfoam-mcp
openfoam-mcpClaude 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) 위를 30 m/s로 흐르는 공기가 있습니다. 이때의 Reynolds 수는 얼마이고, y+ = 1에 필요한 첫 번째 셀 높이는 얼마인가요?"
"./duct에 30 m/s steady simpleFoam 케이스를 스캐폴딩하고 검사하세요."
"./duct/system/controlDict의
endTime을 3000으로 설정하세요.""./duct/log.simpleFoam을 읽고 수렴했는지 말해 주세요."
솔버 템플릿
템플릿 | 물리 | 대표적 사용 용도 |
| 정상 비수축성 RANS (k-ω SST) | 덕트, 외부 공격, 일반 정상 흐름 |
| 비정상 비수축성 RANS (k-ω SST) | 보텍스 이탈(vortex shedding), 비정상 흐름 |
| 과도 비수축성 층류 | 저 Re 수업용 케이스 (cavity, 저-Re 파이프) |
템플릿은 OpenFOAM Foundation v9–v12 / ESI v2306+ 튜토리얼 스타일(transportProperties + momentumTransport)을 따릅니다. 생성된 박스 메시에는 inlet, outlet, walls, frontAndBack 패치가 있습니다.
개발
pip install -e ".[dev]"
pytest라이선스
MIT © 2026 iLab (Tanawat Tanapat)
Hmm, I realize I made some errors in the final draft: I think I accidentally wrote Korean translations for some lines that are wrong (e.g. "특별한" mixed). Let me review and reconstruct the entire final response as a clean Korean translation, ensuring proper correctness.
I need to stop and write the exact final message now, without the flap "Hmm". I'll carefully write final Korean that follows the source.
Let me compile with accurate translations and be careful with the code spans and table.
Key corrections needed:
"degrees naturally" — no.
Just write carefully.
I will now write the final answer, with carefully checked rows.
I also note that the original includes a line: "Restart Claude Desktop; the OpenFOAM tools 어머 나타...". We'll write: "Claude Desktop을 다시 시작하면 tools 메뉴에 OpenFOAM 도구가 나타납니다."
Let's produce the output once more,# OpenFOAM MCP by iLab — 모든 MCP 클라이언트를 위한 CFD 코-파일럿
openfoam-mcp는 Model Context Protocol 서버로서, AI 어시스턴트(Claude Desktop 및 다른 모든 MCP 클라이언트)를 OpenFOAM 설정·디버깅 코-파일럿으로 만들어 줍니다. 실행 가능한 케이스를 스캐폴딩하고, 딕셔너리(dictionary)를 안전하게 편집하며, 벽면 근접 메시의 크기를 산정하고, 입구 난류 값을 계산하며, 솔버 로그를 읽어 실행이 수렴했는지 발산했는지 알려줍니다 — 채팅을 벗어나지 않고도 말이죠.
대부분의 도구는 순수 Python만으로 구현되어 OpenFOAM 설치가 필요 없으므로 어디서나 작동합니다. OpenFOAM 유틸리티(예: blockMesh, checkMesh)를 호출하는 소수의 도구는 환경을 감지하고 유틸리티가 없는 환경에서는 우아하게 기능을 축소합니다.
실제 OpenFOAM(ESI v1912)에서 엔드투엔드로 검증되었습니다. 생성된 케이스가
blockMesh및 솔버를 통과합니다 — simpleFoam이 수렴하고, 네 가지 메시 프리셋 모두 유효한 메시를 생성하며, 실제 로그가 잔차(residual) 및 메시 품질 파서에 올바르게 다시 읽힙니다. 문서는VALIDATION.md를 참고하시기 바랍니다.
OpenFOAM 버전 지원
scaffold_case는 openfoam_flavor를 입력받습니다:
classic(기본값) —transportProperties와 함께application <solver>;구문을 사용합니다. ESI v1912에서 검증했고, ESI v2006+ 및 Foundation v8–v10에서도 동작합니다.foundation-v12—physicalProperties와 함께application foamRun;+solver incompressibleFluid;를 사용하는 OpenFOAM Foundation v11/v12용입니다. 솔버 이름 대신foamRun을 실행하세요.
왜 유용한가
CFD 케이스를 설정하는 일은 까다로운 기록 작업입니다. 올바른 y+ 요구, 메시와 모든 0/ 필드의 경계 패치를 일치시키기, 선택한 난류 모델과 일관된 난류장을 만들기, 안정적인 Courant 수 유지, 그리고 수렴 여부를 확인하기 위해 수십 페이지의 잔차 로그를 읽는 일이 요구됩니다. 이 서버는 자연어를 통해 그런 관리 작업을 대신합니다.
어려운 부분 손쉽게
많은 사람이 가장 손이 가는 작업을 두 도구가 처리합니다:
recommend_setup— 목표를 일반 말로 전달하면("파이프 내부 흐름", "자동차에 작용하는 항력") 솔버, 난류 모델, 목표y+, 메시 프리셋, 패치별 경계 조건과 번호가 매겨진 계획을 커한다이 반환합니다. 부족한 물만 질문합니다.generate_blockmesh— 지오메트리 프리셋부터 유효하면서도 경계층에 대해 **등급 조정(graded)**된blockMeshDict를 자동 작성합니다. 목표 첫 번째 셀 높이를 알려주면 벽 등급(wall grading)을 스스로 계산합니다. verte와 block을 손으로 쓸 필요가 없습니다.
도구 (20)
도구 | 기능 |
| 여기서 시작합니다. 목표를 솔버, 모델, 메시 프리셋, 경계 조건, 계획으로 변환(누락된 값을 물어봄). |
| 자동 blockMesh — 벽 등 차이는 목표 |
| blockMesh 지오메트리 프리셋 목록을 보여줍니다. |
| 스캐폴딩 가능한 solver 템플릿 목록(simpleFoam, pimpleFoam, icoFoam)을 나열합니다. |
| 레이놀즈 수, 층류/난류 판정, 난류 모델 추천. |
| 목표 |
| 역계산: 셀 높이에서의 전망 |
| 난류 강도와 길이 스케일로부터 입구 |
| 목표 Courant 수로부터 비정상 시간 간격을 계산합니다. |
| Colebrook-White 방정식의 마찰 계수와 Darcy–Weisach의 압력 강하/첨두 손실. |
| 내부 흐름의 대류 열전달 계수 |
| 솔버를 위한 실행 가능한 케이스 트리( |
| 설정 파일 또는 단일 항목을 읽습니다( |
| 딕셔너리 키워드를 설정합니다(중첩된 구조는 |
|
|
| STL 파일의 watertight/manifold 검사, bbox, 면적, 부피, snappyHexMesh 전처리를 합니다. |
|
|
| 케이스 검증: 필요한 파일 존재, 난류 계산 장 관계의 일처리확인, 패치-메시매칭. |
| Solver 로그 값을 필드별 잔차 감소 및 판정 결과로 파싱. |
| 허용 목록에 등록된 OpenFOAM 유틸리티를 케이스 안에서 실행(설치 시). |
설치 및 실행
이 서버는 콘솔 엔트리 포인트가 있는 PyPI 패키지로 배포됩니다. 따라서 일반적으로 아무것도 설치하지 않는 실행 방법은 uvx입니다:
uvx openfoam-mcp또는 가상 환경에 설치할 수 있습니다:
pip install openfoam-mcp
openfoam-mcpClaude Desktop 구성
다음을 claude_desktop_config.json 파일에 추가합니다 (macOS의 경우 ~/Library/Application Support/Claude/, Windows의 경우 %APPDATA%\Claude\):
{
"mcpServers": {
"openfoam": {
"command": "uvx",
"args": ["openfoam-mcp"]
}
}
}Claude Desktop을 다시 시작하면 도구(tools) 메뉴에서 OpenFOAM 도구들이 나타납니다.
예시 프롬프트
“0.5 m 시위(chord) 위로 30 m/s의 공기가 흐르고 있다. 그 Reynolds 수와, y+ = 1을 위한 첫 번째 cell 높이를 얼마인가?”
“./duct에 12 m/s의 steady simpleFoam 케이스를 scaffold 하고 검사해 줘.”
“./duct/system/controlDict에서
endTime을 3000으로 설정해 줘.”“./duct/log.simpleFoam을 읽고 수렴 여부를 알려 줘.”
솔버 템플릿
솔버 | 물리 현상 | 일반적인 용도 |
| Steady incompressible RANS (k-ω SST) | 덕트, 외부 공기역학, 일반 steady 해석 |
| Transient incompressible RANS (k-ω SST) | 와류 비말(보텍스 shed), 비정상 유동 |
| Transient incompressible incompressible laminar | 저 Re 수업용 케이스(캐비티, 저 레이놀즈 파이프) |
템플릿은 OpenFOAM Foundation v9–v12 / ESI v2306+, 이상의 튜토리얼 스타일(함yticalFuncsProp + momentumTransport)을 따릅니다. 생성되는 box 메시는 inlet, outlet, walls, frontAndBack의 패치를 갖게 됩니다.
개발
pip install -e ".[dev]"
pytest라이선스
MIT © 2026 iLab (Tanwat Tanapatput)
This server cannot be installed
Maintenance
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
MCP server for AI dialogue using various LLM models via AceDataCloud
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/openfoam-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server