msfs2024-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MSFS_ENABLE_FSUIPC | No | Enable FSUIPC7 layer (requires FSUIPC7 running) | false |
| MSFS_ENABLE_MEMORY | No | Enable raw memory layer (requires admin rights and opt-in) | false |
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 |
|---|---|
| connection_statusA | Report health of all three layers (enabled, imported, connected). |
| connect_simA | Connect the SimConnect layer to a running MSFS. Idempotent. |
| get_simvarA | Read any SimVar by its exact SDK name. Supports indices, e.g. 'TURB_ENG_N1:1'. |
| get_simvarsA | Read several SimVars at once. Returns a name->value map; failures are inline. |
| set_simvarC | Write a settable SimVar (e.g. AUTOPILOT_HEADING_LOCK_DIR). Check 'settable' in the catalog. |
| get_aircraft_stateA | Bundled snapshot: position, attitude, speeds, engine/fuel, config, autopilot, status. |
| trigger_eventA | Fire a SimConnect Event (a control/command). Pass 'value' for events that take a parameter. Examples: trigger_event('GEAR_TOGGLE'); trigger_event('HEADING_BUG_SET', 270). |
| autopilot_set_headingA | Set the autopilot heading bug (0-359 degrees). |
| autopilot_set_altitudeC | Set the autopilot target altitude in feet. |
| autopilot_set_vertical_speedB | Set the autopilot target vertical speed in feet per minute (negative = descend). |
| autopilot_toggle_masterA | Toggle the autopilot master on/off. |
| list_simvarsA | Search the SimVar catalog by keyword and/or category. Empty args list everything. Categories: position, attitude, speed, engine, fuel, config, autopilot, systems, environment, status. |
| list_eventsA | Search the Event catalog by keyword and/or category. Empty args list everything. Categories: engine, config, autopilot, controls, systems, sim. |
| fsuipc_statusA | FSUIPC layer health plus the list of built-in known offset keys. |
| fsuipc_read_offsetA | Read a raw FSUIPC offset. offset_hex like '0x0560'; type_code one of b/B/h/H/d/u/l/L/f/s. For strings use type_code='s' and pass a length. |
| fsuipc_read_knownC | Read one of the built-in known offsets by key (see fsuipc_status.known_offsets). |
| fsuipc_write_offsetB | Write a raw FSUIPC offset. Use deliberately — offsets are global sim state. |
| memory_statusA | Raw-memory layer health (enabled flag, attach state, target process/pid). |
| memory_attachB | Attach to the MSFS process for raw reads. Off unless MSFS_ENABLE_MEMORY=true. |
| memory_module_baseA | Return the base address of a loaded module (defaults to the main executable). |
| memory_readB | Read a typed value at an absolute address. type_name: int32/uint32/int64/uint64/float/double/byte/ubyte. |
| memory_read_pointer_chainB | Resolve a pointer chain from a base address, then read the typed value at the end. |
| memory_writeB | Write to an absolute address. Double-gated: needs MSFS_ENABLE_MEMORY=true AND allow_write=true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| preflight_briefing | Generate a preflight briefing from current sim state. |
| fly_to_heading_altitude | Set up the autopilot to fly a heading and altitude. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| telemetry_state | Live aircraft-state snapshot as a resource (mirrors get_aircraft_state). |
| resource_simvars | The full SimVar catalog as a resource. |
| resource_events | The full Event catalog as a resource. |
TDQS
Scored across 23 tools
All 23 tools have clearly distinct purposes. Autopilot, connection, FSUIPC, SimVar, event, and memory groups are well-separated, with no ambiguous overlaps even between similar functions like set_simvar and trigger_event.
Tool names follow a consistent snake_case verb_noun pattern (e.g., autopilot_set_altitude, get_simvar, memory_read). Only minor exceptions like 'connection_status' are still intuitive and don't break the overall pattern.
23 tools is well-scoped for an MSFS interaction server. Each tool serves a distinct function across autopilot, SimVars, events, FSUIPC, memory, and connection layers, without unnecessary bloat or missing core functionality.
The server covers major interaction areas (autopilot, SimVars, events, FSUIPC, memory) with both read and write operations. A minor gap is the lack of a batch FSUIPC read, but generic SimVar and memory tools compensate. Overall comprehensive for low-level sim control.