get_states

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

Get live ADS-B state vectors for all currently tracked aircraft (up to 100 returned), or filter to specific aircraft by passing comma-separated ICAO24 hex addresses. Returns position (lat/lon), barometric and geometric altitude (metres), velocity (m/s), heading (degrees), vertical rate, and on-ground flag.

Parameters

NameTypeRequiredDescription
icao24stringnoFilter by one or more ICAO24 addresses (comma-separated, e.g., “3c675a,3c675b”)

Example call

Arguments

{}

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":{}}}'

TypeScript (@pipeworx/sdk)

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

const result = await pipeworx.call('get_states', {});

More examples

{
  "icao24": "3c675a,3c675b"
}

Response shape

Always returns: time, count, states

FieldTypeDescription
timestring | nullCurrent timestamp of state vectors as ISO 8601
countnumberNumber of aircraft state vectors returned
statesarrayUp to 100 current aircraft state vectors
Full JSON Schema
{
  "type": "object",
  "properties": {
    "time": {
      "type": [
        "string",
        "null"
      ],
      "description": "Current timestamp of state vectors as ISO 8601"
    },
    "count": {
      "type": "number",
      "description": "Number of aircraft state vectors returned"
    },
    "states": {
      "type": "array",
      "description": "Up to 100 current aircraft state vectors",
      "items": {
        "type": "object",
        "properties": {
          "icao24": {
            "type": [
              "string",
              "null"
            ],
            "description": "ICAO24 transponder address"
          },
          "callsign": {
            "type": [
              "string",
              "null"
            ],
            "description": "Aircraft callsign (trimmed)"
          },
          "origin_country": {
            "type": [
              "string",
              "null"
            ],
            "description": "Country of aircraft origin"
          },
          "longitude": {
            "type": [
              "number",
              "null"
            ],
            "description": "Longitude in decimal degrees"
          },
          "latitude": {
            "type": [
              "number",
              "null"
            ],
            "description": "Latitude in decimal degrees"
          },
          "baro_altitude_m": {
            "type": [
              "number",
              "null"
            ],
            "description": "Barometric altitude in meters"
          },
          "on_ground": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "True if aircraft is on the ground"
          },
          "velocity_ms": {
            "type": [
              "number",
              "null"
            ],
            "description": "Velocity in meters per second"
          },
          "true_track_deg": {
            "type": [
              "number",
              "null"
            ],
            "description": "True track heading in degrees"
          },
          "vertical_rate_ms": {
            "type": [
              "number",
              "null"
            ],
            "description": "Vertical rate in meters per second"
          },
          "geo_altitude_m": {
            "type": [
              "number",
              "null"
            ],
            "description": "Geometric altitude in meters"
          },
          "squawk": {
            "type": [
              "string",
              "null"
            ],
            "description": "Squawk code"
          }
        }
      }
    }
  },
  "required": [
    "time",
    "count",
    "states"
  ]
}

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 21, 2026