faa-aircraft-registry-mcp-server

v0.1.2 pre-1.0

Offline US civil aircraft registry — decode an N-number to aircraft, engine, status, and owner; search by owner, type, or state.

faa-aircraft-registry.caseyjhand.com/mcp
claude mcp add --transport http faa-aircraft-registry-mcp-server https://faa-aircraft-registry.caseyjhand.com/mcp
codex mcp add faa-aircraft-registry-mcp-server --url https://faa-aircraft-registry.caseyjhand.com/mcp
{
  "mcpServers": {
    "faa-aircraft-registry-mcp-server": {
      "url": "https://faa-aircraft-registry.caseyjhand.com/mcp"
    }
  }
}
gemini mcp add --transport http faa-aircraft-registry-mcp-server https://faa-aircraft-registry.caseyjhand.com/mcp
{
  "mcpServers": {
    "faa-aircraft-registry-mcp-server": {
      "command": "bunx",
      "args": [
        "mcp-remote",
        "https://faa-aircraft-registry.caseyjhand.com/mcp"
      ]
    }
  }
}
{
  "mcpServers": {
    "faa-aircraft-registry-mcp-server": {
      "type": "http",
      "url": "https://faa-aircraft-registry.caseyjhand.com/mcp"
    }
  }
}
curl -X POST https://faa-aircraft-registry.caseyjhand.com/mcp \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}}}'

Tools

5

faa_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). 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.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "faa_lookup_registration",
    "arguments": {
      "nNumber": "<nNumber>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "nNumber": {
      "type": "string",
      "minLength": 1,
      "description": "US registration N-number to decode. Accepts \"N12345\" or \"12345\"; the leading N is optional."
    }
  },
  "required": [
    "nNumber"
  ],
  "additionalProperties": false
}
view source ↗

faa_get_aircraft_type

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.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "faa_get_aircraft_type",
    "arguments": {
      "code": "<code>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "minLength": 1,
      "description": "7-character manufacturer/model/series code (e.g. \"2072714\"). Discover codes via faa_search_aircraft_types."
    }
  },
  "required": [
    "code"
  ],
  "additionalProperties": false
}
view source ↗

faa_search_registrations

Search active US civil aircraft registrations by owner name, make/model, state, aircraft type, or Mode S (hex) code. Full-text search over the bundled registry; 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. When the result count hits the limit, the response discloses truncation.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "faa_search_registrations",
    "arguments": {}
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "ownerName": {
      "description": "Registrant name to match (full-text). Rejected when owner-PII redaction is on.",
      "type": "string"
    },
    "makeModel": {
      "description": "Aircraft make and/or model to match (full-text).",
      "type": "string"
    },
    "state": {
      "description": "Two-letter state/territory abbreviation (exact match).",
      "type": "string"
    },
    "aircraftType": {
      "description": "Aircraft type code to match exactly (e.g. \"4\" for fixed-wing single-engine).",
      "type": "string"
    },
    "modeSCode": {
      "description": "Mode S code in hex to match exactly (ICAO 24-bit address).",
      "type": "string"
    },
    "limit": {
      "default": 25,
      "description": "Maximum number of results to return (1–200, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "required": [
    "limit"
  ],
  "additionalProperties": false
}
view source ↗

faa_search_aircraft_types

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. When the result count hits the limit, the response discloses truncation.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "faa_search_aircraft_types",
    "arguments": {}
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "query": {
      "description": "Manufacturer and/or model name to match (full-text).",
      "type": "string"
    },
    "aircraftType": {
      "description": "Aircraft type code to match exactly (e.g. \"6\" for rotorcraft).",
      "type": "string"
    },
    "category": {
      "description": "Aircraft category code to match exactly (1 Land, 2 Sea, 3 Amphibian).",
      "type": "string"
    },
    "limit": {
      "default": 25,
      "description": "Maximum number of results to return (1–200, default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "required": [
    "limit"
  ],
  "additionalProperties": false
}
view source ↗

faa_get_registration_status

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".

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "faa_get_registration_status",
    "arguments": {
      "nNumber": "<nNumber>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "nNumber": {
      "type": "string",
      "minLength": 1,
      "description": "US registration N-number to resolve. Accepts \"N12345\" or \"12345\"; the leading N is optional."
    }
  },
  "required": [
    "nNumber"
  ],
  "additionalProperties": false
}
view source ↗

Resources

1

Fetch the full registration record for one US civil aircraft N-number — the same decoded, pre-joined payload as faa_lookup_registration. Owner PII is redacted unless the deployment opts in.

uri faa://registration/{nNumber} mime application/json