get_states

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

Get current state vectors (live positions) of aircraft. Returns position, altitude, velocity, and heading for all aircraft currently tracked. Optionally filter by ICAO24 addresses.

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 May 9, 2026