airspace_activity

Pack: opensky · Endpoint: https://gateway.pipeworx.io/opensky/mcp

Summary of live flight activity over a named region — total aircraft count, by-country breakdown of operators, average altitude, ground vs in-air split. Built for “is airspace open / closed” style geopolitical bets (Polymarket “Iran closes its airspace by X”, “Strait of Hormuz traffic returns to normal”, “Russia closes airspace”). Supported regions: Iran, Israel, Syria, Ukraine, Russia, Taiwan, North Korea, South China Sea, Yemen, Strait of Hormuz, Taiwan Strait, Red Sea, Saudi Arabia, Gulf of Aden, Lebanon.

Parameters

NameTypeRequiredDescription
regionstringyesRegion name (case-insensitive). Use one of the named regions above, or use get_states with an icao24 filter for custom areas.

Example call

Arguments

{
  "region": "Ukraine"
}

curl

curl -X POST https://gateway.pipeworx.io/opensky/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"airspace_activity","arguments":{"region":"Ukraine"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('airspace_activity', {
  "region": "Ukraine"
});

More examples

{
  "region": "Taiwan Strait"
}

Response shape

Always returns: region, bbox, time, total_aircraft, in_air, on_ground, avg_altitude_m, operators_by_country, note

FieldTypeDescription
regionstringRegion queried (normalized to lowercase)
bboxobjectBounding box coordinates for the region
timestring | nullAPI response timestamp as ISO 8601
total_aircraftintegerTotal aircraft count in region
in_airintegerNumber of aircraft currently in air
on_groundintegerNumber of aircraft on ground
avg_altitude_mnumber | nullAverage altitude in meters (rounded)
operators_by_countryarrayTop 15 countries by aircraft count
notestringCaveat about data limitations and military aircraft
Full JSON Schema
{
  "type": "object",
  "properties": {
    "region": {
      "type": "string",
      "description": "Region queried (normalized to lowercase)"
    },
    "bbox": {
      "type": "object",
      "description": "Bounding box coordinates for the region",
      "properties": {
        "lat_min": {
          "type": "number",
          "description": "Minimum latitude"
        },
        "lon_min": {
          "type": "number",
          "description": "Minimum longitude"
        },
        "lat_max": {
          "type": "number",
          "description": "Maximum latitude"
        },
        "lon_max": {
          "type": "number",
          "description": "Maximum longitude"
        }
      },
      "required": [
        "lat_min",
        "lon_min",
        "lat_max",
        "lon_max"
      ]
    },
    "time": {
      "type": [
        "string",
        "null"
      ],
      "description": "API response timestamp as ISO 8601"
    },
    "total_aircraft": {
      "type": "integer",
      "description": "Total aircraft count in region"
    },
    "in_air": {
      "type": "integer",
      "description": "Number of aircraft currently in air"
    },
    "on_ground": {
      "type": "integer",
      "description": "Number of aircraft on ground"
    },
    "avg_altitude_m": {
      "type": [
        "number",
        "null"
      ],
      "description": "Average altitude in meters (rounded)"
    },
    "operators_by_country": {
      "type": "array",
      "description": "Top 15 countries by aircraft count",
      "items": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "Country name or 'unknown'"
          },
          "count": {
            "type": "integer",
            "description": "Number of aircraft from this country"
          }
        },
        "required": [
          "country",
          "count"
        ]
      }
    },
    "note": {
      "type": "string",
      "description": "Caveat about data limitations and military aircraft"
    }
  },
  "required": [
    "region",
    "bbox",
    "time",
    "total_aircraft",
    "in_air",
    "on_ground",
    "avg_altitude_m",
    "operators_by_country",
    "note"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "opensky": {
      "url": "https://gateway.pipeworx.io/opensky/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build July 6, 2026