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
| Name | Type | Required | Description |
|---|---|---|---|
region | string | yes | Region 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
| Field | Type | Description |
|---|---|---|
region | string | Region queried (normalized to lowercase) |
bbox | object | Bounding box coordinates for the region |
time | string | null | API response timestamp as ISO 8601 |
total_aircraft | integer | Total aircraft count in region |
in_air | integer | Number of aircraft currently in air |
on_ground | integer | Number of aircraft on ground |
avg_altitude_m | number | null | Average altitude in meters (rounded) |
operators_by_country | array | Top 15 countries by aircraft count |
note | string | Caveat 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.