内容
拉托斯 MCP[](https://github.com/loumalouratos-MCP-Server/actions/workflows.yml)
[](https://loumalouomega.github.io/Kratos-MCP-Server发布](https://github.com/loumalouomega/Kratos-MCP/workflows/release.yml/badge.svg)](https://github.com/loumalouomega/KCP-Server/releases)
[
[](https://www.python.org/)
[](LICENSE)
一个 [MCP](https://modelcontextprotocol.io) 服务器,允许 AI 助手驱动
[Kratos 多物理](https://github.com/KratosMultiphysics/Kratos) 有限元模拟从头到尾:
- **检查** 安装:应用程序、元素、条件、本构定律、变量、求解器及其默认参数。
- **搭建** 模拟案例从模板:结构(静态/动态/模态)、热(瞬态/稳态)和流体(瞬态不可压缩)— ProjectParameters.json、Materials.json 和具有命名边界区域的结构化 MDPA 网格。
- **运行** 模拟作为托管后台作业(状态、实时日志、进度、取消),这些作业在服务器重启后仍然存活。
- **后处理** VTK 结果:摘要、点探针、收敛分析。
- **预览** 结果无需 ParaView:PNG 快照和 GIF 动画(变形形状、场轮廓)由 pyvista 渲染并在对话中内联显示 — 可选的 `viz` 额外功能。
33 种工具,7 种资源和 4 种引导提示。查看 [`docs/`](docs/)(VitePress)中的完整文档。
## 快速开始
本地克拉托斯构建 **不是必需的** — 服务器可以在首次使用时通过 pip 安装克拉托斯。
**发布到 PyPI 后**,无需克隆 — `uvx` 获取并运行它:
```bash
claude mcp add kratos -- uvx kratos-mcp-server
```
**从本地检出**(当前状态,在第一个 PyPI 发布之前):
```bash
git clone https://github.com/loumalouomega/Kratos-MCP-Server
cd Kratos-MCP-Server
uv sync
claude mcp add kratos -- uv --directory "$PWD" run kratos-mcp
```
然后询问你的助手类似这样的问题:
> 检查克拉托斯安装 — 如果缺少,则安装 — 然后设置一个悬臂梁板 1 m × 0.2 m,固定在左侧,右侧边缘有 1 MN/m 向下的负载,运行它,并报告尖端挠度。
助手在第一次调用 `kratos_install`,之后重复使用。如果您已经有一个编译好的克拉托斯检出,请跳过它并指向 `KRATOS_ROOT` 而不是(在 `claude mcp add` 行上使用 `-e KRATOS_ROOT=/path/to/Kratos`)— 参见[安装](docs/guide/installation.md)。
## 要求
- Python ≥ 3.10,[uv](https://docs.astral.sh/uv/)
- 克拉托斯多物理引擎,可以通过 `kratos_install` 通过 pip 安装(仅限 Linux/Windows x86_64 — 无 macOS 轮子)或编译构建(测试版本 10.4,结构力学 / 对流扩散 / 流体动力学 / 线性求解器应用程序)
- 可选,对于 `results_render`/`results_animate`:`viz` 额外功能(`uv sync --extra viz` 或 `pip install 'kratos-mcp-server[viz]'`)和工作 OpenGL 上下文(在无头机器上:X 或 OSMesa VTK 轮子 — 参见/tools/visualization.md](docs/tools/visualization.md))
## 架构在一段话
克拉托斯从未在服务器进程中导入在导入时打印横幅(这会破坏 stdio JSON-R)并且可以在求解器错误时中止进程。短操作在返回 JSON 的**工作进程**子进程中运行;模拟在 `~/.kratos-mcp/jobs/` 下的每个作业目录中**分离**运行。参见 [docs/guide/architecture.md](docs/guide/architecture.md)。
## 开发
```bash
uv run pytest -m "not kratos" # 单元测试(不需要克拉托斯)
uv run pytest -m kratos # 集成测试针对真实构建
npm install && npm run docs:dev # 文档站点
```
## 许可证
[MIT](LICENSE)