AFSIM MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AFSIM_MCP_STATE_DIR | No | Path to the runtime state directory (default: <project_root>\mcp_state) | |
| AFSIM_MCP_CONFIG_DIR | No | Path to the configuration directory (default: C:\Users\<username>\.afsim_mcp) |
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| create_scenario | Create a new AFSIM scenario in memory. Parametersname: Unique name for the scenario. description: Optional human-readable description. duration_s: Simulation duration in seconds (default 3600). time_step_s: Simulation time step in seconds (default 1.0). ReturnsJSON with scenario_id, name, and metadata. |
| load_scenario | Load a scenario from disk. Parametersfile_path: Path to the scenario file. format: 'afsim' for .afsim files (default), 'json' for JSON files. ReturnsJSON with scenario_id and metadata. |
| save_scenario | Save a scenario to disk. Parametersscenario_id: UUID of the scenario to save. file_path: Destination path. Defaults to scenarios/.afsim (or .json). format: 'afsim' (default) or 'json'. ReturnsJSON with the saved file path. |
| validate_scenario | Validate a scenario and return errors/warnings. Parametersscenario_id: UUID of the scenario to validate. ReturnsJSON with 'valid', 'errors', and 'warnings' lists. |
| list_scenarios | List all in-memory scenarios. ReturnsJSON array of scenario summaries. |
| list_scenario_files | List scenario files (.afsim and .json) in the scenarios directory. ReturnsJSON array of file paths. |
| delete_scenario | Remove a scenario from memory (does not delete files on disk). Parametersscenario_id: UUID of the scenario to remove. ReturnsJSON with 'removed' boolean. |
| get_scenario_content | Get the AFSIM text representation of a scenario. Parametersscenario_id: UUID of the scenario. ReturnsJSON with 'name' and 'content' (AFSIM scenario text). |
| create_platform | Add a new platform (entity) to a scenario. Parametersscenario_id: UUID of the target scenario. name: Unique name for the platform within the scenario. platform_type: AFSIM platform type (e.g. 'wsf_air_vehicle', 'wsf_ground_vehicle'). latitude, longitude: Initial position in decimal degrees. altitude_m: Initial altitude in metres. ReturnsJSON with platform metadata. |
| delete_platform | Remove a platform from a scenario. Parametersscenario_id: UUID of the target scenario. platform_name: Name of the platform to remove. ReturnsJSON with 'removed' boolean. |
| modify_platform | Modify an existing platform's position or type. Parametersscenario_id: UUID of the target scenario. platform_name: Name of the platform to modify. latitude, longitude, altitude_m: New position values (omit to keep current). platform_type: New platform type string (omit to keep current). ReturnsJSON with updated platform metadata. |
| list_platforms | List all platforms in a scenario. Parametersscenario_id: UUID of the target scenario. ReturnsJSON array of platform summaries. |
| add_mover | Add a mover component to a platform. Parametersscenario_id: UUID of the target scenario. platform_name: Name of the target platform. mover_type: AFSIM mover type (e.g. 'wsf_route_mover', 'wsf_air_mover'). mover_name: Optional name for the mover component. ReturnsJSON with component metadata. |
| add_sensor | Add a sensor component to a platform. Parametersscenario_id: UUID of the target scenario. platform_name: Name of the target platform. sensor_type: AFSIM sensor type (e.g. 'wsf_radar_sensor', 'wsf_eo_sensor'). sensor_name: Optional name for the sensor component. ReturnsJSON with component metadata. |
| add_weapon | Add a weapon component to a platform. Parametersscenario_id: UUID of the target scenario. platform_name: Name of the target platform. weapon_type: AFSIM weapon type (e.g. 'wsf_missile', 'wsf_bomb'). weapon_name: Optional name for the weapon component. ReturnsJSON with component metadata. |
| remove_component | Remove a component from a platform. Parametersscenario_id: UUID of the target scenario. platform_name: Name of the target platform. component_name: Name of the component to remove. ReturnsJSON with 'removed' boolean. |
| list_components | List all components on a platform. Parametersscenario_id: UUID of the target scenario. platform_name: Name of the target platform. ReturnsJSON array of component summaries. |
| run_simulation | Run an AFSIM simulation for the specified scenario. If no AFSIM binary is configured (or dry_run is True), the simulation is recorded as completed immediately without executing AFSIM. Parametersscenario_id: UUID of the scenario to simulate. dry_run: If True, skip actual AFSIM execution (useful for testing). ReturnsJSON with run_id, status, and other run metadata. |
| stop_simulation | Stop a running simulation. Parametersrun_id: UUID of the simulation run to stop. ReturnsJSON with updated run status. |
| get_simulation_status | Query the current status of a simulation run. Parametersrun_id: UUID of the simulation run. ReturnsJSON with status, times, PID, output directory, etc. |
| list_simulation_runs | List all known simulation runs and their statuses. ReturnsJSON array of run summaries. |
| set_afsim_binary | Configure the path to the AFSIM simulation binary. Parametersbinary_path: Absolute path to the AFSIM executable. ReturnsJSON confirmation. |
| list_result_files | List simulation result files. Parametersrun_id: Filter to a specific run's output directory (optional). directory: Directory to scan (overrides default output dir). formats: Comma-separated list of extensions to include (e.g. '.aer,.csv'). ReturnsJSON array of result file metadata. |
| query_csv_results | Read and query a CSV result file. Parametersfile_path: Path to the CSV file. columns: Comma-separated column names to include (all if empty). max_rows: Maximum rows to return (default 1000). ReturnsJSON with columns, row_count, and rows. |
| query_evt_results | Read an AFSIM .evt event file. Parametersfile_path: Path to the .evt file. max_lines: Maximum lines to return (default 500). ReturnsJSON with line_count and lines array. |
| query_aer_results | Read an AFSIM .aer archive/result file. Parametersfile_path: Path to the .aer file. max_lines: Maximum lines to return (default 500). ReturnsJSON with line_count and lines array. |
| export_results_to_json | Convert a result file (.csv, .evt, .aer) to JSON format. Parametersfile_path: Path to the source result file. output_path: Destination JSON path (defaults to same name with .json extension). ReturnsJSON with the output file path. |
| get_results_summary | Summarise simulation results in a directory. Parametersdirectory: Directory to summarise (defaults to simulation output dir). ReturnsJSON with total_files, by_format counts, and total_size_bytes. |
| set_afsim_home | Set the AFSIM installation root directory. Parameterspath: Path to AFSIM_HOME (the directory containing bin/, data/, etc.). ReturnsJSON confirmation with detected binaries. |
| detect_afsim_installation | Auto-detect AFSIM installation from environment and file system. ReturnsJSON with afsim_home, binary paths, and all_found flag. |
| set_tool_binary_path | Override the binary path for a specific AFSIM tool. Parameterstool: Tool identifier: 'wizard', 'mission', 'warlock', or 'mystic'. path: Absolute path to the tool binary. ReturnsJSON confirmation. |
| run_wizard | Launch the AFSIM Wizard (GUI scenario builder). Parametersscenario_file: Optional path to open in Wizard. ReturnsJSON with success flag and PID (if launched). |
| run_mission | Launch the AFSIM Mission Planner. Parametersscenario_file: Optional path to open in Mission Planner. ReturnsJSON with success flag and PID. |
| run_warlock | Run the AFSIM Warlock batch simulation engine. Parametersscenario_file: Path to the AFSIM scenario file. output_dir: Directory for output files (default current dir). ReturnsJSON with success flag, returncode, stdout/stderr snippets. |
| run_mystic | Launch the AFSIM Mystic post-processor. Parametersresults_dir: Directory containing simulation results to analyse. ReturnsJSON with success flag and PID. |
| generate_scenario_from_prompt | Generate an AFSIM scenario from a natural language description. The generator uses keyword matching and heuristics to parse the prompt and build a scenario with platforms, movers, sensors, and weapons. Examples: "Create a scenario with 2 fighters and a ship over 2 hours" "Simulate 3 UAVs with radar sensors patrolling for 30 minutes" "Air defense scenario: 1 SAM site and 4 attack aircraft, 1 hour" Parametersprompt: Natural language description of the desired scenario. ReturnsJSON with scenario_id, name, platform list, warnings, and AFSIM preview. |
| refine_scenario_from_prompt | Apply a natural language refinement to an existing scenario. Supports:
Parametersscenario_id: UUID of the scenario to refine. refinement_prompt: Natural language description of the changes to make. ReturnsJSON with changes applied and updated platform count. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yookio-Z/AFSIM_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server