Provides a REST API wrapper for the pterasim aerodynamics solver, enabling HTTP-based access to UVLM and surrogate aerodynamic simulations.
Supports routing solver provenance metadata and aerodynamic simulation results into Grafana dashboards for visualization and monitoring.
pterasim-mcp - UVLM + surrogate aerodynamics for MCP agents
TL;DR: Expose PteraSoftware's analytical/UVLM solvers through MCP so agents can request aerodynamic coefficients with provenance metadata.
Table of contents
What it provides
Scenario | Value |
Surrogate aerodynamics | Evaluate lightweight rigid-vortex-lattice models without a GUI, returning aerodynamic coefficients as structured data. |
High-fidelity UVLM | When is installed, the service switches to its UVLM solver and records provenance metadata. |
Controller integration | Provide consistent outputs that downstream MCP tools (e.g.,
) can ingest for control and evidence pipelines. |
Quickstart
1. Install
2. Run an analytic solve
If the UVLM solve fails for any reason (missing binaries, convergence issues, or the current PteraSoftware regression that removes geometry.airfoil), the wrapper logs a warning and falls back to the analytic surrogate—you will see solver: "analytic" in the metadata and no delta fields. UVLM runs with thousands of timesteps can take minutes; batch analytic sweeps first and promote only promising cases to the high-fidelity environment. Analytic-only mode works on Python 3.11 without PteraSoftware. Until the UVLM API stabilizes upstream, treat the analytic path as the supported/default mode.
Run as a service
CLI (STDIO / Streamable HTTP)
Use python -m pterasim_mcp --describe to emit metadata without starting the server.
FastAPI (REST)
python-sdk tool (STDIO / MCP)
ToolHive smoke test
Agent playbook
Scenario sweeps - vary span, frequency, or flapping amplitude and log derivatives for control studies.
Solver comparison - leverage metadata to benchmark surrogate vs UVLM deltas and store the comparisons for regression dashboards.
Design flows - combine with
openvsp-mcpto generate geometry + aerodynamics pipelines.
Stretch ideas
Generate JSONL experiment logs that feed directly into
ctrltest-mcpor reinforcement-learning agents.Use the metadata to route results into Grafana dashboards for solver provenance.
Auto-promote surrogate runs to UVLM once a high-fidelity environment is detected.
Accessibility & upkeep
Badges are limited and carry alt text for screen-readers, matching modern README style guidance.
Tests simulate solver responses; run
uv run pytestbefore pushing.Keep
.venv-pterasimaligned with the PteraSoftware version you report in metadata.
Contributing
uv pip install --system -e .[dev]Run
uv run ruff check .anduv run pytestInclude sample metadata/CSV artefacts in PRs so reviewers can confirm provenance handling.
MIT license - see LICENSE.