avl-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AVL_BIN | Yes | Path to the AVL 3.52 executable. Equivalent to the --avl-bin command line argument. | |
| AVL_MCP_WORK_ROOT | Yes | Directory for runs, jobs, and saved results. Equivalent to the --work-root command line argument. | |
| AVL_MCP_INPUT_ROOT | No | Optional root directory that approved model files must resolve inside. Equivalent to the --input-root command line argument. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| avl.healthA | Diagnose Python/native dependencies, architecture, directory permissions and AVL startup. Save evidence. Numerical validation and desktop registry refresh remain separate. |
| avl.inspectA | Read geometry, references, controls and dependencies; original files are unchanged. |
| avl.validateA | Validate supported text grammar, dependencies and mesh limits. No solver execution. |
| avl.runA | Run one prescribed flight condition. Return forces, ST/SB derivatives, surface loads and links to strip CSV/JSON. Angles in degrees, rates nondimensional BODY axes; CONTROL values use gains defined in geometry. Default controls/rates zero. A references override changes only the staged copy. Ignores nearby .run/.mass. |
| avl.sweepA | Run 1-10000 conditions in shared AVL processes, grouped by Mach, within one budget. Return cases in requested order; reset all rates and controls at every condition. Select outputs (total is always retained); None preserves all previous tables. Preserve successful and failed cases and write summary.csv. For long jobs use submit. Return partial results and isError=true if any requested case is unsuccessful. |
| avl.submitA | Snapshot inputs and start a detached local AVL job; return job_id immediately. 1-10000 cases, at most two background workers execute per work root. Workers survive MCP client disconnection. Timeout is the execution budget per attempt, excluding queue. outputs=['total'] skips derivatives/surface/strip output; None requests all tables. |
| avl.statusB | Read queued/running/completed/failed/cancelled/interrupted state and case counts. success=true means the status was read; inspect state/error for solver outcome. |
| avl.cancelA | Request cooperative cancellation of this job's worker and its owned AVL process. Completed cases and logs remain. Query status until cancellation is acknowledged. |
| avl.resumeA | Resume an inactive job after verifying input, solver, implementation and output hashes. Recompute only failed, missing or damaged cases. Active jobs cannot be resumed. |
| avl.resultsA | Page saved background or run/sweep results without running AVL. Limit 1-100 cases. Filter by original zero-based indices and dotted fields, e.g. total.fields.CLtot, body.derivatives.Cmq, stability.control_derivatives.elevator.Cm. Missing tables return FIELD_NOT_AVAILABLE; raw/strip artifact paths remain available by default. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool has a clear, distinct role: environment health, input inspection, validation, single run, sweep, async submit, status, cancel, resume, and results retrieval. Overlapping concerns like dependencies appear in multiple tools but are explicitly separated by context (environment vs. input file). There is little risk of an agent selecting the wrong tool.
Tool names are uniformly lowercase single-word commands, which is easy to follow. Most are imperative verbs (inspect, validate, run, submit, cancel, resume), but health, status, and results are noun-style names that deviate slightly from a strict verb pattern.
Ten tools cover the AVL workflow without redundancy or bloat. The count is well within the ideal range and each tool contributes a necessary part of the simulation lifecycle.
The toolset covers the full workflow: environment checks, inspection, validation, synchronous single/multi-case execution, asynchronous submission, job control, and result retrieval. There are no obvious dead ends, and background jobs can be managed and resumed cleanly.