faa-aircraft-registry-mcp-server
An MCP server providing offline access to the US civil aircraft registry. It allows agents to decode N-numbers into full registration records including make, model, engine, and owner details. It also supports searching active registrations by owner, make/model, state, or Mode S code, and resolving aircraft type specifications from manufacturer codes.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://faa-aircraft-registry.caseyjhand.com/mcpWhat its tools do
5 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Decode an N-number to get aircraft make, model, engine, and owner details
- Search active US civil aircraft registrations by owner name or state
- Resolve an N-number to determine if it is active, deregistered, or reserved
- Decode a manufacturer/model code to get aircraft specifications like seats and weight class
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- faa-aircraft-registry-mcp-server 0.1.12
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 5 advertised
- Resources
- 0 advertised
- Resource templates
- 1 advertised
- Prompts
- 0 advertised
{
"tools": {
"listChanged": true
},
"logging": {},
"prompts": {
"listChanged": true
},
"resources": {
"subscribe": true,
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
5 advertised
faa_lookup_registration — faa-aircraft-registry-mcp-server: lookup registration
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",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"nNumber"
],
"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)."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"nNumber",
"nNumberDisplay",
"fractionalOwner",
"ownerRedacted"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"make": {
"type": "string",
"description": "Aircraft manufacturer name."
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"not_found",
"invalid_n_number"
],
"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."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"model": {
"type": "string",
"description": "Aircraft model name."
},
"owner": {
"type": "object",
"properties": {
"zip": {
"type": "string",
"description": "Postal/ZIP code."
},
"city": {
"type": "string",
"description": "City."
},
"name": {
"type": "string",
"description": "Registrant name."
},
"state": {
"type": "string",
"description": "Two-letter state/territory abbreviation."
},
"county": {
"type": "string",
"description": "County code."
},
"street": {
"type": "string",
"description": "Street address line 1."
},
"country": {
"type": "string",
"description": "Country code."
},
"street2": {
"type": "string",
"description": "Street address line 2."
},
"otherNames": {
"type": "array",
"items": {
"type": "string",
"description": "A co-owner name."
},
"description": "Co-owner names (1–5 on record); only present when PII redaction is off."
},
"typeRegistrant": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Registrant type (Individual, LLC, Corporation, Government, …) as code + label.",
"additionalProperties": false
}
},
"description": "Registrant name/address; present only when redaction is off.",
"additionalProperties": false
},
"region": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Registrant's FAA region as code + label.",
"additionalProperties": false
},
"status": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Registration status (e.g. Valid registration) as code + label.",
"additionalProperties": false
},
"nNumber": {
"type": "string",
"description": "Normalized N-number without the leading \"N\" (the registry storage form)."
},
"kitModel": {
"type": "string",
"description": "Kit model (amateur-built aircraft); often blank."
},
"uniqueId": {
"type": "string",
"description": "FAA unique aircraft identifier."
},
"engineMake": {
"type": "string",
"description": "Engine manufacturer name."
},
"engineType": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Engine type (e.g. Reciprocating, Turbo-fan) as code + label.",
"additionalProperties": false
},
"engineModel": {
"type": "string",
"description": "Engine model name."
},
"aircraftType": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Aircraft type (e.g. Fixed-wing single-engine) as code + label.",
"additionalProperties": false
},
"modeSCodeHex": {
"type": "string",
"description": "Mode S code in hex — the ICAO 24-bit address used to key live flight-tracking data."
},
"serialNumber": {
"type": "string",
"description": "Manufacturer serial number."
},
"certIssueDate": {
"type": "string",
"description": "Certificate issue date (YYYY-MM-DD)."
},
"ownerRedacted": {
"type": "boolean",
"description": "True when owner name/address were withheld from this payload by the redaction gate."
},
"expirationDate": {
"type": "string",
"description": "Registration expiration date (YYYY-MM-DD)."
},
"lastActionDate": {
"type": "string",
"description": "Date of the last registration action (YYYY-MM-DD)."
},
"modeSCodeOctal": {
"type": "string",
"description": "Mode S transponder code in octal."
},
"nNumberDisplay": {
"type": "string",
"description": "N-number in conventional display form, with the leading \"N\"."
},
"fractionalOwner": {
"type": "boolean",
"description": "True when the aircraft is under fractional ownership."
},
"kitManufacturer": {
"type": "string",
"description": "Kit manufacturer (amateur-built aircraft); often blank."
},
"yearManufactured": {
"type": "number",
"description": "Year the aircraft was manufactured; often blank (permissible field)."
},
"airworthinessDate": {
"type": "string",
"description": "Airworthiness certificate date (YYYY-MM-DD)."
},
"airworthinessClass": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Airworthiness classification (Standard, Experimental, …) from CERTIFICATION char 1, as code + label.",
"additionalProperties": false
},
"approvedOperationsRaw": {
"type": "string",
"description": "Raw FAA approved-operations sub-code string; interpretation varies by airworthiness class."
},
"manufacturerModelCode": {
"type": "string",
"description": "6–7-character manufacturer/model/series code."
},
"engineManufacturerModelCode": {
"type": "string",
"description": "5-char engine manufacturer/model code."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}faa_get_aircraft_type — faa-aircraft-registry-mcp-server: get aircraft type
Decode a 6–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",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"code"
],
"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."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"code"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"code": {
"type": "string",
"description": "The 6–7-character manufacturer/model/series code."
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"not_found",
"invalid_code"
],
"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."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"model": {
"type": "string",
"description": "Aircraft model name."
},
"category": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Aircraft category (Land, Sea, Amphibian) as code + label.",
"additionalProperties": false
},
"engineType": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Engine type as code + label.",
"additionalProperties": false
},
"weightClass": {
"type": "string",
"description": "Weight class as the literal FAA string (e.g. \"CLASS 1\")."
},
"aircraftType": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Aircraft type as code + label.",
"additionalProperties": false
},
"manufacturer": {
"type": "string",
"description": "Aircraft manufacturer name."
},
"numberOfSeats": {
"type": "number",
"description": "Number of seats; may be blank on the reference record."
},
"cruiseSpeedMph": {
"type": "number",
"description": "Cruise speed in mph; often blank (permissible field)."
},
"numberOfEngines": {
"type": "number",
"description": "Number of engines; may be blank on the reference record."
},
"weightClassLabel": {
"type": "string",
"description": "FAA maximum gross takeoff weight range in pounds; omitted when the raw weight class is unknown."
},
"builderCertification": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Builder certification (Type Certificated, Not Type Certificated, Light Sport) as code + label.",
"additionalProperties": false
},
"typeCertificateDataSheet": {
"type": "string",
"description": "Type-certificate data sheet identifier."
},
"typeCertificateDataHolder": {
"type": "string",
"description": "Type-certificate data holder."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}faa_search_registrations — faa-aircraft-registry-mcp-server: search registrations
Search active US civil aircraft registrations by owner name, make/model, exact manufacturerModelCode, state, aircraft type, or Mode S (hex) code. Discover codes with faa_search_aircraft_types, search registrations by manufacturerModelCode, then drill into N-numbers via faa_lookup_registration. Filters are AND-combined; at least one is required. Owner-name search is unavailable when this deployment redacts owner PII — use the other filters 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",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 200,
"minimum": 1,
"description": "Maximum number of results to return (1–200, default 25)."
},
"state": {
"type": "string",
"description": "Two ASCII letters for a state, territory or military postal code (e.g. WA, GU, AE, AP; exact match). Trimmed and uppercased; blank is unset."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 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)."
},
"makeModel": {
"type": "string",
"description": "Aircraft make and/or model to match (full-text)."
},
"modeSCode": {
"type": "string",
"description": "Six hexadecimal characters for the Mode S code (ICAO 24-bit address), exact match. Trimmed and uppercased; blank is unset."
},
"ownerName": {
"type": "string",
"description": "Registrant name to match (full-text). Rejected when owner-PII redaction is on."
},
"aircraftType": {
"type": "string",
"description": "FAA aircraft type code: 1–9, H (Hybrid Lift), O (Other), exact match. Trimmed and uppercased; blank is unset."
},
"manufacturerModelCode": {
"type": "string",
"description": "Exact FAA manufacturer/model/series code: 6–7 alphanumeric characters, trimmed and uppercased; blank is unset. Discover codes with faa_search_aircraft_types. AND-combined with other filters."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"registrations",
"totalCount"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cap": {
"type": "number",
"description": "The limit that was applied (present only when truncated is set)."
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"invalid_code",
"invalid_state",
"invalid_mode_s_code",
"invalid_aircraft_type",
"owner_search_disabled",
"no_filters"
],
"description": "Machine-readable failure mode. Declared by this tool: `invalid_code`: manufacturerModelCode is not 6–7 alphanumeric characters after normalization. `invalid_state`: state is not two ASCII letters. `invalid_mode_s_code`: modeSCode is not six hexadecimal characters. `invalid_aircraft_type`: aircraftType is not 1–9, H or O. `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."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"shown": {
"type": "number",
"description": "Number of results on this page (present only when truncated is set)."
},
"notice": {
"type": "string",
"description": "Guidance when no registrations matched, or when more matches remain."
},
"truncated": {
"type": "boolean",
"description": "Present and true only when matches remain beyond this page."
},
"nextOffset": {
"type": "number",
"description": "Offset to request the next page; absent when this page reached the end of the matches."
},
"totalCount": {
"type": "number",
"description": "Total registrations matching the filters, across all pages. Always present."
},
"registrations": {
"type": "array",
"items": {
"type": "object",
"required": [
"nNumber",
"nNumberDisplay",
"ownerRedacted"
],
"properties": {
"make": {
"type": "string",
"description": "Aircraft manufacturer name."
},
"model": {
"type": "string",
"description": "Aircraft model name."
},
"state": {
"type": "string",
"description": "Registrant state/territory abbreviation."
},
"status": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Registration status as code + label.",
"additionalProperties": false
},
"nNumber": {
"type": "string",
"description": "Normalized N-number without the leading \"N\"."
},
"ownerName": {
"type": "string",
"description": "Registrant name; present only when owner-PII redaction is off."
},
"aircraftType": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Aircraft type as code + label.",
"additionalProperties": false
},
"modeSCodeHex": {
"type": "string",
"description": "Mode S code in hex (ICAO 24-bit address)."
},
"ownerRedacted": {
"type": "boolean",
"description": "True when owner name was withheld by the redaction gate."
},
"nNumberDisplay": {
"type": "string",
"description": "N-number with the leading \"N\" for display."
},
"yearManufactured": {
"type": "number",
"description": "Year manufactured; often blank."
},
"manufacturerModelCode": {
"type": "string",
"description": "FAA manufacturer/model/series code (6–7 characters); use with faa_get_aircraft_type for specs or manufacturerModelCode to find registrations of the same type."
}
},
"description": "A decoded registration summary; use nNumber with faa_lookup_registration for full detail.",
"additionalProperties": false
},
"description": "Matching registration summaries for this page (up to limit)."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}faa_search_aircraft_types — faa-aircraft-registry-mcp-server: search aircraft types
Search FAA aircraft types by manufacturer/model name, aircraft type code, or category code to discover 6–7-character manufacturer/model/series codes and browse specifications. Pass a code to faa_get_aircraft_type for specs or faa_search_registrations as manufacturerModelCode for exact registration matches, then faa_lookup_registration for details. 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",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 200,
"minimum": 1,
"description": "Maximum number of results to return (1–200, default 25)."
},
"query": {
"type": "string",
"description": "Manufacturer and/or model name to match (full-text)."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 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)."
},
"category": {
"type": "string",
"description": "Aircraft category code: 1 (Land), 2 (Sea), 3 (Amphibian), exact match. Trimmed; blank is unset."
},
"aircraftType": {
"type": "string",
"description": "FAA aircraft type code: 1–9, H (Hybrid Lift), O (Other), exact match. Trimmed and uppercased; blank is unset."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"aircraftTypes",
"totalCount"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cap": {
"type": "number",
"description": "The limit that was applied (present only when truncated is set)."
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"invalid_aircraft_type",
"invalid_category",
"no_filters"
],
"description": "Machine-readable failure mode. Declared by this tool: `invalid_aircraft_type`: aircraftType is not 1–9, H or O. `invalid_category`: category is not 1, 2 or 3. `no_filters`: No search filter was supplied. Other values are possible when a failure originates below the handler."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"shown": {
"type": "number",
"description": "Number of results on this page (present only when truncated is set)."
},
"notice": {
"type": "string",
"description": "Guidance when no aircraft types matched, or when more matches remain."
},
"truncated": {
"type": "boolean",
"description": "Present and true only when matches remain beyond this page."
},
"nextOffset": {
"type": "number",
"description": "Offset to request the next page; absent when this page reached the end of the matches."
},
"totalCount": {
"type": "number",
"description": "Total aircraft types matching the filters, across all pages. Always present."
},
"aircraftTypes": {
"type": "array",
"items": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "6–7-character manufacturer/model/series code — pass to faa_get_aircraft_type for full specs or faa_search_registrations as manufacturerModelCode for exact registration matches."
},
"model": {
"type": "string",
"description": "Aircraft model name."
},
"category": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Aircraft category (Land, Sea, Amphibian) as code + label.",
"additionalProperties": false
},
"aircraftType": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Aircraft type as code + label.",
"additionalProperties": false
},
"manufacturer": {
"type": "string",
"description": "Aircraft manufacturer name."
},
"numberOfSeats": {
"type": "number",
"description": "Number of seats; may be blank."
},
"numberOfEngines": {
"type": "number",
"description": "Number of engines; may be blank."
}
},
"description": "A decoded aircraft-reference summary; use code with faa_get_aircraft_type for full specs.",
"additionalProperties": false
},
"description": "Matching aircraft-reference summaries for this page (up to limit)."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}faa_get_registration_status — faa-aircraft-registry-mcp-server: get registration status
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",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"nNumber"
],
"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)."
}
},
"additionalProperties": false
}{
"type": "object",
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"recordType",
"nNumber",
"nNumberDisplay"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"invalid_n_number"
],
"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."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"status": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Registration/cancellation status as code + label (active and deregistered records).",
"additionalProperties": false
},
"nNumber": {
"type": "string",
"description": "Normalized N-number without the leading \"N\"."
},
"purgeDate": {
"type": "string",
"description": "Scheduled purge date, YYYY-MM-DD (reserved records)."
},
"cancelDate": {
"type": "string",
"description": "Cancellation date, YYYY-MM-DD (deregistered records)."
},
"recordType": {
"enum": [
"active",
"deregistered",
"reserved",
"unknown"
],
"type": "string",
"description": "Resolved registration state: active, deregistered, reserved, or unknown."
},
"reserveDate": {
"type": "string",
"description": "Date the number was reserved, YYYY-MM-DD (reserved records)."
},
"modeSCodeHex": {
"type": "string",
"description": "Mode S code in hex / ICAO 24-bit address (deregistered records)."
},
"serialNumber": {
"type": "string",
"description": "Manufacturer serial number (deregistered records)."
},
"certIssueDate": {
"type": "string",
"description": "Certificate issue date, YYYY-MM-DD (active records)."
},
"expirationDate": {
"type": "string",
"description": "Registration expiration date, YYYY-MM-DD (active records)."
},
"nNumberDisplay": {
"type": "string",
"description": "N-number with the leading \"N\" for display."
},
"typeReservation": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Type of reservation as code + label (reserved records).",
"additionalProperties": false
},
"nNumberForChange": {
"type": "string",
"description": "The N-number this reservation changes to/from (reserved records)."
},
"airworthinessDate": {
"type": "string",
"description": "Airworthiness certificate date, YYYY-MM-DD (active records)."
},
"airworthinessClass": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The raw code as stored in the FAA registry."
},
"label": {
"type": "string",
"description": "The decoded human-readable label; omitted when the code is unrecognized."
}
},
"description": "Airworthiness classification as code + label (active records).",
"additionalProperties": false
},
"expirationNoticeDate": {
"type": "string",
"description": "Date an expiration notice was sent, YYYY-MM-DD (reserved records)."
},
"manufacturerModelCode": {
"type": "string",
"description": "6–7-character manufacturer/model/series code (deregistered records)."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}Prompts
0 advertised
Resources
0 advertised
faa-registration — faa-aircraft-registry-mcp-server: registration record
Fetch the full decoded registration record for one US civil aircraft N-number — the same payload as faa_lookup_registration. Owner PII is redacted unless the deployment opts in.
faa://registration/{nNumber}90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 771 ms
- 95th percentile latency
- 771 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 771 ms · metadata changed · 5 tool(s), 0 resource(s), 1 resource template(s), 0 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http faa-aircraft-registry-mcp-server https://faa-aircraft-registry.caseyjhand.com/mcpCodex
codex mcp add faa-aircraft-registry-mcp-server --url https://faa-aircraft-registry.caseyjhand.com/mcpCursor
{
"mcpServers": {
"faa-aircraft-registry-mcp-server": {
"url": "https://faa-aircraft-registry.caseyjhand.com/mcp"
}
}
}Cline
{
"mcpServers": {
"faa-aircraft-registry-mcp-server": {
"type": "streamableHttp",
"url": "https://faa-aircraft-registry.caseyjhand.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"faa-aircraft-registry-mcp-server": {
"type": "http",
"url": "https://faa-aircraft-registry.caseyjhand.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http faa-aircraft-registry-mcp-server https://faa-aircraft-registry.caseyjhand.com/mcpClaude Desktop
https://faa-aircraft-registry.caseyjhand.com/mcpWindsurf
{
"mcpServers": {
"faa-aircraft-registry-mcp-server": {
"serverUrl": "https://faa-aircraft-registry.caseyjhand.com/mcp"
}
}
}Let your agent find its tools
Find servers like faa-aircraft-registry-mcp-server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.