comsol-mcp
COMSOL MCP
具有可视化桌面客户端工作流的 AI 驱动 COMSOL MCP 服务器。
comsol-mcp 专为以下工作流构建:
您手动启动
COMSOL Multiphysics ServerCOMSOL Desktop 作为可视化客户端连接到该服务器
MCP 客户端连接到同一个服务器端模型
建模更改保持可见,而不是作为黑盒批处理作业运行
本仓库是此代码库中可视化 COMSOL 自动化的新主线。 旧的面向批处理的路径现在仅作为遗留参考。
为什么存在此项目
许多 COMSOL 自动化流程功能强大但并不透明。它们可以编译 Java、运行批处理作业或驱动通用的服务器端仿真,但并不总是允许您在 Desktop GUI 中观察模型的演变。
comsol-mcp 专注于不同的目标:
可视化的 GUI 更改
共享的服务器端模型状态
无需 Desktop 端轮询桥接
无需 GUI 自动化层
无黑盒批处理工作流
核心工作流
本项目使用先连接 (attach-first) 工作流:
手动启动
COMSOL Multiphysics Server。从服务器控制台记录实际的监听端口。
将 COMSOL Desktop 连接到该端口。
如果需要,将服务器端模型导入 Desktop。
使用
server_connect(host, port)将 MCP 连接到同一服务器。创建或加载工作模型。
使用 MCP 工具修改共享的服务器端模型。
在 COMSOL Desktop 中观察同一模型的更新。
完整版本请参阅 工作流指南。
快速入门
先决条件
本地安装了 COMSOL 的 Windows 系统
有效的 COMSOL 许可证
Python 3.10 或更高版本
手动启动的
COMSOL Multiphysics Server
安装
从源码安装:
git clone <your-repo-url> comsol-mcp
cd comsol-mcp
python -m pip install -e .设置环境变量:
$env:COMSOL_ROOT = "C:\Program Files\COMSOL\COMSOL63\Multiphysics"
$env:COMSOL_SERVER_MCP_HOME = "$PWD\comsol-server-home"启动 MCP 服务器:
python -m comsol_mcp.mcp_server或者使用辅助脚本:
.\scripts\start_comsol_mcp.ps1 -Python python -ComsolRoot "C:\Program Files\COMSOL\COMSOL63\Multiphysics" -McpHome "$PWD\comsol-server-home"MCP 配置示例
请参阅:
最小化可视化演示
server_connect("localhost", <actual_port>)
model_create("VisibleServerModel")
ensure_component("comp1", 2)
ensure_geometry("comp1", "geom1", 2)
ensure_mesh("comp1", "mesh1")
create_feature("comp1", "geom1", "r1", "Rectangle", "[{\"name\":\"size\",\"values\":[\"60[mm]\",\"30[mm]\"]},{\"name\":\"pos\",\"values\":[\"-30[mm]\",\"-15[mm]\"]}]", true)
run_feature("mesh", "mesh1", "comp1")Desktop 应该显示相同的几何结构,因为 Desktop 和 MCP 共享同一个服务器端模型。
有关相同流程的文档形式,请参阅 examples/attach_first_demo.md。
工具界面
当前工具:
server_info()server_start(...)server_connect(host, port, model_name="")server_disconnect(shutdown_server=false)model_create(name="Server Model")model_load(path)model_tree()get_parameters()set_parameters(parameters_json)ensure_component(component="comp1", dimension=2)ensure_geometry(component="comp1", geometry="geom1", dimension=2)ensure_mesh(component="comp1", mesh="mesh1")create_feature(component, geometry, tag, feature_type, properties_json="[]", run_geometry=false)update_feature(component, geometry, tag, properties_json, run_geometry=false)delete_feature(component, geometry, tag, run_geometry=false)run_feature(collection, tag, component="comp1")run_study(study_tag="")save_model(path="")
建模工具界面是有意保持稳定的。此仓库清理工作不会重命名或删除这些工具。
推荐入口点
推荐的入口点是:
server_connect("localhost", <actual_port>)server_start() 仍然可用,但它现在是一个高级备选方案。仅当您希望 MCP 控制 COMSOL 服务器生命周期,并接受 COMSOL 可能会自动选择不同的监听端口时,才使用它。
已知限制
连接成功后,COMSOL Desktop 可能不会自动显示服务器端模型;您可能需要导入或切换到现有的服务器模型。
server_connect()可以在未选择当前工作模型的情况下成功;在这种情况下,请使用model_create()或model_load()。应始终根据实际活动的监听器验证服务器控制台输出和实际监听端口。
服务器端模型更改后,Desktop 图形可能需要轻微刷新。
请参阅 故障排除指南。
本项目与其他 MCP 的区别
与 abaqus-mcp-server 相比
abaqus-mcp-server 是一种 GUI 脚本/GUI 自动化风格的项目。它与已经运行的 GUI 一起工作,并使用 GUI 自动化技术来触发操作。
comsol-mcp 不使用 pywinauto 风格的 COMSOL GUI 自动化。相反,它直接连接到 COMSOL Multiphysics Server 并驱动 Desktop 可视化的同一个服务器端模型。
与通用 COMSOL 自动化 MCP 相比
公开的 COMSOL MCP 列表通常强调求解器广度、网格生成、物理场设置和参数化扫描覆盖范围。
本项目强调不同的价值主张:
先连接
可视化的 Desktop 工作流
非黑盒建模
Desktop 与 MCP 之间的共享模型状态
它不仅仅是“另一个 COMSOL 自动化 MCP”;它专门致力于使工作流可视化并与 Desktop 客户端协作。
与旧的批处理路径相比
旧的批处理路径使用:
comsolcompilecomsolbatch
该路径对于离线作业仍然有用,但它不再是本项目的公开标识。在本仓库中,它被视为遗留参考,而非主线。
有关更全面的比较,请参阅 docs/differences.md。
遗留/之前的批处理路径
此代码库中较早的内部 comsol-mcp 路径是面向批处理的,并封装了 comsolcompile 和 comsolbatch。该遗留路径有意不作为本仓库的公开面貌。
本仓库专注于:
COMSOL Multiphysics Server作为可视化客户端的 Desktop
MCP 连接到同一模型
归属
基于
MPh构建受 COMSOL 客户端-服务器工作流及相关 MCP 探索的启发
与 COMSOL 无关联
不包含 COMSOL 二进制文件或专有资产
许可证
MIT。请参阅 LICENSE。
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
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/Ching-Chiang/comsol-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server