Rotate Pilot — FAA exam prep
by Perufitlife · remote · no sign-in to list tools · v1.0.0 · published by GitHub user Perufitlife
FAA written-test prep: practice questions, readiness diagnostic, METAR/TAF, drone airspace
13 tools: 10 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things10Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http rotate-pilot https://rotatepilot.com/api/mcpFindings
Matches of fixed checks, with the text they matched.
- Warndiagnose
The server marks "diagnose" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The description's first verb is "start": a word for a change.
- Warnstart_checkout
The server marks "start_checkout" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "start_checkout" says "start": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
13 tools
Changes things 10Claude Code: ask
airspace_atFor a US ZIP code or latitude/longitude: the FAA airspace class at drone altitudes (0-400 ft AGL), the controlled airspace overhead, and the FAA UAS Facility Map (LAANC) ceiling if…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it For a US ZIP code or latitude/longitude: the FAA airspace class at drone altitudes (0-400 ft AGL), the controlled airspace overhead, and the FAA UAS Facility Map (LAANC) ceiling if the point is on the grid, with a one-sentence plain-English verdict under 14 CFR Part 107. Uses FAA Class Airspace and UAS Facility Map data and USGS elevation. Checks one point only — not TFRs, NOTAMs or special-use airspace.
Annotations the server declares
- title: Drone airspace at a US location
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
check_answerGrades one answer to a Rotate Pilot practice question, identified by its question_id.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Grades one answer to a Rotate Pilot practice question, identified by its question_id. Returns whether it is correct, the correct letter and text, the explanation and its citations (14 CFR, AIM, ACS code when available). Accepts a letter (A/B/C), a number 1-3 or the option text.
Annotations the server declares
- title: Check a practice answer
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
cost_of_failingThe concrete cost of failing an FAA knowledge test, with sources: fee per attempt, mandatory wait or endorsement before a retest, the 2025 national failure rate, and the expected c…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The concrete cost of failing an FAA knowledge test, with sources: fee per attempt, mandatory wait or endorsement before a retest, the 2025 national failure rate, and the expected cost of a failure.
Annotations the server declares
- title: What failing an FAA knowledge test costs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
decode_metarDecodes a METAR aviation weather report into plain English: wind, visibility, weather, clouds, ceiling, temperature/dew point, altimeter and the VFR/MVFR/IFR/LIFR flight category.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Decodes a METAR aviation weather report into plain English: wind, visibility, weather, clouds, ceiling, temperature/dew point, altimeter and the VFR/MVFR/IFR/LIFR flight category. Pass either the raw METAR text or a 4-letter ICAO airport code to fetch the latest report from NOAA's Aviation Weather Center. For training, not for flight planning.
Annotations the server declares
- title: Decode a METAR
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
decode_tafDecodes a TAF terminal aerodrome forecast into plain-English periods (initial, FM, BECMG, TEMPO, PROB) with the forecast flight category of each.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Decodes a TAF terminal aerodrome forecast into plain-English periods (initial, FM, BECMG, TEMPO, PROB) with the forecast flight category of each. Pass the raw TAF text or a 4-letter ICAO code to fetch the current TAF from NOAA's Aviation Weather Center. For training, not for flight planning.
Annotations the server declares
- title: Decode a TAF
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
diagnoseStarts a free readiness diagnostic for an FAA knowledge test: returns 10-20 quiz questions (answers hidden) spread across the exam's areas — for Part 107 in proportion to the offic…1 finding
Why it is in this group
- The description's first verb is "start": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "diagnose" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The description's first verb is "start": a word for a change.
Description, as the server wrote it Starts a free readiness diagnostic for an FAA knowledge test: returns 10-20 quiz questions (answers hidden) spread across the exam's areas — for Part 107 in proportion to the official FAA weights. Each question has a question_id; scoring the set of answers gives the result per area, how it compares with the pass mark and a suggested next step.
Annotations the server declares
- title: Start an exam readiness diagnostic
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
exam_factsOfficial facts about an FAA knowledge test with sources: number of questions, time limit, pass mark, answer choices, minimum age, whether an instructor endorsement is needed, retes…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Official facts about an FAA knowledge test with sources: number of questions, time limit, pass mark, answer choices, minimum age, whether an instructor endorsement is needed, retest rules after a failure, how long the result is valid, 2025 national pass rate and average score, test fee when the FAA states it, and (Part 107) the official weight of each area.
Annotations the server declares
- title: FAA knowledge test facts
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
score_diagnosticScores a set of answers to a Rotate Pilot readiness diagnostic.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Scores a set of answers to a Rotate Pilot readiness diagnostic. Returns overall and per-area results (for Part 107 also the score weighted by the official FAA area weights), the areas below the pass mark, the correct answer with explanation for each question, and a suggested next step based on the result.
Annotations the server declares
- title: Score an exam readiness diagnostic
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
start_checkoutReturns the direct purchase link for Rotate Pilot's prep for an exam (Stripe Checkout on rotatepilot.com), or the plans page when that exam has no one-click checkout.1 finding
Why it is in this group
- The name "start_checkout" says "start": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "start_checkout" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "start_checkout" says "start": a word for a change.
Description, as the server wrote it Returns the direct purchase link for Rotate Pilot's prep for an exam (Stripe Checkout on rotatepilot.com), or the plans page when that exam has no one-click checkout. It does not charge anything: the user completes payment in their browser.
Annotations the server declares
- title: Get the purchase link
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
study_planBuilds a dated study plan from today to the exam date on Rotate Pilot's course material: learning blocks per area (Part 107 in proportion to the official FAA weights) with the Rota…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Builds a dated study plan from today to the exam date on Rotate Pilot's course material: learning blocks per area (Part 107 in proportion to the official FAA weights) with the Rotate Pilot lessons that cover each one where available, a mixed-practice block for weak areas and a final block of full timed practice tests, plus the free FAA references for that exam.
Annotations the server declares
- title: Day-by-day FAA study plan
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 3Claude Code: allow
compare_prep_optionsSide-by-side prices and contents of common prep options for an FAA exam, with the date the prices were checked and free alternatives.No findings
Why it is in this group
- The name "compare_prep_options" says "compare": a word for reading.
Description, as the server wrote it Side-by-side prices and contents of common prep options for an FAA exam, with the date the prices were checked and free alternatives. Only lists competitor prices Rotate has verified (currently Part 107); for other exams it says so instead of guessing.
Annotations the server declares
- title: Compare FAA exam prep options
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_offerRotate Pilot's current paid prep for an FAA exam: price, what is included, guarantee and refund terms with a link to the full terms, the free practice options, and purchase links.No findings
Why it is in this group
- The name "get_offer" says "get": a word for reading.
Description, as the server wrote it Rotate Pilot's current paid prep for an FAA exam: price, what is included, guarantee and refund terms with a link to the full terms, the free practice options, and purchase links.
Annotations the server declares
- title: Rotate Pilot prep options and prices
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
practice_questionsReturns 1-10 multiple-choice practice questions (3 options, like the real FAA knowledge test) from Rotate Pilot's reviewed bank for Part 107, PPL, IFR, CPL or ATP, optionally limit…No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns 1-10 multiple-choice practice questions (3 options, like the real FAA knowledge test) from Rotate Pilot's reviewed bank for Part 107, PPL, IFR, CPL or ATP, optionally limited to one area/topic. mode=quiz (default) returns the questions without their answers; mode=study includes the answer, explanation and regulatory citations (14 CFR / AIM / ACS).
Annotations the server declares
- title: FAA practice questions
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http rotate-pilot https://rotatepilot.com/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__rotate-pilot__practice_questions",
"mcp__rotate-pilot__get_offer",
"mcp__rotate-pilot__compare_prep_options"
],
"ask": [
"mcp__rotate-pilot__check_answer",
"mcp__rotate-pilot__diagnose",
"mcp__rotate-pilot__score_diagnostic",
"mcp__rotate-pilot__exam_facts",
"mcp__rotate-pilot__cost_of_failing",
"mcp__rotate-pilot__study_plan",
"mcp__rotate-pilot__decode_metar",
"mcp__rotate-pilot__decode_taf",
"mcp__rotate-pilot__airspace_at",
"mcp__rotate-pilot__start_checkout"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as rotate-pilot. Review it before you use it.
