内容
# COMSOL Codex MCP
用于可重复的COMSOL多物理批量工作流的MCP服务器和代理工具包。
该项目故意设计得较为通用。它不针对特定的COMSOL模型。相反,它为AI代理提供了一种安全、可审计的方式:
- 发现本地的COMSOL安装;
- 使用`comsolcompile`编译Java API模型脚本;
- 使用`comsolbatch`运行编译后的类;
- 监控和诊断日志;
- 在Java API特性/属性名称的COMSOL完成XML中进行搜索;
- 收集轻量级的结果包,同时排除`.mph`、原始转储、日志和生成的类;
- 通过MCP工具向Codex/Claude风格的代理公开可重复使用的COMSOL自动化配方。
## 为什么存在该项目
几个COMSOL MCP项目专注于GUI自动化或Python MPh/mphserver工作流。该项目专注于编码代理通常需要的工程循环:
```text
编写Java API模型 -> 编译 -> 批量运行 -> 检查日志 -> 解析输出 -> 打包结果
```
该循环对于长时间运行、可重复的模拟作业非常有用,在这些作业中,不希望或无法打开COMSOL桌面。
## 安装
```bash
python -m pip install -e .
```
要作为MCP服务器运行:
```bash
python -m pip install -e ".[mcp]"
comsol-mcp-server
```
要使用独立的CLI:
```bash
comsol-tool find-install
comsol-tool search-feature ThermalContact
comsol-tool inspect-log path/to/batch.log
```
## 文档
- [快速入门](docs/quickstart.md)
- [工具参考](docs/tool_reference.md)
- [架构](docs/architecture.md)
- [配方](docs/recipes.md)
- [安全性](docs/safety.md)
- [兼容性](docs/compatibility.md)
- [与相关项目的比较](docs/comparison.md)
- [示例](examples/README.md)
- [路线图](ROADMAP.md)
- [贡献](CONTRIBUTING.md)
- [安全策略](SECURITY.md)
## MCP工具
服务器暴露:
| 工具 | 目的 |
| --- | --- |
| `comsol_find_install` | 定位`comsolcompile`、`comsolbatch`和`comsol` |
| `comsol_compile` | 编译COMSOL Java API模型 |
| `comsol_batch` | 使用`comsolbatch`运行编译后的类 |
| `comsol_tail_file` | 读取日志/输出文件的尾部 |
| `comsol_inspect_log` | 检测常见的COMSOL错误和进度标记 |
| `comsol_search_feature` | 在`physics.xml`/`common.xml`中搜索Java API提示 |
| `comsol_collect_outputs` | 压缩轻量级脚本/摘要/CSV输出 |
| `comsol_clean_generated` | 列出或删除生成的类/状态/恢复文件 |
| `comsol_list_recipes` | 列出内置的工作流配方 |
| `comsol_get_recipe` | 读取内置的工作流配方 |
## 示例代理工作流
1. 调用`comsol_find_install`。
2. 请求模型生成或修改Java API脚本。
3. 调用`comsol_compile`。
4. 如果编译失败,使用编译器输出和`comsol_search_feature`。
5. 调用`comsol_batch`并带有有限超时。
6. 如果运行缓慢或失败,调用`comsol_inspect_log`。
7. 使用项目特定的解析器解析模型stdout。
8. 调用`comsol_collect_outputs`以创建可上传的结果包。
## COMSOL设置
安装查找器检查:
- `COMSOL_HOME`
- `COMSOL_ROOT`
- `PATH`
- 常见的Windows位置,例如`C:\Program Files\COMSOL`和`E:\Program Files\COMSOL`
- 常见的Linux位置,例如`/usr/local/comsol`和`/opt/comsol`
如果发现失败,请设置:
```bash
COMSOL_HOME=/path/to/COMSOL63
```
在Windows PowerShell上:
```powershell
$env:COMSOL_HOME = "E:\Program Files\COMSOL\COMSOL63"
```
## 安全模型
该工具包故意设计得较为保守:
- 它使用`subprocess.run([...], shell=False)`;
- 它使编译/运行操作显式;
- 它将stdout、stderr和批量日志分开;
- 默认情况下,它从包中排除重/生成的文件;
- 它提供诊断信息,而不是隐藏COMSOL故障。
您仍然应该只在受信任的COMSOL Java脚本上运行它。COMSOL Java类可以在您的机器上创建、解决和保存模型。
## 这不是什么
- 它不是COMSOL Desktop的替代品。
- 它不是通用物理模型生成器。
- 它不附带COMSOL、许可证或专有文档。
- 它不保证生成的Java API脚本在物理上有效。
## 相关工作
现有的公共项目包括GUI驱动的COMSOL MCP服务器、基于MPh/mphserver的MCP服务器和Pythonic COMSOL脚本接口。该项目旨在通过批量优先、Codex友好、可重复的Java API工作流来补充它们。
## 商标声明
COMSOL和COMSOL Multiphysics是COMSOL AB的商标或注册商标。本项目独立且非官方。请参见[NOTICE.md](NOTICE.md)。