MCP server that provides tools to query Microsoft Flight Simulator 2024 via SimConnect, exposing aircraft configuration, flight instruments, position, autopilot status, engine data, and flight plan information.
This server exhibits significant quality gaps across definition dimensions. All 11 tools share a critical pattern: they accept NO input parameters (empty {} schemas) yet lack descriptions explaining what data they retrieve or when to use each tool. Tool naming is consistent with verb-first convention (get_*), which is positive, but descriptions are extremely terse (10 - 30 characters), providing minimal context for LLM selection. Parameter descriptions are absent because there are no parameters. Output schemas are completely undocumented, the LLM has no way to know what fields to expect from each tool's response. Error handling is present in the code (timeouts, cancellation, connection checks) but error messages are generic and do not guide recovery. The server demonstrates good C# engineering practices (logging, structured responses, cancellation support) but fails to optimize the tool interface for agentic use. No security concerns detected (no credential parameters, read-only operations). Composition is reasonable, each tool has a single responsibility, but the lack of schema documentation and sparse descriptions make this server unsuitable for production agentic systems without significant rework.
Gets gear, flaps, spoilers, brakes, trim, and exterior lights.
Gets aircraft type, callsign, and weight details.
Gets approach load/active state and glidepath/glideslope status.
Gets autopilot modes and selected targets.
Checks if SimConnect is connected and responsive.
Gets engine RPM, throttle, fuel, and temperatures.
Gets primary flight instruments: altimeter, airspeed, and attitude.
No output schemas documented. LLMs cannot infer what fields each tool returns, forcing context waste and downstream integration failures. AircraftConfigurationResponse, AircraftInfoResponse, etc. classes exist in code but are not reflected in MCP tool metadata.
Descriptions are 10 - 30 characters; far below baseline (194 chars p50). Examples: 'Gets gear, flaps, spoilers, brakes, trim, and exterior lights.' (60 chars) is the longest. No WHEN to use guidance, no connection to other tools, no prerequisite hints. LLMs lack sufficient context to select the right tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Gets active GPS flight plan leg with next waypoint details.
Gets waypoint details for the active leg (prev/next only).
Gets current aircraft position, altitude, heading, and speed.
Gets nav source (GPS/VLOC) and CDI/GSI state.
get_flight_plan_waypoint has input schema {'index': {'type': 'integer', 'description': '...'}} but the parameter description does not explain the constraint 'must be active index or active index - 1' clearly enough for an LLM to reliably construct valid calls. No mention of what happens if index is out of bounds.
Error messages in responses are generic ('An unexpected error occurred', 'Unable to retrieve configuration data') and do not guide recovery. No error classification (retryable vs user-fixable vs fatal) visible to the LLM.
All 10 tools with no parameters lack any description of what data they retrieve. A user reading only the tool names and descriptions has no way to know whether get_aircraft_info and get_aircraft_configuration are redundant or serve different purposes.