This server automates parametric geometry manipulation and aerodynamic analysis through OpenVSP and VSPAero integration via MCP protocol.
Geometry Inspection ( Analyze OpenVSP models to retrieve component IDs, wing names, geometry metadata, and raw diagnostic output without making modifications.
Scripted Modification ( Apply programmatic parameter edits (span, twist, chord, control surfaces) to OpenVSP models, generate repeatable .vspscript files for version control, duplicate geometries, and export meshes (STL/OBJ) without launching the GUI.
Aerodynamic Analysis ( Execute geometry modifications followed by VSPAero batch simulations to compute aerodynamic coefficients and generate result files (.adb, CSVs) for design studies and optimization workflows.
Integration Options: Accessible via MCP protocol (STDIO/HTTP transports), REST API (FastAPI endpoints: /vsp/inspect, /vsp/modify, /vsp/run), enabling remote agents, geometry sweeps, parametric studies, and integration with downstream CFD, controller design, and manufacturing pipelines.
Supports running OpenVSP in containerized environments using provided Docker images with pre-installed OpenVSP and VSPAero binaries.
Exposes OpenVSP automation capabilities through a REST API with endpoints for inspecting geometries, modifying parameters, and running VSPAero analyses.
Automates OpenVSP (NASA's parametric aircraft geometry tool) and VSPAero for scripted geometry editing, mesh generation, and aerodynamic coefficient computation without manual GUI interaction.
openvsp-mcp - Parametric geometry for MCP workflows
TL;DR: Automate OpenVSP geometry edits and VSPAero runs so agents can generate meshes, scripts, and aerodynamic coefficients without manual GUI steps.
Table of contents
What it provides
Scenario | Value |
OpenVSP scripting | Automate commands (set parameters, duplicate geometries, export meshes) without opening the GUI. |
VSPAero batch runs | Launch cases and capture generated metrics/CSV files for downstream optimisation. |
MCP transport | Publish the same functionality over STDIO or HTTP via the Model Context Protocol so ToolHive or other clients can drive geometry studies remotely. |
Quickstart
1. Install the package
Install the official binaries from the OpenVSP download page (this wrapper was tested with OpenVSP/VSPAero 3.46.0 on macOS). Verify they are in your PATH:
Tip (macOS/Linux): if you prefer to avoid GUI installers, build the repo's ToolHive image and run the examples inside Docker:
docker build -t openvsp-mcp-toolhive -f infra/docker/openvsp_toolhive/Dockerfile . docker run --rm --entrypoint /usr/local/bin/vsp openvsp-mcp-toolhive --versionMount your geometry directory and set
OPENVSP_BIN=/usr/local/bin/vspwhen executing the Python snippets in-container.
2. Run a scripted geometry edit
OpenVSPResponse contains:
script_path– absolute path to the generated.vspscriptyou can archive for repeatability.result_path– VSPAero.adbfile (string) whenrun_vspaero=True, otherwiseNone. Meshes, CSVs, and other artefacts are emitted by OpenVSP next to your original.vsp3.
Need a starter geometry? The package ships with openvsp_mcp.data/rect_wing.vsp3, generated from a single OpenVSP wing primitive. The snippet above uses OpenVSP script helpers (FindGeom + GetParm) so it works out of the box. For your own models, open the geometry in the GUI, note the component name returned by FindGeom, and update the commands accordingly.
Run as a service
CLI (STDIO / Streamable HTTP)
Registered tools:
openvsp.inspect– describe a geometry without modifying it.openvsp.modify– apply scripted parameter edits (no VSPAero).openvsp.run_vspaero– run edits followed by VSPAero.
Use python -m openvsp_mcp --describe to list the tools at runtime.
FastAPI (REST)
Endpoints:
POST /vsp/inspect→OpenVSPInspectResponsePOST /vsp/modify→ run edits onlyPOST /vsp/run→ run edits + VSPAero
All operations return structured JSON; explore them via the interactive docs at http://127.0.0.1:8002/docs.
python-sdk tool (STDIO / MCP)
Then launch with uv run mcp dev examples/openvsp_tool.py and connect your agent.
ToolHive smoke test
Requires exported binaries and a geometry file reachable inside the container:
Agent playbook
Geometry studies - script sweep operations (span, twist, control surface deflections) and archive each variant.
Aerodynamic coefficients - hand VSPAero results to
ctrltest-mcpor custom controllers.Mesh exports - agents can request STL/OBJ assets for CFD or manufacturing pipelines.
Stretch ideas
Pair with
foam-agent-mcp-coreto auto-generate mesh-ready cases.Use deck.gl to visualise planform edits by surfacing geometry metadata in the response.
Schedule nightly configuration sweeps (span x sweep x incidence) and store the results for design-of-experiments studies.
Accessibility & upkeep
Run
uv run pytestbefore committing; tests mock VSPAero calls so they finish quickly.Keep OpenVSP/VSPAero versions consistent across developers to avoid geometry mismatches.
Contributing
uv pip install --system -e .[dev]Run
uv run ruff check .anduv run pytestSubmit PRs with sample scripts or geometry diffs so reviewers can validate quickly.
MIT license - see LICENSE.
OpenVSP ships under NASA’s license; VSPAero usage must comply with the terms that accompany your download. Commercial redistribution generally requires a separate agreement—check the official FAQ before packaging binaries into your MCP workloads.