Koskamo

Aviation Resources MCP

An official MCP server provided by Aviation Resources that allows AI assistants to search FAA handbooks and Airman Certification Standards, retrieve full page text with images, and list available standards for study and citation purposes.

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.

Aviation Resources MCP logo, by Aviation ResourcesVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Aviation Resources
MCP endpoint (Streamable HTTP)
https://api.aviationresources.io/mcp
Vendor documentation

What you can do with it

  • Search FAA handbooks for specific topics
  • Read and view full pages with figures
  • List Airman Certification Standards

Source and maintenance

Vendor evidenceRegistry 7.3.2

Protocol and capabilities

Server
aviation-resources 7.5.5
MCP protocol
2025-06-18
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Aviation Resources: FAA Airman Certification Standards (ACS) and the FAA reference material they cite. Start with list_airman_certification_standards to find the standard you need, then airman_certification_standards for its areas of operation, tasks, elements and sub-elements. To answer from FAA reference material, call search_documents, then get_page for the pages you need to read or see (figures, charts, tables). Give the user the viewerUrl of each page you rely on.

Tools

4 advertised

list_airman_certification_standards — List Airman Certification Standards
Advertised by the server during the last successful anonymous check.
Advertised read-only

Lists every FAA Airman Certification Standard (ACS) in Aviation Resources, such as Private Pilot - Airplane or Instrument Rating - Airplane, with its ID, whether it is ready for use, and how many areas of operation and tasks it has. Use this first to find the ACS a lesson is for.

list_airman_certification_standards input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
list_airman_certification_standards output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "standards"
  ],
  "properties": {
    "standards": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "name",
          "ready",
          "areaOfOperationCount",
          "taskCount",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "UUID of the ACS. Pass it to airman_certification_standards to get its areas of operation, tasks, elements and sub-elements."
          },
          "name": {
            "type": "string",
            "description": "Name of the ACS, e.g. \"Private Pilot - Airplane\"."
          },
          "ready": {
            "type": "boolean",
            "description": "True when the ACS has been fully entered and reviewed. Prefer ready standards."
          },
          "createdAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "taskCount": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          },
          "updatedAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "areaOfOperationCount": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
list_airman_certification_standards annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
airman_certification_standards — Get Airman Certification Standard
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns one FAA Airman Certification Standard (ACS) in full: every area of operation, each task with its objective, and every knowledge, risk management and skills element with its sub-elements and ACS codes (e.g. PA.I.A.K1a). Get the ID from list_airman_certification_standards. A whole ACS is large (a Private Pilot ACS is close to 1,000 elements), so pass areaOfOperation, and task if you can, when you only need part of it.

airman_certification_standards input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "acsId"
  ],
  "properties": {
    "task": {
      "type": "string",
      "maxLength": 3,
      "minLength": 1,
      "description": "Only this task of the area of operation, by its letter, e.g. \"A\". Needs areaOfOperation."
    },
    "acsId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "The ACS's ID, from list_airman_certification_standards."
    },
    "areaOfOperation": {
      "type": "string",
      "maxLength": 10,
      "minLength": 1,
      "description": "Only this area of operation, by its Roman numeral, e.g. \"I\" or \"VII\". Leave out for the whole ACS."
    }
  }
}
airman_certification_standards output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "standard",
    "filter",
    "counts",
    "areasOfOperation"
  ],
  "properties": {
    "counts": {
      "type": "object",
      "required": [
        "areasOfOperation",
        "tasks",
        "elements",
        "subElements"
      ],
      "properties": {
        "tasks": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        },
        "elements": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        },
        "subElements": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        },
        "areasOfOperation": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        }
      },
      "description": "How much the result holds.",
      "additionalProperties": false
    },
    "filter": {
      "type": "object",
      "required": [
        "areaOfOperation",
        "task"
      ],
      "properties": {
        "task": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "areaOfOperation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "description": "The areaOfOperation and task the result was narrowed to, or null.",
      "additionalProperties": false
    },
    "standard": {
      "type": "object",
      "required": [
        "id",
        "name",
        "abbreviation",
        "code",
        "ready",
        "updatedAt"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The prefix of every ACS code in this standard, e.g. \"PA\"."
        },
        "name": {
          "type": "string"
        },
        "ready": {
          "type": "boolean",
          "description": "True when the ACS has been fully entered and reviewed."
        },
        "updatedAt": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "abbreviation": {
          "type": "string",
          "description": "e.g. \"PPL\"."
        }
      },
      "additionalProperties": false
    },
    "areasOfOperation": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "numeral",
          "name",
          "tasks"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "e.g. \"Preflight Preparation\"."
          },
          "tasks": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "letter",
                "code",
                "name",
                "objective",
                "knowledge",
                "riskManagement",
                "skills"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "code": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "e.g. \"PA.I.A\"."
                },
                "name": {
                  "type": "string",
                  "description": "e.g. \"Pilot Qualifications\"."
                },
                "letter": {
                  "type": "string",
                  "description": "e.g. \"A\"."
                },
                "skills": {
                  "type": "object",
                  "required": [
                    "description",
                    "elements"
                  ],
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "code",
                          "text",
                          "subElements"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "ACS code, e.g. \"PA.I.A.K1\"."
                          },
                          "text": {
                            "type": "string"
                          },
                          "subElements": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "code",
                                "text"
                              ],
                              "properties": {
                                "code": {
                                  "type": "string",
                                  "description": "ACS code, e.g. \"PA.I.A.K1a\"."
                                },
                                "text": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "description": "In ACS code order."
                    },
                    "description": {
                      "type": "string",
                      "description": "The ACS lead-in, e.g. \"The applicant demonstrates understanding of:\"."
                    }
                  },
                  "additionalProperties": false
                },
                "knowledge": {
                  "type": "object",
                  "required": [
                    "description",
                    "elements"
                  ],
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "code",
                          "text",
                          "subElements"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "ACS code, e.g. \"PA.I.A.K1\"."
                          },
                          "text": {
                            "type": "string"
                          },
                          "subElements": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "code",
                                "text"
                              ],
                              "properties": {
                                "code": {
                                  "type": "string",
                                  "description": "ACS code, e.g. \"PA.I.A.K1a\"."
                                },
                                "text": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "description": "In ACS code order."
                    },
                    "description": {
                      "type": "string",
                      "description": "The ACS lead-in, e.g. \"The applicant demonstrates understanding of:\"."
                    }
                  },
                  "additionalProperties": false
                },
                "objective": {
                  "type": "string"
                },
                "riskManagement": {
                  "type": "object",
                  "required": [
                    "description",
                    "elements"
                  ],
                  "properties": {
                    "elements": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "code",
                          "text",
                          "subElements"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "ACS code, e.g. \"PA.I.A.K1\"."
                          },
                          "text": {
                            "type": "string"
                          },
                          "subElements": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "code",
                                "text"
                              ],
                              "properties": {
                                "code": {
                                  "type": "string",
                                  "description": "ACS code, e.g. \"PA.I.A.K1a\"."
                                },
                                "text": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "description": "In ACS code order."
                    },
                    "description": {
                      "type": "string",
                      "description": "The ACS lead-in, e.g. \"The applicant demonstrates understanding of:\"."
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          },
          "numeral": {
            "type": "string",
            "description": "Roman numeral, e.g. \"I\"."
          }
        },
        "additionalProperties": false
      },
      "description": "In ACS order."
    }
  },
  "additionalProperties": false
}
airman_certification_standards annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
search_documents — Search FAA Documents
Advertised by the server during the last successful anonymous check.
Advertised read-only

Full-text search across the FAA handbooks, advisory circulars and other reference documents in Aviation Resources (for example the Pilot's Handbook of Aeronautical Knowledge, Airplane Flying Handbook, Instrument Flying Handbook, Aviation Weather and the Weight & Balance Handbook). Returns the best-matching documents, each with its best pages and short snippets. Use it to find where a topic is covered, then call get_page to read a page in full or see its figures. Cite pages with their viewerUrl.

search_documents input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1,
      "description": "How many documents to return."
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Search terms, e.g. holding entry or \"density altitude\". Words must all match (English variants count); use \"quotes\" for a phrase, or for alternatives, and -word to exclude. Use the words an FAA handbook would use; search for an ACS task's topic, not its code."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 1000,
      "minimum": 0,
      "description": "How many documents to skip, for the next page of results (pagination.offset + pagination.limit)."
    },
    "resourceIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
      },
      "maxItems": 50,
      "description": "Only search these documents (IDs from earlier results). Leave out to search every document."
    },
    "pagesPerResource": {
      "type": "integer",
      "default": 2,
      "maximum": 5,
      "minimum": 1,
      "description": "How many of each document's best pages to return."
    }
  }
}
search_documents output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query",
    "results",
    "pagination"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "The query as it was run."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "resource",
          "score",
          "matchedPageCount",
          "pages"
        ],
        "properties": {
          "pages": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "pageNumber",
                "score",
                "viewerUrl",
                "matches"
              ],
              "properties": {
                "score": {
                  "type": "number"
                },
                "matches": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "heading",
                      "snippet"
                    ],
                    "properties": {
                      "heading": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "description": "Section heading the passage falls under."
                      },
                      "snippet": {
                        "type": "string",
                        "description": "Plain text around the matched words, excerpts joined by \" … \"."
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "viewerUrl": {
                  "type": "string",
                  "description": "Opens this page in the Aviation Resources web app. Give this to the user as the source link."
                },
                "pageNumber": {
                  "type": "integer",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "description": "1-based page number in the PDF. Pass to get_page to read or see the page."
                }
              },
              "additionalProperties": false
            }
          },
          "score": {
            "type": "number",
            "description": "Relevance within this response only; higher is better."
          },
          "resource": {
            "type": "object",
            "required": [
              "id",
              "documentName",
              "documentNumber",
              "pageCount"
            ],
            "properties": {
              "id": {
                "type": "string",
                "description": "UUID of the document. Pass it to get_page, or in resourceIds to search only this document."
              },
              "pageCount": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991
              },
              "documentName": {
                "type": "string",
                "description": "e.g. \"Pilot's Handbook of Aeronautical Knowledge\"."
              },
              "documentNumber": {
                "type": "string",
                "description": "FAA document number, e.g. \"FAA-H-8083-25\"."
              }
            },
            "additionalProperties": false
          },
          "matchedPageCount": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "description": "How many pages of the document match; pages holds only the best of them."
          }
        },
        "additionalProperties": false
      },
      "description": "Matching documents, best first. Empty when nothing matches."
    },
    "pagination": {
      "type": "object",
      "required": [
        "limit",
        "offset",
        "total",
        "hasMore"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        },
        "total": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Number of matching documents across all pages of results."
        },
        "offset": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        },
        "hasMore": {
          "type": "boolean",
          "description": "True when calling again with offset + limit returns more documents."
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
search_documents annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_page — Get Document Page
Advertised by the server during the last successful anonymous check.
Advertised read-only

Returns one page of an FAA document from Aviation Resources: an image of the whole page plus the full text of the passages on it. Use it after search_documents to read a page in full or to see figures, charts and tables, or to read on with nextPageNumber / previousPageNumber. Cite the page with its viewerUrl.

get_page input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "resourceId",
    "pageNumber"
  ],
  "properties": {
    "pageNumber": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "1-based page number in the PDF, as search_documents returns it (not the number printed on the page)."
    },
    "resourceId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "The document's ID, from search_documents."
    },
    "includeImage": {
      "type": "boolean",
      "default": true,
      "description": "Set false to get only the text, for example when reading through several pages."
    }
  }
}
get_page output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "resource",
    "pageNumber",
    "previousPageNumber",
    "nextPageNumber",
    "indexed",
    "passages",
    "image",
    "imageUnavailableReason",
    "viewerUrl"
  ],
  "properties": {
    "image": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "mimeType",
            "width",
            "height"
          ],
          "properties": {
            "width": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            },
            "height": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            },
            "mimeType": {
              "type": "string",
              "const": "image/jpeg"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ],
      "description": "Describes the image content block (the whole page), or null when there is none."
    },
    "indexed": {
      "type": "boolean",
      "description": "False when the document has no text index yet; passages is then empty."
    },
    "passages": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "chunkIndex",
          "heading",
          "pageStart",
          "pageEnd",
          "text"
        ],
        "properties": {
          "text": {
            "type": "string",
            "description": "The passage's full text."
          },
          "heading": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "pageEnd": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "description": "Last page the passage covers; can be after pageNumber."
          },
          "pageStart": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "description": "First page the passage covers; can be before pageNumber."
          },
          "chunkIndex": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          }
        },
        "additionalProperties": false
      },
      "description": "Every indexed passage that covers this page, in document order."
    },
    "resource": {
      "type": "object",
      "required": [
        "id",
        "documentName",
        "documentNumber",
        "pageCount"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "UUID of the document. Pass it to get_page, or in resourceIds to search only this document."
        },
        "pageCount": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        },
        "documentName": {
          "type": "string",
          "description": "e.g. \"Pilot's Handbook of Aeronautical Knowledge\"."
        },
        "documentNumber": {
          "type": "string",
          "description": "FAA document number, e.g. \"FAA-H-8083-25\"."
        }
      },
      "additionalProperties": false
    },
    "viewerUrl": {
      "type": "string",
      "description": "Opens this page in the Aviation Resources web app. Give this to the user as the source link."
    },
    "pageNumber": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991
    },
    "nextPageNumber": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        },
        {
          "type": "null"
        }
      ],
      "description": "The page after, or null on the last page."
    },
    "previousPageNumber": {
      "anyOf": [
        {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        },
        {
          "type": "null"
        }
      ],
      "description": "The page before, or null on the first page."
    },
    "imageUnavailableReason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Why image is null when an image was asked for."
    }
  },
  "additionalProperties": false
}
get_page annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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
456 ms
95th percentile latency
456 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 456 ms · metadata changed · 4 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http aviation-resources-mcp https://api.aviationresources.io/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add aviation-resources-mcp --url https://api.aviationresources.io/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable aviation-resources-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "aviation-resources-mcp": {
      "url": "https://api.aviationresources.io/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "aviation-resources-mcp": {
      "type": "streamableHttp",
      "url": "https://api.aviationresources.io/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start aviation-resources-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "aviation-resources-mcp": {
      "type": "http",
      "url": "https://api.aviationresources.io/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http aviation-resources-mcp https://api.aviationresources.io/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "aviation-resources-mcp": {
      "url": "https://api.aviationresources.io/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "aviation-resources-mcp": {
      "serverUrl": "https://api.aviationresources.io/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Aviation Resources MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Aviation Resources MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing