get_states
Pack: opensky · Endpoint: https://gateway.pipeworx.io/opensky/mcp
Live ADS-B state vectors for aircraft currently transmitting — position, barometric and geometric altitude (metres), velocity (m/s), heading, vertical rate, squawk, and on-ground flag, plus registration and aircraft type. Filter to specific aircraft with comma-separated ICAO24 hex addresses, or to an area with lat/lon and a radius. Keyless. Use for “where is this aircraft now”, “what is transmitting near this point”, “is anything squawking an emergency code here”.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
icao24 | string | no | Filter by one or more ICAO24 hex addresses, comma-separated (e.g. “3c675a,a835af”). |
lat | number | no | Centre latitude for an area query, degrees. |
lon | number | no | Centre longitude for an area query, degrees. |
radius_nm | number | no | Radius around lat/lon in nautical miles (1-${MAX_RADIUS_NM}, default 100). |
Example call
Arguments
{
"lat": 51.47,
"lon": -0.45,
"radius_nm": 50
}
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":"get_states","arguments":{"lat":51.47,"lon":-0.45,"radius_nm":50}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('get_states', {
"lat": 51.47,
"lon": -0.45,
"radius_nm": 50
});
More examples
{
"icao24": "40825f"
}
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.