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

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

REMOTE · FAA-AIRMEN-REGISTRY.CASEYJHAND.COM · 2 COMPONENTS

Search FAA airmen certificates, ratings, and informational medical records.

+4 this week 80 Trust /100

Last scanned (8 hours ago)

Scores higher than 81% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Health and Science

Trust breakdown (7 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 → Why this is hard to score →

Endpoint Security83
Transport & Reachability100
Schema Quality & AI Usability73
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2876 tokens (~410/item across 7 items; 6 tools + 1 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 Management37
  • Stability observed for 11 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
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
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.

  • 5 Nov 26 +1

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

  • 3 Nov 26 +1

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

  • 1 Nov 26 +1

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

  • 30 Oct 26 +1

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

  • 29 Oct 26 +3
    • Tool “faa_airmen_get_type_ratings” rewrote its description, which is the text the model reads security
    • Tool “faa_airmen_check_medical_status” rewrote its description, which is the text the model reads security
    • Schema quality: 2447 → 2876 ▼ functional
    • Schema quality: 407 → 363 ▲ functional
    • First check of Schema quality: 100 functional
    • New resource “faa-airmen-registry-guide” functional
    • Server version: 0.3.0 → 0.3.1 functional
    • Server version: 0.2.1 → 0.3.0 functional
    • “faa_airmen_verify_remote_pilot” reworded the description of “state” cosmetic
    • “faa_airmen_verify_remote_pilot” reworded the description of “uniqueId” cosmetic
    • “faa_airmen_verify_certificate” reworded the description of “uniqueId” cosmetic
    • “faa_airmen_verify_certificate” reworded the description of “state” cosmetic
    • “faa_airmen_verify_certificate” reworded the description of “ratingCodes” cosmetic
    • “faa_airmen_search_instructors” reworded the description of “state” cosmetic
    • “faa_airmen_search_instructors” reworded the description of “ratingCodes” cosmetic
    • “faa_airmen_get_type_ratings” reworded the description of “uniqueId” cosmetic
    • “faa_airmen_check_medical_status” reworded the description of “uniqueId” cosmetic
  • 27 Oct 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.

  • 26 Oct 26 0
    • Stability: unverified → 0.03 ▲ functional
  • 25 Oct 26 72

    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 5 Nov 2026 · Probed https://faa-airmen-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 2 Nov 2026 31 Jan 2027 ECDSA 256 ECDSA-SHA256 995a30681ab772540e934241ca1d576c
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

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of faa-airmen-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-airmen-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

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://faa-airmen-registry.caseyjhand.com/mcp Verified 200
http (plaintext) http://faa-airmen-registry.caseyjhand.com/mcp HTTPS enforced 301 https://faa-airmen-registry.caseyjhand.com/mcp
MCP tools · 6 exposed · ~2,509 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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
faa_airmen_check_medical_status ~150

Read the FAA snapshot's informational medical class, medical dates, and BasicMed dates for one airman Unique ID. These fields are not authoritative medical certification or fitness determinations. Get the ID from a faa_airmen_verify_certificate, faa_airmen_search_instructors, or faa_airmen_verify_remote_pilot result. Every call is rejected while the operator's personal-data redaction is on (the default).

NameTypeReqDescription
uniqueIdstringyesOpaque FAA Unique ID from a faa_airmen_verify_certificate, faa_airmen_search_instructors, or faa_airmen_verify_remote_pilot result, A or C plus seven digits, for example A9999999; not a certificate n…
NameTypeReqDescription
airmanobject–Matched person, absent for a missing ID.
appliedFiltersobject–Every effective normalized selector, filter, and paging value.
disclaimerstring–Medical information limitations, present on every result.
errorobject–Present when the call failed. Absent on success.
foundboolean–Whether this Unique ID occurs in the releasable snapshot.
hasReportedMedicalFieldsboolean–Whether any medical fields were reported; absent for a missing person, never an adverse finding.
medicalRecordsarray–All distinct reported medical records; empty when a known person has no reported medical fields.
noticestring–Snapshot limitations, absence guidance, source-quality notices for the returned records, and operational notices; may be empty.
piiRedactedboolean–Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID.
provenance––Snapshot provenance, or null for static reference topics.

No examples provided.

faa_airmen_get_type_ratings ~183

Read one FAA airman's certificates from the FAA pilot file, by Unique ID: pilot, flight instructor, authorized aircraft instructor, remote pilot, and flight engineer, each with every aircraft type, category/class, and instrument rating. Ground instructor, mechanic, and other non-pilot certificates are excluded; faa_airmen_verify_certificate mode id returns every certificate. Get the ID from a faa_airmen_verify_certificate, faa_airmen_search_instructors, or faa_airmen_verify_remote_pilot result. Ratings retain their source certificate type and level and do not establish current operating privileges.

NameTypeReqDescription
uniqueIdstringyesOpaque FAA Unique ID from a faa_airmen_verify_certificate, faa_airmen_search_instructors, or faa_airmen_verify_remote_pilot result, A or C plus seven digits, for example A9999999; not a certificate n…
NameTypeReqDescription
airmanobject–Matched person, absent for a missing ID.
appliedFiltersobject–Every effective normalized selector, filter, and paging value.
certificatesarray–All pilot-family certificates with complete rating arrays; empty when the person has no reported pilot-family certificate.
errorobject–Present when the call failed. Absent on success.
foundboolean–Whether this Unique ID occurs in the releasable snapshot.
noticestring–Snapshot limitations, absence guidance, source-quality notices for the returned records, and operational notices; may be empty.
piiRedactedboolean–Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID.
provenance––Snapshot provenance, or null for static reference topics.

No examples provided.

faa_airmen_list_reference ~168

Read FAA certificate and rating codes, observed aircraft type designators, identity guidance, medical guidance, or local mirror status. Use these references to construct lookup filters and interpret snapshot limits. Static topics work before mirror initialization.

NameTypeReqDescription
filterstring–Literal case-insensitive substring over code and description, 1–80 normalized characters; vocabulary topics only. Blank means unset.
limitinteger–Maximum complete people or reference entries per page; default 10, maximum 50. A larger limit returns at most 50, with a notice.
offsetinteger–Zero-based offset; default 0, maximum 10000. Follow nextOffset or narrow filters at the cap.
topicstringyesOne FAA vocabulary, interpretation guide, or mirror diagnostic topic.
NameTypeReqDescription
appliedFiltersobject–Every effective normalized selector, filter, and paging value.
atPagingCapboolean–Matches remain but the next offset exceeds 10000; narrow the filters.
entriesarray–Complete matching reference entries for this page.
errorobject–Present when the call failed. Absent on success.
hasMoreboolean–Whether another page is reachable within the offset cap.
mirrorStatusobject–Safe diagnostic state present only for mirror_status.
nextOffset––Next reachable offset, or null when no next page is available.
noticestring–Snapshot limitations, absence guidance, source-quality notices for the returned records, paging notices (a clamped limit, the offset cap, or a page the response size budget ended before limit), and o…
piiRedactedboolean–Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID.
provenance––Snapshot provenance, or null for static reference topics.
returnedCountinteger–Complete people or reference entries returned on this page. Fewer than limit means the results ended or the response size budget ended the page; while hasMore is true, the notice names the offset to…
topicstring–One FAA vocabulary, interpretation guide, or mirror diagnostic topic.
totalCountinteger–Total matches after filtering, before paging.

No examples provided.

faa_airmen_search_instructors ~591

Find releasable flight and ground instructor certificate records by name, state, and rating codes. Supply at least one name, state, city, ZIP, or rating filter. City and ZIP filters require operator-enabled location access. While the operator's personal-data redaction is on (the default), lastName and firstName are both required, nameMatch prefix and city or ZIP filters are rejected, and city and ZIP are withheld. Legacy expiry fields do not establish instructor currency; CFI certificates no longer expire under the December 2024 rule.

NameTypeReqDescription
citystring–Exact city, 1–60 visible characters; requires operator-enabled location access and is rejected while personal-data redaction is on. Blank means unset.
firstNamestring–FIRST NAME, which usually includes middle names; the default words match finds JOHN ROBERT from JOHN. 1–60 visible characters after normalization. Blank means unset.
instructorTypestring–Select flight F, ground G, or both instructor certificate types; default both.
lastNamestring–LAST NAME, which may include a suffix; the default words match finds SMITH JR from SMITH. 1–60 visible characters after normalization. Blank means unset.
limitinteger–Maximum complete people or reference entries per page; default 10, maximum 50. A larger limit returns at most 50, with a notice.
nameMatchstring–How each supplied name field matches; default words for name searches. words: the field equals the term or continues with a space after it; only a space separates words, so a hyphenated or apostrophe…
offsetinteger–Zero-based offset; default 0, maximum 10000. Follow nextOffset or narrow filters at the cap.
ratingCodesarray–One to eleven codes, repeats collapsed; every code must occur on the same qualifying certificate, never across certificates. CFII is INSTA, INSTH, INSTI, or INSTP on a flight instructor (F) certifica…
statestring–Two-letter USPS code: one of the 50 states, DC, PR, GU, VI, MP, AS, FM, MH, PW, or the military AA, AE, AP; trimmed and uppercased. Airmen with foreign addresses carry no state. Blank means unset.
zipCodestring–Five-digit ZIP or ZIP+4, preserving leading zeros; requires operator-enabled location access and is rejected while personal-data redaction is on. Blank means unset.
NameTypeReqDescription
appliedFiltersobject–Every effective normalized selector, filter, and paging value.
atPagingCapboolean–Matches remain but the next offset exceeds 10000; narrow the filters.
errorobject–Present when the call failed. Absent on success.
hasMoreboolean–Whether another page is reachable within the offset cap.
matchesarray–Matching instructor candidates; certificate presence does not establish currency.
nextOffset––Next reachable offset, or null when no next page is available.
noticestring–Snapshot limitations, absence guidance, source-quality notices for the returned records, paging notices (a clamped limit, the offset cap, or a page the response size budget ended before limit), and o…
piiRedactedboolean–Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID.
provenance––Snapshot provenance, or null for static reference topics.
returnedCountinteger–Complete people or reference entries returned on this page. Fewer than limit means the results ended or the response size budget ended the page; while hasMore is true, the notice names the offset to…
totalCountinteger–Total matches after filtering, before paging.

No examples provided.

faa_airmen_verify_certificate ~843

Find releasable FAA airman records by exact Unique ID or name and read their certificate records. Use name mode to discover IDs, then use an ID for ratings or informational medical fields. Certificate type, level, rating, and type-rating filters must all match one certificate, and each match still returns all its certificates. While the operator's personal-data redaction is on (the default), name mode needs lastName and firstName, nameMatch prefix and city or ZIP filters are rejected, and city and ZIP are withheld. A missing or matching record is not a current licensing or operating-privilege determination.

NameTypeReqDescription
certificateLevelstring–One level letter listed for the certificateType in faa_airmen_list_reference topic certificate_levels, such as A (airline transport pilot) with certificateType P; requires certificateType and matches…
certificateTypestring–One FAA certificate type letter, its description from faa_airmen_list_reference topic certificate_types (case-insensitive; underscore or space, such as remote pilot or flight_instructor), or CFI; sel…
citystring–Exact city, 1–60 visible characters; requires operator-enabled location access and is rejected while personal-data redaction is on. Blank means unset.
firstNamestring–FIRST NAME, which usually includes middle names; the default words match finds JOHN ROBERT from JOHN. 1–60 visible characters after normalization. Blank means unset.
lastNamestring–LAST NAME, which may include a suffix; the default words match finds SMITH JR from SMITH. 1–60 visible characters after normalization. Blank means unset.
limitinteger–Maximum complete people or reference entries per page; default 10, maximum 50. A larger limit returns at most 50, with a notice.
modestringyesid requires uniqueId and forbids nonblank name/location fields and explicit nameMatch; name requires lastName, plus firstName while personal-data redaction is on, and forbids nonblank uniqueId.
nameMatchstring–How each supplied name field matches; default words for name searches. words: the field equals the term or continues with a space after it; only a space separates words, so a hyphenated or apostrophe…
offsetinteger–Zero-based offset; default 0, maximum 10000. Follow nextOffset or narrow filters at the cap.
ratingCodesarray–One to eleven rating codes, repeats collapsed; every code must occur on the same certificate as every other requested credential, never across certificates. CFII is INSTA, INSTH, INSTI, or INSTP on a…
statestring–Two-letter USPS code: one of the 50 states, DC, PR, GU, VI, MP, AS, FM, MH, PW, or the military AA, AE, AP; trimmed and uppercased. Airmen with foreign addresses carry no state. Blank means unset.
typeRatingsarray–One to eleven type-rating designators, repeats collapsed; every designator must occur on the same certificate as every other requested credential.
uniqueIdstring–Opaque FAA Unique ID from a faa_airmen_verify_certificate, faa_airmen_search_instructors, or faa_airmen_verify_remote_pilot result, A or C plus seven digits, for example A9999999; not a certificate n…
zipCodestring–Five-digit ZIP or ZIP+4, preserving leading zeros; requires operator-enabled location access and is rejected while personal-data redaction is on. Blank means unset.
NameTypeReqDescription
appliedFiltersobject–Every effective normalized selector, filter, and paging value.
atPagingCapboolean–Matches remain but the next offset exceeds 10000; narrow the filters.
errorobject–Present when the call failed. Absent on success.
hasMoreboolean–Whether another page is reachable within the offset cap.
matchesarray–Separate identity candidates; never infer a single person from multiple matches.
nextOffset––Next reachable offset, or null when no next page is available.
noticestring–Snapshot limitations, absence guidance, source-quality notices for the returned records, paging notices (a clamped limit, the offset cap, or a page the response size budget ended before limit), and o…
piiRedactedboolean–Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID.
provenance––Snapshot provenance, or null for static reference topics.
returnedCountinteger–Complete people or reference entries returned on this page. Fewer than limit means the results ended or the response size budget ended the page; while hasMore is true, the notice names the offset to…
totalCountinteger–Total matches after filtering, before paging.

No examples provided.

faa_airmen_verify_remote_pilot ~574

Find releasable FAA remote pilot certificate records by Unique ID or name. While the operator's personal-data redaction is on (the default), name mode needs lastName and firstName, nameMatch prefix and city or ZIP filters are rejected, and city and ZIP are withheld. Results establish certificate presence in the local snapshot; they do not establish recurrent-training currency, commercial operating authority, or current Part 107 eligibility.

NameTypeReqDescription
citystring–Exact city, 1–60 visible characters; requires operator-enabled location access and is rejected while personal-data redaction is on. Blank means unset.
firstNamestring–FIRST NAME, which usually includes middle names; the default words match finds JOHN ROBERT from JOHN. 1–60 visible characters after normalization. Blank means unset.
lastNamestring–LAST NAME, which may include a suffix; the default words match finds SMITH JR from SMITH. 1–60 visible characters after normalization. Blank means unset.
limitinteger–Maximum complete people or reference entries per page; default 10, maximum 50. A larger limit returns at most 50, with a notice.
modestringyesid requires uniqueId and forbids nonblank name/location fields and explicit nameMatch; name requires lastName, plus firstName while personal-data redaction is on, and forbids nonblank uniqueId.
nameMatchstring–How each supplied name field matches; default words for name searches. words: the field equals the term or continues with a space after it; only a space separates words, so a hyphenated or apostrophe…
offsetinteger–Zero-based offset; default 0, maximum 10000. Follow nextOffset or narrow filters at the cap.
statestring–Two-letter USPS code: one of the 50 states, DC, PR, GU, VI, MP, AS, FM, MH, PW, or the military AA, AE, AP; trimmed and uppercased. Airmen with foreign addresses carry no state. Blank means unset.
uniqueIdstring–Opaque FAA Unique ID from a faa_airmen_verify_certificate, faa_airmen_search_instructors, or faa_airmen_verify_remote_pilot result, A or C plus seven digits, for example A9999999; not a certificate n…
zipCodestring–Five-digit ZIP or ZIP+4, preserving leading zeros; requires operator-enabled location access and is rejected while personal-data redaction is on. Blank means unset.
NameTypeReqDescription
appliedFiltersobject–Every effective normalized selector, filter, and paging value.
atPagingCapboolean–Matches remain but the next offset exceeds 10000; narrow the filters.
errorobject–Present when the call failed. Absent on success.
hasMoreboolean–Whether another page is reachable within the offset cap.
matchesarray–Candidates with U certificate records in this snapshot.
nextOffset––Next reachable offset, or null when no next page is available.
noticestring–Snapshot limitations, absence guidance, source-quality notices for the returned records, paging notices (a clamped limit, the offset cap, or a page the response size budget ended before limit), and o…
piiRedactedboolean–Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID.
provenance––Snapshot provenance, or null for static reference topics.
returnedCountinteger–Complete people or reference entries returned on this page. Fewer than limit means the results ended or the response size budget ended the page; while hasMore is true, the notice names the offset to…
totalCountinteger–Total matches after filtering, before paging.

No examples provided.

Install

How do I install the io.github.cyanheads/faa-airmen-registry-mcp-server server?

io.github.cyanheads/faa-airmen-registry-mcp-server is a hosted endpoint at https://faa-airmen-registry.caseyjhand.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · faa-airmen-registry.caseyjhand.com

# add to Claude Code
claude mcp add --transport http cyanheads-faa-airmen-registry-mcp-server 'https://faa-airmen-registry.caseyjhand.com/mcp'
Common questions

What is the io.github.cyanheads/faa-airmen-registry-mcp-server server?

io.github.cyanheads/faa-airmen-registry-mcp-server is listed in the public MCP registry as io.github.cyanheads/faa-airmen-registry-mcp-server. Search FAA airmen certificates, ratings, and informational medical records. This page covers its hosted endpoint (https://faa-airmen-registry.caseyjhand.com/mcp).

Is the io.github.cyanheads/faa-airmen-registry-mcp-server server safe to use?

io.github.cyanheads/faa-airmen-registry-mcp-server scores 80 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.cyanheads/faa-airmen-registry-mcp-server server expose?

io.github.cyanheads/faa-airmen-registry-mcp-server exposes 6 tools: faa_airmen_verify_certificate, faa_airmen_get_type_ratings, faa_airmen_check_medical_status, faa_airmen_search_instructors, faa_airmen_verify_remote_pilot, faa_airmen_list_reference. Their descriptions and schemas cost roughly 2,509 tokens of context every time the server is loaded.

Does the io.github.cyanheads/faa-airmen-registry-mcp-server server require authentication?

No. We connected to io.github.cyanheads/faa-airmen-registry-mcp-server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the io.github.cyanheads/faa-airmen-registry-mcp-server server still maintained?

io.github.cyanheads/faa-airmen-registry-mcp-server is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.