Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.cyanheads/faa-aircraft-registry-mcp-server

REMOTE · FAA-AIRCRAFT-REGISTRY.CASEYJHAND.COM · 2 COMPONENTS · SCANNED AUG 3

Offline, keyless lookup of the US civil aircraft registry — decode N-numbers, search records.

+5 this week 69 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security66
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation not fully verified: no authorisation is required to call this server, and 5 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
  • HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
  • The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
  • DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
Schema Quality & AI Usability68
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1224 tokens (~244/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · faa-aircraft-registry.caseyjhand.com

# add to Claude Code
claude mcp add --transport http cyanheads-faa-aircraft-registry-mcp-server https://faa-aircraft-registry.caseyjhand.com/mcp
# ~/.codex/config.toml
[mcp_servers.cyanheads-faa-aircraft-registry-mcp-server]
url = "https://faa-aircraft-registry.caseyjhand.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cyanheads-faa-aircraft-registry-mcp-server": {
      "type": "remote",
      "url": "https://faa-aircraft-registry.caseyjhand.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cyanheads-faa-aircraft-registry-mcp-server --url https://faa-aircraft-registry.caseyjhand.com/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  cyanheads-faa-aircraft-registry-mcp-server:
    url: "https://faa-aircraft-registry.caseyjhand.com/mcp"
// mcp.json
{
  "mcpServers": {
    "cyanheads-faa-aircraft-registry-mcp-server": {
      "type": "http",
      "url": "https://faa-aircraft-registry.caseyjhand.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 64

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://faa-aircraft-registry.caseyjhand.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=caseyjhand.com CN=WE1,O=Google Trust Services,C=US 7 Jul 2026 5 Oct 2026 ECDSA 256 ECDSA-SHA256 5aad900eb2055a0b0ea55912ec19680c
SANs: caseyjhand.com, *.caseyjhand.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC secure

Validation of faa-aircraft-registry.caseyjhand.com. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
caseyjhand.com. present 2371 13 Verified
faa-aircraft-registry.caseyjhand.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://faa-aircraft-registry.caseyjhand.com/mcp Verified 200
http (plaintext) http://faa-aircraft-registry.caseyjhand.com/mcp HTTPS enforced 301 https://faa-aircraft-registry.caseyjhand.com/mcp
MCP tools — 5 exposed · ~1,052 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
faa_get_aircraft_type ~126

Decode a 7-character FAA manufacturer/model/series code to aircraft specifications from the reference table — 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.

NameTypeReqDescription
codestringyesManufacturer/model/series code (e.g. "2072714") — 6–7 uppercase alphanumeric characters, usually 7. Discover codes via faa_search_aircraft_types.
NameTypeReqDescription
aircraftTypeobjectAircraft type as code + label.
builderCertificationobjectBuilder certification (Type Certificated, Not Type Certificated, Light Sport) as code + label.
categoryobjectAircraft category (Land, Sea, Amphibian) as code + label.
codestringyesThe 7-char manufacturer/model/series code.
cruiseSpeedMphnumberCruise speed in mph; often blank (permissible field).
engineTypeobjectEngine type as code + label.
manufacturerstringAircraft manufacturer name.
modelstringAircraft model name.
numberOfEnginesnumberNumber of engines; may be blank on the reference record.
numberOfSeatsnumberNumber of seats; may be blank on the reference record.
typeCertificateDataHolderstringType-certificate data holder.
typeCertificateDataSheetstringType-certificate data sheet identifier.
weightClassstringWeight class as the literal FAA string (e.g. "CLASS 1").

No examples provided.

faa_get_registration_status ~198

Resolve registration and airworthiness status for a US civil aircraft N-number across all three status files — active (MASTER), deregistered (DEREG), and reserved (RESERVED) — in priority order, returning a definitive recordType. Use this (rather than faa_lookup_registration) when a number may be inactive: it returns "deregistered" or "reserved" for a known-but-inactive number instead of a not-found. A number that was never issued returns recordType "unknown" — a valid, informative answer, not an error. Accepts "N12345" or "12345".

NameTypeReqDescription
nNumberstringyesUS 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).
NameTypeReqDescription
airworthinessClassobjectAirworthiness classification as code + label (active records).
airworthinessDatestringAirworthiness certificate date, YYYY-MM-DD (active records).
cancelDatestringCancellation date, YYYY-MM-DD (deregistered records).
certIssueDatestringCertificate issue date, YYYY-MM-DD (active records).
expirationDatestringRegistration expiration date, YYYY-MM-DD (active records).
expirationNoticeDatestringDate an expiration notice was sent, YYYY-MM-DD (reserved records).
manufacturerModelCodestring7-char manufacturer/model/series code (deregistered records).
modeSCodeHexstringMode S code in hex / ICAO 24-bit address (deregistered records).
nNumberstringyesNormalized N-number without the leading "N".
nNumberDisplaystringyesN-number with the leading "N" for display.
nNumberForChangestringThe N-number this reservation changes to/from (reserved records).
purgeDatestringScheduled purge date, YYYY-MM-DD (reserved records).
recordTypestringyesWhich file the number resolved in: active (MASTER), deregistered (DEREG), reserved (RESERVED), or unknown (none).
reserveDatestringDate the number was reserved, YYYY-MM-DD (reserved records).
serialNumberstringManufacturer serial number (deregistered records).
statusobjectRegistration/cancellation status as code + label (active and deregistered records).
typeReservationobjectType of reservation as code + label (reserved records).

No examples provided.

faa_lookup_registration ~202

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). One call resolves the relational join and decodes every coded field. 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 the cross-file status answer.

NameTypeReqDescription
nNumberstringyesUS 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).
NameTypeReqDescription
aircraftTypeobjectAircraft type (e.g. Fixed-wing single-engine) as code + label.
airworthinessClassobjectAirworthiness classification (Standard, Experimental, …) from CERTIFICATION char 1, as code + label.
airworthinessDatestringAirworthiness certificate date (YYYY-MM-DD).
approvedOperationsRawstringRaw FAA approved-operations sub-code string; interpretation varies by airworthiness class.
certIssueDatestringCertificate issue date (YYYY-MM-DD).
engineMakestringEngine manufacturer name, resolved from the reference table.
engineManufacturerModelCodestring5-char engine manufacturer/model code (join key into the engine reference table).
engineModelstringEngine model name, resolved from the reference table.
engineTypeobjectEngine type (e.g. Reciprocating, Turbo-fan) as code + label.
expirationDatestringRegistration expiration date (YYYY-MM-DD).
fractionalOwnerbooleanyesTrue when the aircraft is under fractional ownership.
kitManufacturerstringKit manufacturer (amateur-built aircraft); often blank.
kitModelstringKit model (amateur-built aircraft); often blank.
lastActionDatestringDate of the last registration action (YYYY-MM-DD).
makestringAircraft manufacturer name, resolved from the reference table.
manufacturerModelCodestring7-char manufacturer/model/series code (join key into the aircraft reference table).
modeSCodeHexstringMode S code in hex — the ICAO 24-bit address used to key live flight-tracking data.
modeSCodeOctalstringMode S transponder code in octal.
modelstringAircraft model name, resolved from the reference table.
nNumberstringyesNormalized N-number without the leading "N" (the registry storage form).
nNumberDisplaystringyesN-number in conventional display form, with the leading "N".
ownerobjectRegistrant name/address; present only when redaction is off.
ownerRedactedbooleanyesTrue when owner name/address were withheld from this payload by the redaction gate.
regionobjectRegistrant's FAA region as code + label.
serialNumberstringManufacturer serial number.
statusobjectRegistration status (e.g. Valid registration) as code + label.
uniqueIdstringFAA unique aircraft identifier.
yearManufacturednumberYear the aircraft was manufactured; often blank (permissible field).

No examples provided.

faa_search_aircraft_types ~225

Search the FAA aircraft reference table by manufacturer/model name (full-text), 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.

NameTypeReqDescription
aircraftTypestringAircraft type code to match exactly (e.g. "6" for rotorcraft).
categorystringAircraft category code to match exactly (1 Land, 2 Sea, 3 Amphibian).
limitintegerMaximum number of results to return (1–200, default 25).
offsetintegerZero-based index of the first result to return — pass the nextOffset from a previous response, with identical filters, to page forward (default 0).
querystringManufacturer and/or model name to match (full-text).
NameTypeReqDescription
aircraftTypesarrayyesMatching aircraft-reference summaries for this page (up to limit).
capnumberThe limit that was applied (present only when truncated is set).
nextOffsetnumberOffset to request the next page; absent when this page reached the end of the matches.
noticestringGuidance when no aircraft types matched, or when more matches remain.
shownnumberNumber of results on this page (present only when truncated is set).
totalCountnumberyesTotal aircraft types matching the filters, across all pages. Always present.
truncatedbooleanPresent and true only when matches remain beyond this page.

No examples provided.

faa_search_registrations ~301

Search active US civil aircraft registrations by owner name, make/model, state, aircraft type, or Mode S (hex) code. Full-text search over the local registry index; 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.

NameTypeReqDescription
aircraftTypestringAircraft type code to match exactly (e.g. "4" for fixed-wing single-engine).
limitintegerMaximum number of results to return (1–200, default 25).
makeModelstringAircraft make and/or model to match (full-text).
modeSCodestringMode S code in hex to match exactly (ICAO 24-bit address).
offsetintegerZero-based index of the first result to return — pass the nextOffset from a previous response, with identical filters, to page forward (default 0).
ownerNamestringRegistrant name to match (full-text). Rejected when owner-PII redaction is on.
statestringTwo-letter state/territory abbreviation (exact match).
NameTypeReqDescription
capnumberThe limit that was applied (present only when truncated is set).
nextOffsetnumberOffset to request the next page; absent when this page reached the end of the matches.
noticestringGuidance when no registrations matched, or when more matches remain.
registrationsarrayyesMatching registration summaries for this page (up to limit).
shownnumberNumber of results on this page (present only when truncated is set).
totalCountnumberyesTotal registrations matching the filters, across all pages. Always present.
truncatedbooleanPresent and true only when matches remain beyond this page.

No examples provided.