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

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

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_assetsC

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_systemA

Check if an EMS system is online and responsive.

Args: ems_system_id: EMS system ID.

Returns: System status.

list_ems_systemsA

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

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

list_databasesA

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_fieldsA

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_infoA

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_analyticsA

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_idA

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_databaseB

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_analyticsA

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