Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables to read and modify OpenFOAM configuration files, including case info, dictionary files, and boundary conditions, with additional tools for thermal and buoyancy simulations.

README.md

OpenFOAM MCP Server

一个用于读取和修改 OpenFOAM 配置文件的 MCP (Model Context Protocol) 服务器。支持 Windows、Linux 和 macOS。

✨ 功能

基础功能

  • 📂 Case 信息查询 - 获取 OpenFOAM case 目录结构和文件列表
  • 📄 字典文件读取 - 解析 OpenFOAM 字典格式文件(controlDict, fvSchemes 等)
  • ✏️ 参数修改 - 修改 controlDict 等文件中的求解器参数
  • 🔧 边界条件管理 - 读取和修改场文件的边界条件
  • 🔍 内容搜索 - 在所有配置文件中搜索关键词
  • 📋 物理属性查看 - 读取输运属性和湍流模型设置

热学/浮力功能(新增)

  • 🌡️ 温度求解器 - 创建和配置温度场文件
  • 🎈 浮力求解器 - 支持多种浮力驱动流动求解器
  • 🧱 墙体传热设置 - 支持固定温度、热通量、对流换热边界条件
  • 💨 送回风口设置 - 配置入口/出口的速度和温度边界条件
  • ☀️ 辐射模型设置 - 支持 P1、viewFactor、DO 等辐射模型
  • ⏱️ 空气龄计算 - 配置空气龄标量输运方程
  • 🔥 内部热源设置 - 配置人体、设备等内部热源
  • 😊 PMV-PPD 舒适度指标 - 计算预测平均投票和预测不满意百分比

📋 支持的文件类型

| 目录 | 文件 | 描述 | |------|------|------| | system/ | controlDict | 求解器控制参数 | | system/ | fvSchemes | 离散化方案 | | system/ | fvSolution | 线性求解器设置 | | constant/ | transportProperties | 输运属性 | | constant/ | turbulenceProperties | 湍流模型 | | 0/ | U, p, T 等 | 初始条件和边界条件 |

🚀 快速安装

Windows 一键安装

# 克隆项目
git clone https://github.com/ymg2007/openfoam-mcp.git
cd openfoam-mcp

# 运行安装脚本
install.bat

Linux/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 | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)<br>~/.config/Claude/claude_desktop_config.json (Linux)<br>%APPDATA%\Claude\claude_desktop_config.json (Windows) | | Claude Code | ~/.claude-code/config.json | | Cursor | ~/.cursor/mcp_config.json | | OpenCode | ~/.opencode/config.json | | Cline | ~/.cline/settings.json |

📦 Windows 安装

自动安装(推荐)

  1. 下载并运行安装脚本
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\activate

3. 安装依赖

pip install -r requirements.txt

Claude 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-devel

2. 创建虚拟环境并安装依赖

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Claude 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.11

2. 创建虚拟环境并安装依赖

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Claude 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 助手中使用工具。

可用工具

| 工具名 | 功能 | 示例 | |--------|------|------| | get_case_info | 获取 case 目录信息 | "获取当前 case 的信息" | | read_dict_file | 读取字典文件 | "读取 controlDict" | | read_file_content | 读取文件原始内容 | "显示 fvSchemes 的内容" | | list_field_files | 列出场文件 | "列出所有场文件" | | get_boundary_conditions | 获取边界条件 | "查看 U 场的边界条件" | | modify_control_dict | 修改求解器参数 | "把 deltaT 改为 0.0005" | | modify_boundary_condition | 修改边界条件 | "修改 U 场 inlet 边界" | | get_transport_properties | 读取输运属性 | "查看输运属性" | | get_turbulence_properties | 读取湍流模型 | "查看湍流设置" | | get_fv_schemes | 读取离散化方案 | "查看离散化方案" | | get_fv_solution | 读取求解器设置 | "查看求解器设置" | | search_case_files | 搜索文件内容 | "搜索 turbulence" |

热/浮力求解器工具

| 工具名 | 功能 | 示例 | |--------|------|------| | list_buoyancy_solvers | 列出浮力求解器 | "显示可用的浮力求解器" | | set_buoyancy_solver | 设置浮力求解器 | "设置求解器为 buoyantSimpleFoam" | | add_temperature_field | 创建温度场 | "创建温度场,初始温度 293K" | | add_gravity_file | 创建重力文件 | "添加重力文件用于浮力计算" | | add_thermophysical_properties | 创建热物理属性 | "添加热物理属性文件" | | set_inlet_thermal_conditions | 设置入口热边界 | "设置入口速度和温度" | | set_wall_thermal_conditions | 设置墙体热边界 | "设置墙体传热边界条件" | | list_radiation_models | 列出辐射模型 | "显示可用的辐射模型" | | add_radiation_model | 添加辐射模型 | "添加 P1 辐射模型" | | add_age_of_air_field | 添加空气龄场 | "创建空气龄计算场" | | add_heat_source_config | 添加热源配置 | "添加内部热源 100W" | | add_pmv_ppd_comfort_metrics | 添加舒适度指标 | "配置 PMV-PPD 计算" | | get_comfort_criteria_info | 获取舒适度标准 | "显示 ISO 7730 舒适度标准" | | configure_indoor_thermal_environment | 一键配置热环境 | "配置完整的室内热环境" |

💬 使用示例

示例 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'

解决方法: ``bash pip install mcp ``

虚拟环境创建失败 (Linux)

错误信息: No module named venv

解决方法: ``bash sudo apt install python3-venv ``

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可

MIT License

📚 参考

🌟 Star History

如果这个项目对你有帮助,请给个 Star ⭐

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Files & Docs servers.