Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EMS_BASE_URLYesEMS server URL (e.g. https://your-ems-server.com) -- do not include /api
EMS_PASSWORDYesYour EMS password
EMS_USERNAMEYesYour EMS username

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_assets

Get reference data: fleets, aircraft, airports, or flight phases.

Args: ems_system_id: EMS system ID (from list_ems_systems). asset_type: Type of assets to retrieve. fleet_id: Filter aircraft by fleet ID (only for asset_type="aircraft").

Returns: Formatted list of the requested asset type.

ping_system

Check if an EMS system is online and responsive.

Args: ems_system_id: EMS system ID.

Returns: System status.

list_ems_systems

List available EMS systems. Start here to get system IDs for all other tools.

Returns: EMS systems with IDs, names, and descriptions.

list_databases

Navigate the database hierarchy. Call without group_id for root level.

The "FDW Flights" database (Flight Data Warehouse) contains flight records.

Args: ems_system_id: EMS system ID (from list_ems_systems). group_id: Group ID to navigate into (omit for root).

Returns: Databases and subgroups at the specified level.

find_fields

Find fields in a database. Three modes available:

  • search: Fast keyword search (default). Requires search_text. Does NOT work on entity-type databases.

  • browse: Navigate field group hierarchy. Use group_id to drill down.

  • deep: BFS traversal across all field groups. Requires search_text. Works on ALL databases including entity-type. Slower (multiple API calls).

Results show numbered references [N] that can be used directly in query_database, get_field_info, etc. Field names also work.

Args: ems_system_id: EMS system ID. database_id: Database ID or name (e.g. "FDW Flights"). mode: "search" (fast keyword), "browse" (navigate groups), or "deep" (BFS). search_text: Search keyword (required for search and deep modes). group_id: Field group ID to navigate into (browse mode only). max_results: Maximum results (search/deep modes, default: 50). max_depth: Maximum traversal depth (deep mode, default: 5, max: 10). max_groups: Maximum API calls (deep mode, default: 50, max: 200). show_ids: If True, show full IDs inline instead of numbered references.

Returns: Fields with names, types, and IDs (or numbered references).

get_field_info

Get field metadata including type, units, and discrete value mappings.

Essential for discrete fields: shows numeric code-to-label mappings needed for filtering. String labels in filters are auto-resolved, but use this to verify available values.

Args: ems_system_id: EMS system ID. database_id: Database ID or name (e.g. "FDW Flights"). field_id: Field reference: [N] number from find_fields, field name (e.g. "Takeoff Airport Name"), or bracket-encoded ID.

Returns: Field details with discrete value mappings if applicable.

search_analytics

Search for time-series analytics by name (altitude, airspeed, etc.).

You can pass analytic names directly to query_flight_analytics -- raw IDs are not needed. Use this tool to discover available analytic names.

Args: ems_system_id: EMS system ID. search_text: Keyword to search for in analytic names. group_id: Optional analytic group ID to narrow search. max_results: Maximum results (default: 50). show_ids: If True, show full IDs inline.

Returns: Matching analytics with names, types, units, and descriptions.

get_result_id

DEPRECATED: query_database and get_field_info now accept [N] reference numbers and field names directly. This tool is no longer needed in the standard workflow.

Retrieve full opaque IDs for numbered [N] references from search results.

Args: result_numbers: Reference numbers from search results (e.g., [1, 3, 5]).

Returns: The name and full ID for each requested result.

query_database

Query flight records from a database.

Accepts field names (e.g. "Flight Date"), [N] reference numbers from find_fields, or raw bracket-encoded IDs. Database names (e.g. "FDW Flights") are also resolved automatically.

Supports aggregation (avg/count/max/min/stdev/sum/var) and discrete filter auto-resolution (string labels resolved to numeric codes automatically).

Args: ems_system_id: EMS system ID. database_id: Database ID or name (e.g. "FDW Flights"). fields: Fields to retrieve. Each has field_id (name, [N] ref, or bracket ID), optional alias, optional aggregate. filters: Filter conditions (AND-combined). Each has field_id, operator (equal/notEqual/greaterThan/lessThan/between/in/like/isNull/etc.), value. order_by: Sort order. Each has field_id, optional direction (asc/desc). limit: Max rows (1-10000, default: 100). format: 'display' (human-readable, default) or 'raw' (numeric codes). output_format: 'table' (default), 'csv' (compact), or 'json' (structured).

Returns: Results in the requested output format.

query_flight_analytics

Get time-series data (altitude, airspeed, etc.) for specific flights.

Flight IDs come from query_database. Accepts human-readable analytic names (e.g. "Airspeed") which are resolved automatically, or raw IDs from search_analytics.

Args: ems_system_id: EMS system ID. flight_ids: Flight record IDs (max 10, from query_database). analytics: Analytic names or IDs (max 20). e.g. ["Airspeed", "Altitude"]. start_offset: Start time in seconds from flight start. end_offset: End time in seconds from flight start. sample_rate: Samples per second (default: 1.0). output_format: 'table' (default), 'csv' (compact), or 'json' (structured).

Returns: Per-flight time-series data in the requested output format.

Prompts

Interactive templates invoked by user choice

NameDescription
analyze_flightsAnalyze flight data for a specific aircraft. Guides through the full discovery -> query -> analytics workflow. Args: tail_number: Aircraft tail number (e.g. "VH-VXZ"). Leave empty to query all. date_range: Date range for flights (e.g. "2024-01-01 to 2024-01-31"). parameters: Comma-separated analytics to retrieve (e.g. "Altitude, Airspeed").
compare_flightsCompare time-series analytics between two flights. Args: flight_id_1: First flight record ID. Leave empty to search. flight_id_2: Second flight record ID. Leave empty to search. parameters: Comma-separated analytics to compare.
search_flight_parametersSearch for available flight parameters/fields in the database. Args: search_term: What to search for (e.g. "fuel", "engine", "altitude"). database_type: "standard" for normal databases, "entity" for entity-type.

Resources

Contextual data attached and managed by the client

NameDescription
workflow_guideDiscovery-to-query workflow guide for EMS flight data analysis.
systems_resourceList of available EMS systems (cached).

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/mattsq/ems-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server