faa-airmen-registry-mcp-server
Server Details
Search FAA airmen certificates, ratings, and informational medical records.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- cyanheads/faa-airmen-registry-mcp-server
- GitHub Stars
- 1
- Server Listing
- faa-airmen-registry-mcp-server
TDQS
Scored across 6 tools
The tools form a reasonable funnel (verify → get_type_ratings / check_medical_status), but the three record-lookup tools overlap: instructor and remote-pilot records are subsets of airman certificates that faa_airmen_verify_certificate can also return when filtering by certificate type, so an agent may pick the wrong entry point. The descriptions help somewhat by emphasizing specialized filters (state, rating codes) and dedicated result shapes, but boundaries remain fuzzy.
All names use the same faa_airmen_ prefix and snake_case verb_noun structure (verify_certificate, get_type_ratings, search_instructors, list_reference). The only minor inconsistency is read verbs varying between check/get/list/search/verify for similar ID-based reads, though each verb still signals the operation type.
Six tools is well-scoped for a read-only registry lookup server: two targeted sub-lookups (ratings, medical), one funnel lookup, two specialized searches, and one reference tool. Each tool earns its place without bloat.
The surface covers the core lifecycle of this read-only snapshot: discover an ID by name, read certificates, then drill into ratings and medical fields, plus instructor/remote-pilot searches and code references. Minor gaps remain—no generic airman search by location outside instructor/remote-pilot populations and no explicit way to enumerate all certificates for an ID beyond the verify response.
Available Tools
6 toolsfaa_airmen_check_medical_statusFaa Airmen Check Medical StatusARead-onlyIdempotentInspect
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 faa_airmen_verify_certificate. Every call is rejected while the operator's personal-data redaction is on (the default).
| Name | Required | Description | Default |
|---|---|---|---|
| uniqueId | Yes | Opaque FAA Unique ID from faa_airmen_verify_certificate, A or C plus seven digits, for example A9999999; not a certificate number. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present when the call failed. Absent on success. |
| found | No | Whether this Unique ID occurs in the releasable snapshot. |
| airman | No | Matched person, absent for a missing ID. |
| notice | No | Snapshot limitations, absence guidance, source-quality notices for the returned records, and operational notices; may be empty. |
| disclaimer | No | Medical information limitations, present on every result. |
| provenance | No | Snapshot provenance, or null for static reference topics. |
| piiRedacted | No | Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID. |
| appliedFilters | No | Every effective normalized selector, filter, and paging value. |
| medicalRecords | No | All distinct reported medical records; empty when a known person has no reported medical fields. |
| hasReportedMedicalFields | No | Whether any medical fields were reported; absent for a missing person, never an adverse finding. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as a read-only, idempotent, closed-world operation. The description adds important behavior beyond the annotations: the data is informational rather than authoritative medical certification, and every call is rejected while redaction is on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences with no filler. The main action and scope come first, followed by the authoritative-data caveat and the operational prerequisite/blocker.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter schema, existing output schema, and read-only annotations, the description covers the essential gaps: data provenance, non-authoritative status, and a blocking redaction condition. Nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is already 100%, so the baseline is 3. The description adds useful provenance by stating where to get the Unique ID ('faa_airmen_verify_certificate'), which is not repeated in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and names the exact resource and fields: 'informational medical class, medical dates, and BasicMed dates for one airman Unique ID.' It is clearly scoped to a single airman and distinguishable from the broader FAA sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: obtain the Unique ID from faa_airmen_verify_certificate, and calls are rejected while operator personal-data redaction is enabled. It does not explicitly name alternatives or when-not-to-use cases beyond the redaction blocker, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
faa_airmen_get_type_ratingsFaa Airmen Get Type RatingsARead-onlyIdempotentInspect
Read all source aircraft type, category/class, and instrument ratings for one FAA airman Unique ID. Get the ID from faa_airmen_verify_certificate. Ratings retain their source certificate type and level and do not establish current operating privileges.
| Name | Required | Description | Default |
|---|---|---|---|
| uniqueId | Yes | Opaque FAA Unique ID from faa_airmen_verify_certificate, A or C plus seven digits, for example A9999999; not a certificate number. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present when the call failed. Absent on success. |
| found | No | Whether this Unique ID occurs in the releasable snapshot. |
| airman | No | Matched person, absent for a missing ID. |
| notice | No | Snapshot limitations, absence guidance, source-quality notices for the returned records, and operational notices; may be empty. |
| provenance | No | Snapshot provenance, or null for static reference topics. |
| piiRedacted | No | Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID. |
| certificates | No | All pilot-family certificates with complete rating arrays; empty when the person has no reported pilot-family certificate. |
| appliedFilters | No | Every effective normalized selector, filter, and paging value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, closed-world behavior, and the description adds genuine domain context the annotations cannot: ratings retain their source certificate type and level and do not establish current operating privileges. That caveat prevents over-interpreting results. It doesn't discuss empty results or completeness of the returned set, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, each doing distinct work: purpose, prerequisite sourcing, and interpretive caveat. The core purpose is front-loaded and nothing is repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a fully documented single parameter, read-only/idempotent annotations, and an output schema to cover return values, the description supplies everything else an agent needs, including the ID provenance and the privilege caveat.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the single uniqueId parameter is fully documented with a pattern and an explicit warning that it is not a certificate number. The description only restates the scope ('one FAA airman Unique ID') and adds no format or sourcing detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read) and resource (source aircraft type, category/class, and instrument ratings) with clear scope: one FAA airman Unique ID. The mention of the sibling that supplies the ID further separates it from the other faa_airmen_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to obtain the ID from faa_airmen_verify_certificate, giving an actionable prerequisite and routing the agent to the right sibling. It does not state when *not* to use this tool or what an alternative would be, so it falls short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
faa_airmen_list_referenceFaa Airmen List ReferenceARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum complete people or reference entries per page; default 10, maximum 50. A larger limit returns at most 50, with a notice. | |
| topic | Yes | One FAA vocabulary, interpretation guide, or mirror diagnostic topic. | |
| filter | No | Literal case-insensitive substring over code and description, 1–80 normalized characters; vocabulary topics only. Blank means unset. | |
| offset | No | Zero-based offset; default 0, maximum 10000. Follow nextOffset or narrow filters at the cap. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present when the call failed. Absent on success. |
| topic | No | One FAA vocabulary, interpretation guide, or mirror diagnostic topic. |
| notice | No | Snapshot limitations, absence guidance, source-quality notices for the returned records, and operational notices; may be empty. |
| entries | No | Complete matching reference entries for this page. |
| hasMore | No | Whether another page is reachable within the offset cap. |
| nextOffset | No | Next reachable offset, or null when no next page is available. |
| provenance | No | Snapshot provenance, or null for static reference topics. |
| totalCount | No | Total matches after filtering, before paging. |
| atPagingCap | No | Matches remain but the next offset exceeds 10000; narrow the filters. |
| piiRedacted | No | Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID. |
| mirrorStatus | No | Safe diagnostic state present only for mirror_status. |
| returnedCount | No | Complete people or reference entries returned on this page. |
| appliedFilters | No | Every effective normalized selector, filter, and paging value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, closed-world), so the bar is lower; the description adds the non-obvious availability rule that static topics resolve before the mirror is initialized. It does not describe what mirror_status returns or what a snapshot limit notice looks like, which would be the remaining valuable detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and topic list, no filler. The topic enumeration is slightly listy but each item maps to a real enum value an agent must choose among.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and annotations are present, and the description explains the tool's role plus the initialization caveat, so an agent can call it correctly. Only minor gaps remain, such as which topic to pick for type designators versus ratings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents topic, filter, limit, and offset with enums and bounds. The description only broadly gestures at filter construction and snapshot limits, adding little beyond the structured fields; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Read") and enumerates the resource categories: certificate/rating codes, type designators, identity/medical guidance, mirror status. This clearly separates it from the sibling verify/search tools, which act on individual airmen rather than returning reference vocabularies, though it never explicitly names that contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says how to use the output ("construct lookup filters and interpret snapshot limits") and adds a real precondition ("Static topics work before mirror initialization"). It lacks an explicit when-not or a named alternative, keeping it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
faa_airmen_search_instructorsFaa Airmen Search InstructorsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Exact city, 1–60 visible characters; requires operator-enabled location access and is rejected while personal-data redaction is on. Blank means unset. | |
| limit | No | Maximum complete people or reference entries per page; default 10, maximum 50. A larger limit returns at most 50, with a notice. | |
| state | No | Two-letter state or territory; trimmed and uppercased. Blank means unset. | |
| offset | No | Zero-based offset; default 0, maximum 10000. Follow nextOffset or narrow filters at the cap. | |
| zipCode | No | 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. | |
| lastName | No | 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. | |
| firstName | No | 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. | |
| nameMatch | No | 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 name is one word. exact: the whole field. prefix: the field begins with the term, also mid-word; rejected while personal-data redaction is on. | |
| ratingCodes | No | 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 (F) certificate; MEI is AME or ASME on F; INST, ADV, and BASIC occur only on ground (G) certificates. | |
| instructorType | No | Select flight F, ground G, or both instructor certificate types; default both. | both |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present when the call failed. Absent on success. |
| notice | No | Snapshot limitations, absence guidance, source-quality notices for the returned records, and operational notices; may be empty. |
| hasMore | No | Whether another page is reachable within the offset cap. |
| matches | No | Matching instructor candidates; certificate presence does not establish currency. |
| nextOffset | No | Next reachable offset, or null when no next page is available. |
| provenance | No | Snapshot provenance, or null for static reference topics. |
| totalCount | No | Total matches after filtering, before paging. |
| atPagingCap | No | Matches remain but the next offset exceeds 10000; narrow the filters. |
| piiRedacted | No | Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID. |
| returnedCount | No | Complete people or reference entries returned on this page. |
| appliedFilters | No | Every effective normalized selector, filter, and paging value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only and idempotent annotations, the description discloses redaction-dependent behavior: both name fields become required, prefix matching and city/ZIP filters are rejected, and city/ZIP are withheld. It also warns that legacy expiry fields do not establish instructor currency and notes the December 2024 CFI rule.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded, with the core purpose first and the most important constraints immediately after. Every sentence carries operational information about filters, redaction, or certificate currency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter search tool with full schema descriptions, annotations, and an output schema, the description covers the key behavioral context: minimum filter requirements, location/redaction gating, and the currency caveat. Pagination and return shape are appropriately left to the schema and output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter details are largely already documented. The description still adds important cross-parameter semantics: at least one filter must be supplied, and redaction changes the requirements for lastName, firstName, nameMatch, city, and ZIP.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: find releasable flight and ground instructor certificate records. It clearly distinguishes flight from ground instructor records, though it does not explicitly differentiate this search tool from siblings such as faa_airmen_verify_certificate or faa_airmen_get_type_ratings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage conditions: supply at least one name, state, city, ZIP, or rating filter, and it explains when city/ZIP are unavailable due to operator location access or redaction. It does not name alternative sibling tools for cases where this search is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
faa_airmen_verify_certificateFaa Airmen Verify CertificateARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Exact city, 1–60 visible characters; requires operator-enabled location access and is rejected while personal-data redaction is on. Blank means unset. | |
| mode | Yes | id 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. | |
| limit | No | Maximum complete people or reference entries per page; default 10, maximum 50. A larger limit returns at most 50, with a notice. | |
| state | No | Two-letter state or territory; trimmed and uppercased. Blank means unset. | |
| offset | No | Zero-based offset; default 0, maximum 10000. Follow nextOffset or narrow filters at the cap. | |
| zipCode | No | 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. | |
| lastName | No | 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. | |
| uniqueId | No | Opaque FAA Unique ID returned by faa_airmen_verify_certificate in name mode, A or C plus seven digits, for example A9999999; not a certificate number. Trimmed and uppercased. | |
| firstName | No | 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. | |
| nameMatch | No | 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 name is one word. exact: the whole field. prefix: the field begins with the term, also mid-word; rejected while personal-data redaction is on. | |
| ratingCodes | No | One to eleven rating codes, repeats collapsed; every code must occur on the same certificate as every other requested credential, never across certificates. | |
| typeRatings | No | One to eleven type-rating designators, repeats collapsed; every designator must occur on the same certificate as every other requested credential. | |
| certificateType | No | 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; selects people while retaining all their certificates. | |
| certificateLevel | No | 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 the certificate's own level. Trimmed and uppercased; blank means unset. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present when the call failed. Absent on success. |
| notice | No | Snapshot limitations, absence guidance, source-quality notices for the returned records, and operational notices; may be empty. |
| hasMore | No | Whether another page is reachable within the offset cap. |
| matches | No | Separate identity candidates; never infer a single person from multiple matches. |
| nextOffset | No | Next reachable offset, or null when no next page is available. |
| provenance | No | Snapshot provenance, or null for static reference topics. |
| totalCount | No | Total matches after filtering, before paging. |
| atPagingCap | No | Matches remain but the next offset exceeds 10000; narrow the filters. |
| piiRedacted | No | Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID. |
| returnedCount | No | Complete people or reference entries returned on this page. |
| appliedFilters | No | Every effective normalized selector, filter, and paging value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover read-only/idempotent/closed-world; the description adds substantive behavior beyond them: redaction is on by default, name mode then requires firstName and lastName, nameMatch prefix and city/ZIP are rejected, city and ZIP values are withheld, and a missing or matching record is not a licensing determination. Those are exactly the operational and interpretive caveats an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five sentences, front-loaded with purpose and mode workflow before the redaction constraints and the disclaimer. Dense but every clause carries operational content; only the trailing licensing disclaimer is borderline, and it earns its place as a usage caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists and pagination/limits live in the schema, so the description needn't restate returns. It covers mode gating, redaction effects, filter conjunction semantics, and the non-determinative nature of results. What it lacks is explicit routing against the five sibling tools for ratings, medical, and remote-pilot records.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description goes beyond it by explaining the conjunction rule (certificate type, level, rating, and type-rating filters must all match one certificate while every match still returns all certificates) and by framing mode selection as a workflow rather than a bare enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (find releasable FAA airman records and read certificate records) plus the two lookup keys (exact Unique ID or name). The write-up distinguishes the two modes' outputs (ID mode for ratings/medical fields) but never names the sibling tools that own those adjacent tasks, so differentiation is inferential rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit two-step workflow: name mode to discover IDs, then ID mode for ratings or informational medical fields. It also states which filters are rejected under redaction. It stops short of saying when to prefer faa_airmen_get_type_ratings, faa_airmen_check_medical_status, or faa_airmen_verify_remote_pilot over this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
faa_airmen_verify_remote_pilotFaa Airmen Verify Remote PilotARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Exact city, 1–60 visible characters; requires operator-enabled location access and is rejected while personal-data redaction is on. Blank means unset. | |
| mode | Yes | id 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. | |
| limit | No | Maximum complete people or reference entries per page; default 10, maximum 50. A larger limit returns at most 50, with a notice. | |
| state | No | Two-letter state or territory; trimmed and uppercased. Blank means unset. | |
| offset | No | Zero-based offset; default 0, maximum 10000. Follow nextOffset or narrow filters at the cap. | |
| zipCode | No | 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. | |
| lastName | No | 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. | |
| uniqueId | No | Opaque FAA Unique ID returned by faa_airmen_verify_certificate in name mode, A or C plus seven digits, for example A9999999; not a certificate number. Trimmed and uppercased. | |
| firstName | No | 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. | |
| nameMatch | No | 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 name is one word. exact: the whole field. prefix: the field begins with the term, also mid-word; rejected while personal-data redaction is on. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present when the call failed. Absent on success. |
| notice | No | Snapshot limitations, absence guidance, source-quality notices for the returned records, and operational notices; may be empty. |
| hasMore | No | Whether another page is reachable within the offset cap. |
| matches | No | Candidates with U certificate records in this snapshot. |
| nextOffset | No | Next reachable offset, or null when no next page is available. |
| provenance | No | Snapshot provenance, or null for static reference topics. |
| totalCount | No | Total matches after filtering, before paging. |
| atPagingCap | No | Matches remain but the next offset exceeds 10000; narrow the filters. |
| piiRedacted | No | Operator personal-data redaction: true withholds city, ZIP, and medical fields and limits searches to a full name or Unique ID. |
| returnedCount | No | Complete people or reference entries returned on this page. |
| appliedFilters | No | Every effective normalized selector, filter, and paging value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only, idempotent, closed-world annotations, the description discloses the default personal-data redaction behavior, field rejection and withholding rules, local-snapshot scope, and limits on what the records prove. These are important behavioral traits an agent needs before calling or interpreting the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by operational constraints and then important interpretation caveats. It is dense but every sentence carries useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema, output schema, and annotations covering safety, the description adds the critical contextual caveats about redaction, local-snapshot scope, and eligibility/currency limitations. Nothing essential for correct invocation or interpretation appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description restates the conditional name-mode and redaction requirements already documented in the schema fields and does not add meaning for the remaining parameters such as limit, offset, or state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Find') and resource ('releasable FAA remote pilot certificate records') scoped by Unique ID or name. It is clear, but it does not explicitly name sibling tools such as faa_airmen_verify_certificate to sharpen scope differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when name mode applies, which filters are rejected under default redaction, and what the results do not establish. It provides strong context but does not explicitly route to an alternative sibling when the agent needs a different certificate scope or verification purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
faa_airmen_check_medical_status - First observed
faa_airmen_get_type_ratings - First observed
faa_airmen_list_reference - First observed
faa_airmen_search_instructors - First observed
faa_airmen_verify_certificate - First observed
faa_airmen_verify_remote_pilot
Related MCP Connectors
FAA civil aircraft registry — resolve a US tail number (N-number) to its aircraft, engine…
Offline, keyless lookup of the US civil aircraft registry — decode N-numbers, search records.
Search US sex-offender registries and criminal records, with per-source citations.
Scrape the FAA Aircraft Registry by N-number — aircraft make, model, year, owner name, address, airw
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables offline lookup and search of the US civil aircraft registry by N-number, owner, type, or state, returning detailed aircraft and ownership information.506 npm3Apache 2.0
- AlicenseNot gradedqualityBmaintenanceProvides access to US Federal Aviation Regulations (14 CFR) via Pipeworx gateway, enabling natural language queries for FAA regulations data.9 npmMIT
- AlicenseAqualityDmaintenanceEnables searching, retrieving, and tracking FAA Advisory Circulars for airport operations with filtering by airport type, bookmarking, and export capabilities.12MIT
- AlicenseNot gradedqualityBmaintenanceProvides aviation weather data including METAR, TAF, PIREPs, AIRMET/SIGMET, station info, and winds aloft forecasts.20 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.