random_airplanes_detailed_info
Get detailed metadata for a specified number of random airplanes, enabling varied aircraft data retrieval for testing or analysis.
Instructions
Return detailed metadata for random airplanes.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| number_of_airplanes | Yes | Number of random airplanes to return. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/aviationstack_mcp/server.py:590-618 (handler)Core handler function that fetches random airplane detailed info from the API, samples the data, and returns JSON with fields like production_line, plane_owner, plane_age, model_name, etc.
def random_airplanes_detailed_info(number_of_airplanes: int) -> str: """Get detailed info for random airplanes.""" try: _validate_positive_int(number_of_airplanes, "number_of_airplanes") data = fetch_flight_data("airplanes", {"limit": number_of_airplanes}) sampled_airplanes = _sample_data(data.get("data", []), number_of_airplanes) airplanes = [] for airplane in sampled_airplanes: airplanes.append( { "production_line": airplane.get("production_line"), "plane_owner": airplane.get("plane_owner"), "plane_age": airplane.get("plane_age"), "model_name": airplane.get("model_name"), "model_code": airplane.get("model_code"), "plane_series": airplane.get("plane_series"), "registration_number": airplane.get("registration_number"), "engines_type": airplane.get("engines_type"), "engines_count": airplane.get("engines_count"), "delivery_date": airplane.get("delivery_date"), "first_flight_date": airplane.get("first_flight_date"), } ) return json.dumps(airplanes) except requests.RequestException as exc: return _error_response("fetching airplanes", exc) except (KeyError, ValueError, TypeError) as exc: return _error_response("fetching airplanes", exc) - Pydantic input schema (BaseModel) for the random_airplanes_detailed_info tool, defining number_of_airplanes as a required positive integer.
class RandomAirplanesDetailedInfoInput(BaseModel): """Input schema for random_airplanes_detailed_info tool.""" model_config = ConfigDict(extra="forbid") number_of_airplanes: int = Field( ..., description="Number of random airplanes to return.", gt=0, ) - src/aviationstack_mcp/server.py:948-963 (registration)MCP tool registration using @mcp.tool decorator with name='random_airplanes_detailed_info' and a description.
@mcp.tool( name="random_airplanes_detailed_info", description="Return detailed metadata for random airplanes.", ) def random_airplanes_detailed_info_tool( number_of_airplanes: Annotated[ int, Field(description="Number of random airplanes to return.", gt=0) ], ) -> str: """Tool wrapper for random_airplanes_detailed_info.""" validated_input = RandomAirplanesDetailedInfoInput( number_of_airplanes=number_of_airplanes ) return random_airplanes_detailed_info( number_of_airplanes=validated_input.number_of_airplanes )