faa-aircraft-registry-mcp-server
Offline, keyless lookup of the US civil aircraft registry — decode N-numbers, search records.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"faa-aircraft-registry-mcp-server": {
"command": "node",
"args": [
"@cyanheads/faa-aircraft-registry-mcp-server"
]
}
}
}可运行的软件包
0.1.9streamable-http远程端点
https://faa-aircraft-registry.caseyjhand.com/mcpstreamable-http它能做什么
工具清单
工具(5)
🟢faa_lookup_registration(nNumber)
Decode one US civil aircraft N-number to its full registration record — aircraft make/model, engine, year manufactured, airworthiness, registration status, Mode S (ICAO 24-bit) code, and registered owner (when owner-PII redaction is off). Accepts "N12345" or "12345" (the leading N is optional). Returns ownerRedacted: true when owner details were withheld. A number that is known but inactive (deregistered or reserved) is not found here — use faa_get_registration_status for its current state.
输入模式
{
"type": "object",
"properties": {
"nNumber": {
"type": "string",
"minLength": 1,
"description": "US registration N-number to decode. Accepts \"N12345\" or \"12345\" (leading N optional). Shape: 1–5 characters — a leading digit 1–9, then digits, optionally ending in 1–2 letters (I and O are unused)."
}
},
"required": [
"nNumber"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"nNumber": {
"type": "string",
"description": "Normalized N-number without the leading \"N\" (the registry storage form)."
},
"nNumberDisplay": {
"type": "string",
"description": "N-number in conventional display form, with the leading \"N\"."
},
"serialNumber": {
"description": "Manufacturer serial number.",
"type": "string"
},
"manufacturerModelCode": {
"description": "7-char manufacturer/model/series code.",
"type": "string"
},
"engineManufacturerModelCode": {
"description": "5-char engine manufacturer/model code.",
"type": "string"
},
"make": {
"description": "Aircraft manufacturer name.",
"type": "string"
},
"model": {
"description": "Aircraft model name.",
"type": "string"
},
"aircraftType": {
"description": "Aircraft type (e.g. Fixed-wing single-engine) as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"engineType": {
"description": "Engine type (e.g. Reciprocating, Turbo-fan) as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"engineMake": {
"description": "Engine manufacturer name.",
"type": "string"
},
"engineModel": {
"description": "Engine model name.",
"type": "string"
},
"yearManufactured": {
"description": "Year the aircraft was manufactured; often blank (permissible field).",
"type": "number"
},
"region": {
"description": "Registrant's FAA region as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"lastActionDate": {
"description": "Date of the last registration action (YYYY-MM-DD).",
"type": "string"
},
"certIssueDate": {
"description": "Certificate issue date (YYYY-MM-DD).",
"type": "string"
},
"airworthinessClass": {
"description": "Airworthiness classification (Standard, Experimental, …) from CERTIFICATION char 1, as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"approvedOperationsRaw": {
"description": "Raw FAA approved-operations sub-code string; interpretation varies by airworthiness class.",
"type": "string"
},
"status": {
"description": "Registration status (e.g. Valid registration) as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"airworthinessDate": {
"description": "Airworthiness certificate date (YYYY-MM-DD).",
"type": "string"
},
"expirationDate": {
"description": "Registration expiration date (YYYY-MM-DD).",
"type": "string"
},
"modeSCodeOctal": {
"description": "Mode S transponder code in octal.",
"type": "string"
},
"modeSCodeHex": {
"description": "Mode S code in hex — the ICAO 24-bit address used to key live flight-tracking data.",
"type": "string"
},
"fractionalOwner": {
"type": "boolean",
"description": "True when the aircraft is under fractional ownership."
},
"uniqueId": {
"description": "FAA unique aircraft identifier.",
"type": "string"
},
"kitManufacturer": {
"description": "Kit manufacturer (amateur-built aircraft); often blank.",
"type": "string"
},
"kitModel": {
"description": "Kit model (amateur-built aircraft); often blank.",
"type": "string"
},
"owner": {
"description": "Registrant name/address; present only when redaction is off.",
"type": "object",
"properties": {
"name": {
"description": "Registrant name.",
"type": "string"
},
"street": {
"description": "Street address line 1.",
"type": "string"
},
"street2": {
"description": "Street address line 2.",
"type": "string"
},
"city": {
"description": "City.",
"type": "string"
},
"state": {
"description": "Two-letter state/territory abbreviation.",
"type": "string"
},
"zip": {
"description": "Postal/ZIP code.",
"type": "string"
},
"county": {
"description": "County code.",
"type": "string"
},
"country": {
"description": "Country code.",
"type": "string"
},
"typeRegistrant": {
"description": "Registrant type (Individual, LLC, Corporation, Government, …) as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"otherNames": {
"description": "Co-owner names (1–5 on record); only present when PII redaction is off.",
"type": "array",
"items": {
"type": "string",
"description": "A co-owner name."
}
}
},
"additionalProperties": false
},
"ownerRedacted": {
"type": "boolean",
"description": "True when owner name/address were withheld from this payload by the redaction gate."
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"description": "Machine-readable failure mode. Declared by this tool: `not_found`: The N-number is well-formed but has no active registration. `invalid_n_number`: The input is not a structurally valid N-number (after the optional leading \"N\": 1–5 characters, a leading digit 1–9, then digits, optionally 1–2 trailing letters; I and O are unused). Other values are possible when a failure originates below the handler.",
"examples": [
"not_found",
"invalid_n_number"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"nNumber",
"nNumberDisplay",
"fractionalOwner",
"ownerRedacted"
]
},
{
"required": [
"error"
]
}
]
}🟢faa_get_aircraft_type(code)
Decode a 7-character FAA manufacturer/model/series code to aircraft specifications — manufacturer, model, aircraft category, aircraft type, engine type, number of engines, number of seats, weight class, cruise speed, and type-certificate data sheet/holder. Use faa_search_aircraft_types first to discover a code by manufacturer or model name.
输入模式
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1,
"description": "Manufacturer/model/series code (e.g. \"2072714\") — 6–7 uppercase alphanumeric characters, usually 7. Discover codes via faa_search_aircraft_types."
}
},
"required": [
"code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The 7-char manufacturer/model/series code."
},
"manufacturer": {
"description": "Aircraft manufacturer name.",
"type": "string"
},
"model": {
"description": "Aircraft model name.",
"type": "string"
},
"aircraftType": {
"description": "Aircraft type as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"engineType": {
"description": "Engine type as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"category": {
"description": "Aircraft category (Land, Sea, Amphibian) as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"builderCertification": {
"description": "Builder certification (Type Certificated, Not Type Certificated, Light Sport) as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"numberOfEngines": {
"description": "Number of engines; may be blank on the reference record.",
"type": "number"
},
"numberOfSeats": {
"description": "Number of seats; may be blank on the reference record.",
"type": "number"
},
"weightClass": {
"description": "Weight class as the literal FAA string (e.g. \"CLASS 1\").",
"type": "string"
},
"cruiseSpeedMph": {
"description": "Cruise speed in mph; often blank (permissible field).",
"type": "number"
},
"typeCertificateDataSheet": {
"description": "Type-certificate data sheet identifier.",
"type": "string"
},
"typeCertificateDataHolder": {
"description": "Type-certificate data holder.",
"type": "string"
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"description": "Machine-readable failure mode. Declared by this tool: `not_found`: The code is well-formed but does not identify a known aircraft type. `invalid_code`: The input is not a structurally valid code (expected 6–7 uppercase alphanumeric characters). Other values are possible when a failure originates below the handler.",
"examples": [
"not_found",
"invalid_code"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"code"
]
},
{
"required": [
"error"
]
}
]
}🟢faa_search_registrations(ownerName, makeModel, state, aircraftType, modeSCode, ...)
Search active US civil aircraft registrations by owner name, make/model, state, aircraft type, or Mode S (hex) code. Returns decoded summaries with N-numbers to drill into via faa_lookup_registration. At least one filter is required. Owner-name search is unavailable when this deployment redacts owner PII — search by make/model, state, aircraft type, or Mode S code instead. Every response reports totalCount (all matches, not just this page); when more remain, it returns nextOffset — pass it back as offset to page forward.
输入模式
{
"type": "object",
"properties": {
"ownerName": {
"description": "Registrant name to match (full-text). Rejected when owner-PII redaction is on.",
"type": "string"
},
"makeModel": {
"description": "Aircraft make and/or model to match (full-text).",
"type": "string"
},
"state": {
"description": "Two-letter state/territory abbreviation (exact match).",
"type": "string"
},
"aircraftType": {
"description": "Aircraft type code to match exactly (e.g. \"4\" for fixed-wing single-engine).",
"type": "string"
},
"modeSCode": {
"description": "Mode S code in hex to match exactly (ICAO 24-bit address).",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of results to return (1–200, default 25).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"default": 0,
"description": "Zero-based index of the first result to return — pass the nextOffset from a previous response, with identical filters, to page forward (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"registrations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nNumber": {
"type": "string",
"description": "Normalized N-number without the leading \"N\"."
},
"nNumberDisplay": {
"type": "string",
"description": "N-number with the leading \"N\" for display."
},
"make": {
"description": "Aircraft manufacturer name.",
"type": "string"
},
"model": {
"description": "Aircraft model name.",
"type": "string"
},
"yearManufactured": {
"description": "Year manufactured; often blank.",
"type": "number"
},
"state": {
"description": "Registrant state/territory abbreviation.",
"type": "string"
},
"aircraftType": {
"description": "Aircraft type as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"status": {
"description": "Registration status as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"modeSCodeHex": {
"description": "Mode S code in hex (ICAO 24-bit address).",
"type": "string"
},
"ownerName": {
"description": "Registrant name; present only when owner-PII redaction is off.",
"type": "string"
},
"ownerRedacted": {
"type": "boolean",
"description": "True when owner name was withheld by the redaction gate."
}
},
"required": [
"nNumber",
"nNumberDisplay",
"ownerRedacted"
],
"additionalProperties": false,
"description": "A decoded registration summary; use nNumber with faa_lookup_registration for full detail."
},
"description": "Matching registration summaries for this page (up to limit)."
},
"totalCount": {
"type": "number",
"description": "Total registrations matching the filters, across all pages. Always present."
},
"nextOffset": {
"description": "Offset to request the next page; absent when this page reached the end of the matches.",
"type": "number"
},
"truncated": {
"description": "Present and true only when matches remain beyond this page.",
"type": "boolean"
},
"shown": {
"description": "Number of results on this page (present only when truncated is set).",
"type": "number"
},
"cap": {
"description": "The limit that was applied (present only when truncated is set).",
"type": "number"
},
"notice": {
"description": "Guidance when no registrations matched, or when more matches remain.",
"type": "string"
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"description": "Machine-readable failure mode. Declared by this tool: `owner_search_disabled`: ownerName was supplied while owner-PII redaction is enabled on this deployment. `no_filters`: No search filter was supplied. Other values are possible when a failure originates below the handler.",
"examples": [
"owner_search_disabled",
"no_filters"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"registrations",
"totalCount"
]
},
{
"required": [
"error"
]
}
]
}🟢faa_search_aircraft_types(query, aircraftType, category, limit, offset)
Search FAA aircraft types by manufacturer/model name, aircraft type code, or category code to discover 7-character manufacturer/model/series codes and browse specifications. Use this before faa_get_aircraft_type to find a code by name. At least one filter is required. Every response reports totalCount (all matches, not just this page); when more remain, it returns nextOffset — pass it back as offset to page forward.
输入模式
{
"type": "object",
"properties": {
"query": {
"description": "Manufacturer and/or model name to match (full-text).",
"type": "string"
},
"aircraftType": {
"description": "Aircraft type code to match exactly (e.g. \"6\" for rotorcraft).",
"type": "string"
},
"category": {
"description": "Aircraft category code to match exactly (1 Land, 2 Sea, 3 Amphibian).",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of results to return (1–200, default 25).",
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"default": 0,
"description": "Zero-based index of the first result to return — pass the nextOffset from a previous response, with identical filters, to page forward (default 0).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"aircraftTypes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "7-char manufacturer/model/series code — pass to faa_get_aircraft_type for full specs."
},
"manufacturer": {
"description": "Aircraft manufacturer name.",
"type": "string"
},
"model": {
"description": "Aircraft model name.",
"type": "string"
},
"aircraftType": {
"description": "Aircraft type as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"category": {
"description": "Aircraft category (Land, Sea, Amphibian) as code + label.",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"numberOfEngines": {
"description": "Number of engines; may be blank.",
"type": "number"
},
"numberOfSeats": {
"description": "Number of seats; may be blank.",
"type": "number"
}
},
"required": [
"code"
],
"additionalProperties": false,
"description": "A decoded aircraft-reference summary; use code with faa_get_aircraft_type for full specs."
},
"description": "Matching aircraft-reference summaries for this page (up to limit)."
},
"totalCount": {
"type": "number",
"description": "Total aircraft types matching the filters, across all pages. Always present."
},
"nextOffset": {
"description": "Offset to request the next page; absent when this page reached the end of the matches.",
"type": "number"
},
"truncated": {
"description": "Present and true only when matches remain beyond this page.",
"type": "boolean"
},
"shown": {
"description": "Number of results on this page (present only when truncated is set).",
"type": "number"
},
"cap": {
"description": "The limit that was applied (present only when truncated is set).",
"type": "number"
},
"notice": {
"description": "Guidance when no aircraft types matched, or when more matches remain.",
"type": "string"
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"description": "Machine-readable failure mode. Declared by this tool: `no_filters`: No search filter was supplied. Other values are possible when a failure originates below the handler.",
"examples": [
"no_filters"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"aircraftTypes",
"totalCount"
]
},
{
"required": [
"error"
]
}
]
}🟢faa_get_registration_status(nNumber)
Resolve whether a US civil aircraft N-number is active, deregistered, reserved, or unknown, including the available registration and airworthiness status. Use this rather than faa_lookup_registration when a number may be inactive. A number that was never issued returns recordType "unknown" — a valid, informative answer, not an error. Accepts "N12345" or "12345".
输入模式
{
"type": "object",
"properties": {
"nNumber": {
"type": "string",
"minLength": 1,
"description": "US registration N-number to resolve. Accepts \"N12345\" or \"12345\" (leading N optional). Shape: 1–5 characters — a leading digit 1–9, then digits, optionally ending in 1–2 letters (I and O are unused)."
}
},
"required": [
"nNumber"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"recordType": {
"type": "string",
"enum": [
"active",
"deregistered",
"reserved",
"unknown"
],
"description": "Resolved registration state: active, deregistered, reserved, or unknown."
},
"nNumber": {
"type": "string",
"description": "Normalized N-number without the leading \"N\"."
},
"nNumberDisplay": {
"type": "string",
"description": "N-number with the leading \"N\" for display."
},
"status": {
"description": "Registration/cancellation status as code + label (active and deregistered records).",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"airworthinessClass": {
"description": "Airworthiness classification as code + label (active records).",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"certIssueDate": {
"description": "Certificate issue date, YYYY-MM-DD (active records).",
"type": "string"
},
"expirationDate": {
"description": "Registration expiration date, YYYY-MM-DD (active records).",
"type": "string"
},
"airworthinessDate": {
"description": "Airworthiness certificate date, YYYY-MM-DD (active records).",
"type": "string"
},
"cancelDate": {
"description": "Cancellation date, YYYY-MM-DD (deregistered records).",
"type": "string"
},
"serialNumber": {
"description": "Manufacturer serial number (deregistered records).",
"type": "string"
},
"manufacturerModelCode": {
"description": "7-char manufacturer/model/series code (deregistered records).",
"type": "string"
},
"modeSCodeHex": {
"description": "Mode S code in hex / ICAO 24-bit address (deregistered records).",
"type": "string"
},
"typeReservation": {
"description": "Type of reservation as code + label (reserved records).",
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"description": "The decoded human-readable label; omitted when the code is unrecognized.",
"type": "string"
}
},
"required": [
"code"
],
"additionalProperties": false
},
"reserveDate": {
"description": "Date the number was reserved, YYYY-MM-DD (reserved records).",
"type": "string"
},
"expirationNoticeDate": {
"description": "Date an expiration notice was sent, YYYY-MM-DD (reserved records).",
"type": "string"
},
"purgeDate": {
"description": "Scheduled purge date, YYYY-MM-DD (reserved records).",
"type": "string"
},
"nNumberForChange": {
"description": "The N-number this reservation changes to/from (reserved records).",
"type": "string"
},
"error": {
"description": "Present when the call failed. Absent on success.",
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"description": "Machine-readable failure mode. Declared by this tool: `invalid_n_number`: The input is not a structurally valid N-number (after the optional leading \"N\": 1–5 characters, a leading digit 1–9, then digits, optionally 1–2 trailing letters; I and O are unused). Other values are possible when a failure originates below the handler.",
"examples": [
"invalid_n_number"
]
},
"recovery": {
"description": "Actionable next step for the caller.",
"type": "object",
"properties": {
"hint": {
"type": "string"
}
},
"required": [
"hint"
],
"additionalProperties": {}
},
"retryable": {
"description": "Whether retrying may succeed.",
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"required": [
"code",
"message"
],
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"recordType",
"nNumber",
"nNumberDisplay"
]
},
{
"required": [
"error"
]
}
]
}社区
证据