Token导航 LogoToken导航TokenDH.com
COMSOL MCP Server logo
AI代理stdio官方级别未说明来源级核验

COMSOL MCP Server

MCP Server

通过AI代理实现COMSOL多物理场仿真的自动化服务,支持模型管理、几何构建、物理配置、网格划分与求解、结果可视化等功能。

工具数

75

提示词数

0

GitHub Stars

142

资源数

0
PythonClaudeAI代理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

wjc9011

提供方

wjc9011

最后核验

2026/5/17 20:53

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m pip install -e .

详细介绍

COMSOL MCP服务器

用于通过AI代理实现COMSOL多物理场仿真自动化的MCP服务器。

英语| 中文

明星历史

](https://github.com/wjc9011/COMSOL_Multiphysics_MCP/stargazers)

![Star History Chart](https://starchart.cc/wjc9011/COMSOL_Multiphysics_MCP)

项目目标

构建一个完整的COMSOL MCP服务器,使AI代理(如Claude、opencode)能够通过MCP协议执行多物理场模拟:

  1. 模型管理 -创建、加载、保存、版本控制
  2. 几何建筑 -块、圆柱体、球体、布尔运算
  3. 物理配置 -传热、流体流动、静电学、固体力学
  4. 网格与求解 -自动网格、静态/时变研究
  5. 结果可视化 -计算表达式,导出图表
  6. 知识集成 -嵌入式指南+PDF语义搜索

需求

  • COMSOL 多物理场 (5.x或6.x版本)
  • Python 3.10+ (非Windows应用商店版本)
  • Java运行时 (MPh/COMSOL要求)

安装

# Clone repository
git clone https://github.com/wjc9011/comsol-mcp.git
cd comsol-mcp

# Install dependencies
python -m pip install -e .

# Test server
python -m src.server

构建PDF知识库

# Install additional dependencies
pip install pymupdf chromadb sentence-transformers

# Build knowledge base
python scripts/build_knowledge_base.py

# Check status
python scripts/build_knowledge_base.py --status

用法

选项1:使用开放代码

创建 opencode.json 在项目根目录中:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "comsol": {
      "type": "local",
      "command": ["python", "-m", "src.server"],
      "enabled": true,
      "environment": {
        "HF_ENDPOINT": "https://hf-mirror.com"
      },
      "timeout": 30000
    }
  }
}

选项2:使用克劳德桌面

{
  "mcpServers": {
    "comsol": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/comsol-mcp"
    }
  }
}

代码结构

comsol_mcp/
├── opencode.json                    # MCP server config for opencode
├── pyproject.toml                   # Python project config
├── README.md                        # This file
│
├── src/
│   ├── server.py                    # MCP Server entry point
│   ├── tools/
│   │   ├── session.py               # COMSOL session management (start/stop/status)
│   │   ├── model.py                 # Model CRUD + versioning
│   │   ├── parameters.py            # Parameter management + sweeps
│   │   ├── geometry.py              # Geometry creation (block/cylinder/sphere)
│   │   ├── physics.py               # Physics interfaces + boundary conditions
│   │   ├── mesh.py                  # Mesh generation
│   │   ├── study.py                 # Study creation + solving (sync/async)
│   │   └── results.py               # Results evaluation + export
│   ├── resources/
│   │   └── model_resources.py       # MCP resources (model tree, parameters)
│   ├── knowledge/
│   │   ├── embedded.py              # Embedded physics guides + troubleshooting
│   │   ├── retriever.py             # PDF vector search retriever
│   │   └── pdf_processor.py         # PDF chunking + embedding
│   ├── async_handler/
│   │   └── solver.py                # Async solving with progress tracking
│   └── utils/
│       └── versioning.py            # Model version path management
│
├── scripts/
│   └── build_knowledge_base.py      # Build PDF vector database
│
├── client_script/                   # Standalone modeling scripts (examples)
│   ├── create_chip_tsv_final.py     # Example: Chip thermal model
│   ├── create_micromixer_auto.py    # Example: Fluid flow simulation
│   ├── create_chip_thermal*.py      # Various chip thermal variants
│   ├── create_micromixer*.py        # Various micromixer variants
│   ├── visualize_*.py               # Result visualization scripts
│   ├── add_visualization.py         # Add plot groups to model
│   └── test_*.py                    # Integration tests
│
├── comsol_models/                   # Saved models (structured)
│   ├── chip_tsv_thermal/
│   │   ├── chip_tsv_thermal_20260216_*.mph
│   │   └── chip_tsv_thermal_latest.mph
│   └── micromixer/
│       └── micromixer_*.mph
│
└── tests/
    └── test_basic.py                # Unit tests

可用工具(共80+个)

会议(4)

工具说明
comsol_start启动本地COMSOL客户端
comsol_connect连接到远程服务器
comsol_disconnect清除会话
comsol_status获取会话信息

型号(9)

工具说明
model_load加载.mph文件
model_create创建空模型
model_save保存到文件
model_save_version保存时间戳
model_list列出已加载的型号
model_set_current设置活动模型
model_clone克隆模型
model_remove从内存中删除
model_inspect获取模型结构

参数(5)

工具说明
param_get获取参数值
param_set设置参数
param_list列出所有参数
param_sweep_setup设置参数扫描
param_description获取/设置描述

几何学(14)

工具说明
geometry_list列出几何序列
geometry_create创建几何序列
geometry_add_feature添加通用功能
geometry_add_block添加矩形块
geometry_add_cylinder添加气缸
geometry_add_sphere添加球体
geometry_add_rectangle添加二维矩形
geometry_add_circle添加二维圆
geometry_boolean_union联盟对象
geometry_boolean_difference减去对象
geometry_import导入CAD文件
geometry_build构建几何图形
geometry_list_features列出功能
geometry_get_boundaries获取边界编号

物理(16)

工具说明
physics_list列出物理接口
physics_get_available可用物理类型
physics_add添加通用物理
physics_add_electrostatics添加静电学
physics_add_solid_mechanics添加实体力学
physics_add_heat_transfer添加热传递
physics_add_laminar_flow添加层流
physics_configure_boundary配置边界条件
physics_set_material指定材料
physics_list_features列出物理特性
physics_remove删除物理
multiphysics_add添加联轴器
physics_interactive_setup_heat交互式加热BC设置
physics_setup_heat_boundaries配置热量边界
physics_interactive_setup_flow交互式流程BC设置
physics_boundary_selection通用边界设置

网眼(3)

工具说明
mesh_list列出网格序列
mesh_create生成网格
mesh_info获取网格统计信息

学习与解决(8)

工具说明
study_list列出研究
study_solve同步求解
study_solve_async在后台解决
study_get_progress取得进展
study_cancel取消解决
study_wait等待完成
solutions_list列出解决方案
datasets_list列出数据集

结果(9)

工具说明
results_evaluate计算表达式
results_global_evaluate计算标量
results_inner_values获取时间步长
results_outer_values获取扫描值
results_export_data导出数据
results_export_image导出绘图图像
results_exports_list列出导出节点
results_plots_list列出绘图节点

知识(8)

工具说明
docs_get获取文档
docs_list列出可用文档
physics_get_guide物理快速指南
troubleshoot故障排除帮助
modeling_best_practices最佳做法
pdf_search搜索PDF文档
pdf_search_statusPDF搜索状态
pdf_list_modules列出PDF模块

示例案例

案例1:带TSV的芯片热模型

具有硅通孔(TSV)的硅芯片的3D热分析。

几何:60×60×5µm芯片,直径5µm的TSV孔,10×10µm热源

# Key steps:
# 1. Create chip block and TSV cylinder
# 2. Boolean difference (subtract TSV from chip)
# 3. Add Silicon material (k=130 W/m·K)
# 4. Add Heat Transfer physics
# 5. Set heat flux on top, temperature on bottom
# 6. Solve and evaluate temperature distribution

脚本: client_script/create_chip_tsv_final.py

:

cd /path/to/comsol-mcp
python client_script/create_chip_tsv_final.py

结果:热通量为1 MW/m²时,环境温度升高

案例2:微混合器流体流动

微流体通道中的3D层流模拟。

几何:600×100×50µm矩形通道

# Key steps:
# 1. Create rectangular channel block
# 2. Add water material (ρ=1000 kg/m³, μ=0.001 Pa·s)
# 3. Add Laminar Flow physics
# 4. Set inlet velocity (1 mm/s), outlet pressure
# 5. Add Transport of Diluted Species for mixing
# 6. Solve and evaluate velocity profile

脚本: client_script/create_micromixer_auto.py

:

cd /path/to/comsol-mcp
python client_script/create_micromixer_auto.py

结果:速度分布、浓度混合曲线

模型版本控制

模型以结构化路径保存:

./comsol_models/{model_name}/{model_name}_{timestamp}.mph
./comsol_models/{model_name}/{model_name}_latest.mph

例子:

./comsol_models/chip_tsv_thermal/chip_tsv_thermal_20260216_140514.mph
./comsol_models/chip_tsv_thermal/chip_tsv_thermal_latest.mph

关键技术发现

1.mph库API模式

# Access Java model via property (not callable)
jm = model.java  # NOT model.java()

# Create component with True flag
comp = jm.component().create('comp1', True)

# Create 3D geometry
geom = comp.geom().create('geom1', 3)

# Create physics with geometry reference
physics = comp.physics().create('spf', 'LaminarFlow', 'geom1')

# Boundary condition with selection
bc = physics.create('inl1', 'InletBoundary')
bc.selection().set([1, 2, 3])
bc.set('U0', '1[mm/s]')

2.边界条件属性名称

物理条件性质
传热热流边界q0
传热温度边界T0
传热对流热通量h, Text
层流入口边界U0, NormalInflowVelocity
层流出口边界p0

3.客户端会话限制

mph库创建了一个单例COMSOL客户端。每个Python进程只能存在一个客户端:

# This is handled in session.py - client is kept alive and models are cleared
client.clear()  # Clear models instead of full disconnect

4.离线嵌入模型

PDF搜索支持使用本地HuggingFace缓存进行离线操作:

# Set mirror for China
export HF_ENDPOINT=https://hf-mirror.com

开发状态

阶段描述状态
1基本框架+会话+模型完成
2参数+求解+结果完成
3几何+物理+网格完成
4嵌入式知识+工具文档完成
5PDF矢量检索完成
6集成测试进行中

下一步

  1. 完成第6阶段 -具有适当边界条件的全积分测试
  2. 可视化导出 -从绘图组生成PNG图像
  3. LSP警告 -修复physics.py中的类型提示
  4. 更多示例 -添加静电学、固体力学案例
  5. 错误处理 -改进错误消息和恢复

资源

URI描述
comsol://session/info会话信息
comsol://model/{name}/tree模型树结构
comsol://model/{name}/parameters模型参数
comsol://model/{name}/physics物理接口

许可证

麻省理工学院

目录标签

目录标签

PythonClaudeAI代理多物理场仿真本地部署自动化工具COMSOL科学计算

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

75

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionlocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP