OpenFOAM MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenFOAM MCP Servermodify boundary conditions for the inlet patch in my case"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenFOAM MCP Server
一个用于读取和修改 OpenFOAM 配置文件的 MCP (Model Context Protocol) 服务器。支持 Windows、Linux 和 macOS。
✨ 功能
基础功能
📂 Case 信息查询 - 获取 OpenFOAM case 目录结构和文件列表
📄 字典文件读取 - 解析 OpenFOAM 字典格式文件(controlDict, fvSchemes 等)
✏️ 参数修改 - 修改 controlDict 等文件中的求解器参数
🔧 边界条件管理 - 读取和修改场文件的边界条件
🔍 内容搜索 - 在所有配置文件中搜索关键词
📋 物理属性查看 - 读取输运属性和湍流模型设置
热学/浮力功能(新增)
🌡️ 温度求解器 - 创建和配置温度场文件
🎈 浮力求解器 - 支持多种浮力驱动流动求解器
🧱 墙体传热设置 - 支持固定温度、热通量、对流换热边界条件
💨 送回风口设置 - 配置入口/出口的速度和温度边界条件
☀️ 辐射模型设置 - 支持 P1、viewFactor、DO 等辐射模型
⏱️ 空气龄计算 - 配置空气龄标量输运方程
🔥 内部热源设置 - 配置人体、设备等内部热源
😊 PMV-PPD 舒适度指标 - 计算预测平均投票和预测不满意百分比
Related MCP server: su2-mcp
📋 支持的文件类型
目录 | 文件 | 描述 |
| controlDict | 求解器控制参数 |
| fvSchemes | 离散化方案 |
| fvSolution | 线性求解器设置 |
| transportProperties | 输运属性 |
| turbulenceProperties | 湍流模型 |
| U, p, T 等 | 初始条件和边界条件 |
🚀 快速安装
Windows 一键安装
# 克隆项目
git clone https://github.com/ymg2007/openfoam-mcp.git
cd openfoam-mcp
# 运行安装脚本
install.batLinux/macOS 一键安装
# 克隆项目
git clone https://github.com/ymg2007/openfoam-mcp.git
cd openfoam-mcp
# 运行安装脚本
chmod +x install.sh
./install.sh🔧 支持的 AI 助手
OpenFOAM MCP 支持多种 AI 助手,选择你喜欢的:
AI 助手 | 配置文件路径 |
Claude Desktop |
|
Claude Code |
|
Cursor |
|
OpenCode |
|
Cline |
|
📦 Windows 安装
自动安装(推荐)
下载并运行安装脚本
git clone https://github.com/ymg2007/openfoam-mcp.git
cd openfoam-mcp
install.bat手动安装
1. 安装 Python
访问 Python官网 下载并安装 Python 3.10+,安装时勾选 "Add Python to PATH"
2. 创建虚拟环境
python -m venv venv
.\venv\Scripts\activate3. 安装依赖
pip install -r requirements.txtClaude Desktop 配置
配置文件:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"openfoam": {
"command": "C:\\path\\to\\openfoam-mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\openfoam-mcp\\src\\server.py"]
}
}
}Claude Code 配置
配置文件:~/.claude-code/config.json
{
"mcpServers": [
{
"name": "openfoam",
"command": "C:\\path\\to\\openfoam-mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\openfoam-mcp\\src\\server.py"]
}
]
}Cursor 配置
配置文件:%APPDATA%\Cursor\User\mcp_config.json
{
"mcpServers": [
{
"name": "openfoam",
"command": "C:\\path\\to\\openfoam-mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\openfoam-mcp\\src\\server.py"]
}
]
}OpenCode 配置
配置文件:~/.opencode/config.json
{
"mcpServers": {
"openfoam": {
"command": "C:\\path\\to\\openfoam-mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\openfoam-mcp\\src\\server.py"]
}
}
}🐧 Linux 安装
自动安装(推荐)
git clone https://github.com/ymg2007/openfoam-mcp.git
cd openfoam-mcp
chmod +x install.sh
./install.sh手动安装
1. 安装 Python
# Ubuntu/Debian
sudo apt update
sudo apt install python3 python3-pip python3-venv
# Fedora/RHEL
sudo dnf install python3 python3-pip python3-devel2. 创建虚拟环境并安装依赖
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtClaude Desktop 配置
配置文件:~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"openfoam": {
"command": "/home/yourname/openfoam-mcp/venv/bin/python",
"args": ["/home/yourname/openfoam-mcp/src/server.py"]
}
}
}Claude Code 配置
配置文件:~/.claude-code/config.json
{
"mcpServers": [
{
"name": "openfoam",
"command": "/home/yourname/openfoam-mcp/venv/bin/python",
"args": ["/home/yourname/openfoam-mcp/src/server.py"]
}
]
}Cursor 配置
配置文件:~/.cursor/mcp_config.json
{
"mcpServers": [
{
"name": "openfoam",
"command": "/home/yourname/openfoam-mcp/venv/bin/python",
"args": ["/home/yourname/openfoam-mcp/src/server.py"]
}
]
}OpenCode 配置
配置文件:~/.opencode/config.json
{
"mcpServers": {
"openfoam": {
"command": "/home/yourname/openfoam-mcp/venv/bin/python",
"args": ["/home/yourname/openfoam-mcp/src/server.py"]
}
}
}🍎 macOS 安装
自动安装(推荐)
git clone https://github.com/ymg2007/openfoam-mcp.git
cd openfoam-mcp
chmod +x install.sh
./install.sh手动安装
1. 安装 Python
brew install python@3.112. 创建虚拟环境并安装依赖
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtClaude Desktop 配置
配置文件:~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"openfoam": {
"command": "/Users/yourname/openfoam-mcp/venv/bin/python",
"args": ["/Users/yourname/openfoam-mcp/src/server.py"]
}
}
}Claude Code 配置
配置文件:~/.claude-code/config.json
{
"mcpServers": [
{
"name": "openfoam",
"command": "/Users/yourname/openfoam-mcp/venv/bin/python",
"args": ["/Users/yourname/openfoam-mcp/src/server.py"]
}
]
}Cursor 配置
配置文件:~/.cursor/mcp_config.json
{
"mcpServers": [
{
"name": "openfoam",
"command": "/Users/yourname/openfoam-mcp/venv/bin/python",
"args": ["/Users/yourname/openfoam-mcp/src/server.py"]
}
]
}OpenCode 配置
配置文件:~/.opencode/config.json
{
"mcpServers": {
"openfoam": {
"command": "/Users/yourname/openfoam-mcp/venv/bin/python",
"args": ["/Users/yourname/openfoam-mcp/src/server.py"]
}
}
}🧪 验证安装
# 激活虚拟环境后
python src/server.py如果服务器正常启动,应该看到 MCP 服务器初始化的输出。
📖 使用方法
切换到 OpenFOAM Case 目录
cd /path/to/your/OpenFOAM/case然后在 AI 助手中使用工具。
可用工具
工具名 | 功能 | 示例 |
| 获取 case 目录信息 | "获取当前 case 的信息" |
| 读取字典文件 | "读取 controlDict" |
| 读取文件原始内容 | "显示 fvSchemes 的内容" |
| 列出场文件 | "列出所有场文件" |
| 获取边界条件 | "查看 U 场的边界条件" |
| 修改求解器参数 | "把 deltaT 改为 0.0005" |
| 修改边界条件 | "修改 U 场 inlet 边界" |
| 读取输运属性 | "查看输运属性" |
| 读取湍流模型 | "查看湍流设置" |
| 读取离散化方案 | "查看离散化方案" |
| 读取求解器设置 | "查看求解器设置" |
| 搜索文件内容 | "搜索 turbulence" |
热/浮力求解器工具
工具名 | 功能 | 示例 |
| 列出浮力求解器 | "显示可用的浮力求解器" |
| 设置浮力求解器 | "设置求解器为 buoyantSimpleFoam" |
| 创建温度场 | "创建温度场,初始温度 293K" |
| 创建重力文件 | "添加重力文件用于浮力计算" |
| 创建热物理属性 | "添加热物理属性文件" |
| 设置入口热边界 | "设置入口速度和温度" |
| 设置墙体热边界 | "设置墙体传热边界条件" |
| 列出辐射模型 | "显示可用的辐射模型" |
| 添加辐射模型 | "添加 P1 辐射模型" |
| 添加空气龄场 | "创建空气龄计算场" |
| 添加热源配置 | "添加内部热源 100W" |
| 添加舒适度指标 | "配置 PMV-PPD 计算" |
| 获取舒适度标准 | "显示 ISO 7730 舒适度标准" |
| 一键配置热环境 | "配置完整的室内热环境" |
💬 使用示例
示例 1: 获取 Case 信息
用户: 帮我看看这个 case 的结构
AI: [调用 get_case_info]
返回: OpenFOAM Case 目录: /path/to/case
=== 目录结构 ===
0/
- U
- p
constant/
- transportProperties
system/
- controlDict
- fvSchemes
- fvSolution示例 2: 修改求解器参数
用户: 把 deltaT 改为 0.0005,结束时间设为 2000
AI: [调用 modify_control_dict(delta_t=0.0005, end_time=2000)]
返回: ✅ 已修改 controlDict:
- deltaT -> 0.0005
- endTime -> 2000示例 3: 查看并修改边界条件
用户: 先看看速度场的边界条件
AI: [调用 get_boundary_conditions("U")]
返回: === U 边界条件 ===
📍 inlet
type: fixedValue
value: {'type': 'uniform', 'value': [10.0, 0.0, 0.0]}
📍 outlet
type: zeroGradient
📍 walls
type: noSlip
用户: 把入口速度改成 (15 0 0)
AI: [调用 modify_boundary_condition("U", "inlet", value="uniform (15 0 0)")]
返回: ✅ 已修改 U 的边界条件:
- value -> uniform (15 0 0)示例 4: 搜索配置
用户: 找一下所有和湍流相关的设置
AI: [调用 search_case_files("turbulence")]
返回: === 搜索结果 ===
system/fvSchemes:31: turbulence bounded Gauss linearUpwind grad(k);示例 5: 配置浮力求解器
用户: 查看可用的浮力求解器
AI: [调用 list_buoyancy_solvers()]
返回: === 可用的浮力求解器 ===
🔹 buoyantSimpleFoam
描述: 稳态浮力驱动流动求解器(Boussinesq近似)
求解器类型: steady-state
需要的场变量: T, p_rgh, U, k, epsilon, omega
用户: 设置为 buoyantBoussinesqSimpleFoam
AI: [调用 set_buoyancy_solver("buoyantBoussinesqSimpleFoam")]
返回: ✅ 已设置求解器为: buoyantBoussinesqSimpleFoam示例 6: 配置温度和墙体传热
用户: 创建温度场,初始温度 293K
AI: [调用 add_temperature_field(293.0)]
返回: ✅ 已创建 T 场文件,初始温度: 293 K
用户: 设置墙体温度 295K,对流换热系数 8 W/m²K
AI: [调用 set_wall_thermal_conditions("walls", temperature=295, heat_transfer_coeff=8)]
返回: ✅ 已设置墙体 walls 热边界条件: coefficient示例 7: 配置送回风口
用户: 设置送风口 inlet,速度 1.5 m/s,温度 288K
AI: [调用 set_inlet_thermal_conditions("inlet", 1.5, 0, 0, 288)]
返回: ✅ 已设置入口 inlet:
- U: fixedValue
- T: fixedValue
- k: fixedValue
- epsilon: fixedValue示例 8: 配置辐射模型
用户: 查看可用的辐射模型
AI: [调用 list_radiation_models()]
返回: === 可用的辐射模型 ===
🔹 none
描述: 无辐射模型
🔹 P1
描述: P1 辐射模型(适用于光学厚介质)
🔹 viewFactor
描述: 视角系数辐射模型(适用于封闭空间)
用户: 添加 P1 辐射模型
AI: [调用 add_radiation_model("P1")]
返回: ✅ 已创建辐射模型: P1 (P1 辐射模型(适用于光学厚介质))示例 9: 配置空气龄和热源
用户: 添加空气龄计算
AI: [调用 add_age_of_air_field()]
返回: ✅ 已创建空气龄场文件
用户: 添加内部热源 500W
AI: [调用 add_heat_source_config(power=500)]
返回: ✅ 已创建热源配置: 500.0 W (500.0 W/m³)示例 10: 配置 PMV-PPD 舒适度指标
用户: 配置 PMV-PPD 计算,代谢率 1.2 met,服装热阻 0.6 clo
AI: [调用 add_pmv_ppd_comfort_metrics(metabolic_rate=1.2, clothing_insulation=0.6)]
返回: ✅ 已添加 PMV-PPD 计算函数 (met=1.2 met, icl=0.6 clo)示例 11: 一键配置室内热环境
用户: 配置完整的室内热环境:浮力求解器、温度 293K、入口速度 1 m/s 温度 293K、
墙体温度 295K、启用浮力和辐射 P1 模型、启用空气龄、PMV-PPD
AI: [调用 configure_indoor_thermal_environment(
solver_type="buoyantBoussinesqSimpleFoam",
ambient_temp=293,
inlet_velocity_x=1,
inlet_temp=293,
wall_temp=295,
radiation_model="P1",
enable_age_of_air=True,
enable_pmv_ppd=True
)]
返回: === 室内热环境配置完成 ===
✅ 已设置求解器为: buoyantBoussinesqSimpleFoam
✅ 已创建 T 场文件,初始温度: 293 K
✅ 已创建重力文件: gravity = [0, 0, -9.81]
✅ 已设置入口 inlet: ...
✅ 已设置墙体 walls 热边界条件: ...
✅ 已创建辐射模型: P1 ...
✅ 已创建空气龄场文件
✅ 已添加 PMV-PPD 计算函数 ...🏗️ 项目结构
openfoam-mcp/
├── src/
│ ├── __init__.py # 包初始化
│ ├── server.py # MCP 服务器主文件(含热学工具)
│ ├── parser.py # OpenFOAM 字典解析器
│ ├── editor.py # 文件编辑工具
│ └── thermal.py # 热/浮力求解器配置模块(新增)
├── examples/
│ ├── test_case/ # 示例 OpenFOAM case
│ └── SIMPLE_CASE.md # 使用示例文档
├── install.bat # Windows 安装脚本
├── install.sh # Linux/macOS 安装脚本
├── pyproject.toml # 项目配置
├── requirements.txt # Python 依赖
├── README.md # 本文件
└── INSTALL.md # 详细安装指南🔧 故障排除
问题: 找不到 case 目录
错误信息: "未找到 OpenFOAM case 目录"
解决方法:
确保你在 case 目录或其子目录中
case 目录应包含
0/,constant/,system/子目录
问题: 服务器无法启动
错误信息: ImportError 或 ModuleNotFoundError
解决方法:
检查 Python 版本是否 >= 3.10
确保安装了所有依赖:
pip install -r requirements.txt检查虚拟环境是否正确激活
问题: 无法修改边界条件
错误信息: "没有修改任何边界条件"
解决方法:
确认边界名称正确(使用
get_boundary_conditions查看实际边界名)检查边界条件值格式是否正确
Windows 路径问题
问题: 路径中的反斜杠导致 JSON 解析错误
解决方法:
使用双反斜杠
\\或正斜杠/使用绝对路径
Python 模块未找到
错误信息: ModuleNotFoundError: No module named 'mcp'
解决方法:
pip install mcp虚拟环境创建失败 (Linux)
错误信息: No module named venv
解决方法:
sudo apt install python3-venv🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可
MIT License
📚 参考
🌟 Star History
如果这个项目对你有帮助,请给个 Star ⭐
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.
Latest Blog Posts
- 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/ymg2007/openfoam-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server