使用说明
su2-mcp
su2-mcp exposes SU2 session lifecycle, config editing, solver execution, and
results inspection through an MCP server.
Features
- Session lifecycle management with per-session working directories.
- Config helpers for reading, parsing, and updating SU2
.cfgfiles. - Mesh upload and automatic
MESH_FILENAMEsynchronization. - Optional STEP -> SU2 mesh conversion via
gmsh(generate_mesh_from_step). - Solver wrappers for
SU2_CFDandSU2_DEFwith timeout/missing-binary handling. - Result-file listing, base64 download, history CSV parsing, and surface sampling.
- Open-ended mesh refinement: the CPACS adapter exposes optional
surface_density,surface_size_mandfarfield_factoroverrides on top of the three named presets (laptop/workstation/industry), and reports the actualmesh_n_elemcell count, the wall-face count and acauchy_triggeredflag so callers can build a converge-until-plateau loop (seeSKILL_OPEN_ENDED_MESH.mdincmudrc/agent-mcpandscripts/run_converged_su2.pyincmudrc/aircraft-analysis). Since 2026-09 the recommended rung is chord-defined:surface_size_m = ref_length / N, halved per rung.surface_densityis span-based and under-resolves an airliner's chord. - Derived outputs with their basis:
lift_force_N,drag_force_Nanddynamic_pressure_pa(ISA at the stated altitude and Mach, times the file's reference area), and a structuredinvalid_inputerror for a flight condition outside the Euler configuration's valid range.
Install
python3 -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
Run the Server
StdIO (default)
su2-mcp --transport stdio
HTTP transports
su2-mcp --transport http --host 0.0.0.0 --port 8002 --path /mcp
su2-mcp --transport streamable-http --host 0.0.0.0 --port 8002 --streamable-http-path /mcp
Server-Sent Events (SSE)
su2-mcp --transport sse --host 0.0.0.0 --port 8000 --mount-path / --sse-path /sse
Programmatic entrypoints are available from su2_mcp.main.
Development
make dev
make lint
make type
make test
make docs
Full local CI-style gate:
make ci
Checking SU2 binaries
The MCP tool get_su2_status reports availability of common SU2 binaries
(SU2_CFD, SU2_CFD_MPI, SU2_DEF).
Optional SU2 dependency extra
pip install .[su2]
System dependencies
The Python package is pure Python, but some tools rely on external executables:
run_su2_solver/generate_deformed_mesh: requires SU2 binaries onPATHgenerate_mesh_from_step: requiresgmshonPATH
Shared-CPACS Integration
This MCP includes a CPACS adapter (src/su2_mcp/cpacs_adapter.py) that
bridges SU2 to the shared-CPACS aircraft analysis pipeline.
What it does
The adapter reads reference geometry and flight conditions from CPACS, meshes
STEP files via Gmsh, runs real SU2_CFD Euler simulations, parses CL/CD from
history.csv, and writes aerodynamic results into //analysisResults/aero.
| Direction | XPath |
|---|---|
| Reads | .//vehicles/aircraft/model/reference, .//analysisResults/tigl |
| Writes | .//vehicles/aircraft/model/analysisResults/aero (CL, CD, L/D, solver info) |
| Records | one header/updates/update entry per write: what was written, su2-mcp <version>, UTC timestamp, running version, cpacsVersion |
Running as part of the pipeline
# Classic preset path
python pipeline/shared_cpacs_orchestrator.py D150_v30.xml \
--mcps tigl su2 pycycle nseg --su2-preset workstation
# Custom one-off density (open-ended override)
python pipeline/shared_cpacs_orchestrator.py D150_v30.xml \
--mcps tigl su2 --su2-density 120
# Converged delivery: refinement ladder until CL/CD plateau within 1 %
# (chord-defined rungs: scripts/run_converged_su2.py --chord-cells-start 20)
python pipeline/shared_cpacs_orchestrator.py D150_v30.xml \
--mcps tigl su2 --su2-converge
See cmudrc/aircraft-analysis for full pipeline documentation, versioning details, and installation instructions.
Related MCP servers
| MCP | Repository |
|---|---|
| TiGL (geometry) | cmudrc/tigl-mcp |
| pyCycle (engine cycle) | cmudrc/pycycle-mcp |
| Mission, segment/Breguet | cmudrc/nseg-mcp |
| Mission, trajectory-level | cmudrc/aviary-cpacs-mcp |
Maintainers
Mayank Dixit (@Kugel-Blitz-13), Carnegie Mellon University — mayankd@cmu.edu Christopher McComb, Carnegie Mellon University — Design Research Collective