PPL Free Ground School
Server Details
Free FAA private-pilot ground school: source-cited answers, lessons and practice questions.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-06-18
- URL
TDQS
Scored across 4 tools
Each tool has a clear, non-overlapping role: searching for cited facts, listing the curriculum, fetching a full lesson, and delivering practice questions. The overlap between search_faa_knowledge and get_lesson is explicitly disambiguated by the description directing short answers vs. full study. No two tools could be easily confused.
All four tools use a consistent verb_noun snake_case pattern: get_lesson, get_practice_question, list_curriculum, search_faa_knowledge. The verbs (get, list, search) match the action type. This is a model of predictable naming.
Four tools is well-scoped for a focused ground-school server. Each tool covers a distinct core need: orientation, content retrieval, quick reference, and self-assessment. Nothing feels missing or redundant at this scale.
The tool set covers the main learning loop: browse the curriculum, fetch a full lesson, get a cited answer, and practice with feedback. Minor gaps exist, such as no way to retrieve user progress or a full practice-test session, but these are outside the apparent scope. The core domain is well covered.
Available Tools
4 toolsget_lessonGet a lessonARead-onlyIdempotentInspect
Fetch one full ground-school lesson: its summary, why it matters in flight, the learning objectives it covers, and a link to read it. Use this after search_faa_knowledge when the user wants the whole topic rather than a single answer, or when they ask to study or learn a subject properly. Call list_curriculum first if you do not already have a lesson key.
| Name | Required | Description | Default |
|---|---|---|---|
| lessonKey | Yes | Lesson key, e.g. "as.lesson.vfr-minimums". From list_curriculum. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds genuine behavioral context beyond those annotations by revealing exactly what the fetch returns and confirming it retrieves the entire topic rather than a fragment. It does not mention error cases or format details, but with the annotations the bar is lower.
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 sentences, each earning its place: the first states the action and output contents, the second gives usage circumstances, and the third gives the required prerequisite. The purpose is front-loaded and no filler is present.
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 single-parameter read-only tool with no output schema, the description is complete: it explains what the tool returns, when to call it, and how to obtain the required lessonKey. An agent has everything needed to select and invoke it correctly.
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%, and the schema already explains that lessonKey is a lesson key sourced from list_curriculum. The description reinforces the need to obtain the key first but does not add new semantic detail about the parameter itself, so the baseline of 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?
The description states a specific verb ('Fetch'), a precise resource ('one full ground-school lesson'), and enumerates what is returned: summary, why it matters, learning objectives, and a link. It also routes the agent away from search_faa_knowledge and toward list_curriculum, clearly distinguishing itself from the 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 explicitly says when to use this tool ('after search_faa_knowledge when the user wants the whole topic rather than a single answer' or 'when they ask to study or learn a subject properly') and names the prerequisite alternative ('Call list_curriculum first if you do not already have a lesson key'). This is actionable, unambiguous routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_practice_questionGet a practice questionARead-onlyIdempotentInspect
Return private-pilot practice questions written for this course in the style of the FAA knowledge test (not actual FAA test questions), each with its answer choices, its topic, a question_id and a link to try it on pplfree.com. The correct answer is withheld by default so the user can attempt the question first. Once the user has answered, call again with that question_id and reveal_answer: true to get the correct choice and an explanation of why each choice is right or wrong. Use this when the user wants to be quizzed, asks for practice or test questions, wants to check their understanding of a topic, or is preparing for the FAA private-pilot knowledge test. Optionally scope it to a topic.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | How many questions to return (1-5, default 1). | |
| topic | No | Optional topic to draw from, e.g. "airspace", "weather", "aerodynamics", "regulations", "navigation", "weight-balance", "systems". Omit for any topic. | |
| question_id | No | A question_id from an earlier call, to return that exact question (typically with reveal_answer: true). Overrides topic and count. | |
| reveal_answer | No | Include the correct choice and the explanation. Default false: leave it off until the user has attempted the question. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the key two-step behavior: the correct answer is withheld by default, and a follow-up call with question_id and reveal_answer: true returns the correct choice and per-choice explanations. Adds the meaningful caveat that questions are not actual FAA test questions, going beyond the readOnly/idempotent annotations.
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?
Four focused sentences, front-loaded with the return value and the central withholding behavior, then the follow-up call, usage triggers, and optional topic scoping. No filler or repetition.
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 no output schema, the description names the main return fields (answer choices, topic, question_id, pplfree.com link) and explains the reveal flow. Usage guidance is explicit and the two-step invocation behavior is fully specified.
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 documentation covers all four parameters, so the baseline is 3. The description reinforces the question_id/reveal_answer workflow but adds little new parameter syntax or formatting beyond what the schema already states.
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 ('Return') and resource: private-pilot practice questions in FAA style, not actual FAA test items. Mentions key contents (answer choices, topic, question_id, link), and by framing this as practice questions for this course it is clearly distinct from siblings such as search_faa_knowledge.
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 enumerates trigger scenarios: user wants to be quizzed, asks for practice/test questions, wants to check understanding, or is preparing for the FAA private-pilot knowledge test. It does not name alternative sibling tools or give when-not-to-use conditions, so it stops just 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.
list_curriculumList the curriculumARead-onlyIdempotentInspect
List the ground-school curriculum: modules and the published lessons in each, with their keys. Use this to orient yourself before get_lesson, to answer "what does the course cover", or to help a user plan what to study next.
| Name | Required | Description | Default |
|---|---|---|---|
| module | No | Optional module key to expand, e.g. "MOD-08". Omit for all modules. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful context beyond those annotations: only published lessons are included, and lessons come with their keys, which is useful because no output schema is provided.
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 with no filler. The core function is front-loaded, and the second sentence provides practical routing guidance while the phrase 'with their keys' earns its place by signaling expected output content.
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 simple read-only listing tool with one optional parameter, rich safety annotations, and no output schema, the description gives a complete picture: what is listed, what is returned, and when to use it. Nothing essential 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 100%, and the single optional module parameter is fully documented in the schema with format and default behavior. The description adds no extra parameter-level detail beyond what the schema already provides, so the 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?
The description uses a specific verb and resource ('List the ground-school curriculum') and specifies the returned shape: modules, published lessons, and keys. It also names the downstream sibling get_lesson, helping distinguish this listing tool from lesson retrieval.
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?
Three explicit trigger contexts are given: orienting before get_lesson, answering 'what does the course cover', and planning study next steps. It does not explicitly contrast with search_faa_knowledge or get_practice_question, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_faa_knowledgeSearch FAA ground-school knowledgeARead-onlyIdempotentInspect
Answer a US private-pilot (FAA) ground-school question from a source-cited curriculum. Use this whenever the user asks about FAA regulations, airspace, VFR weather minimums, weight and balance, aerodynamics, aircraft systems, navigation, weather theory, human factors, or private-pilot certification requirements. Returns short passages, each with the FAA citation it came from (e.g. "14 CFR 91.155", "PHAK Ch. 15") and a link to the lesson. Cite those labels in your answer.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many passages to return (1-8, default 4). | |
| query | Yes | The user's question, in their own words. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds behavioral context beyond annotations: it returns short passages with FAA citations and lesson links, and instructs the agent to cite those labels. It does not mention pagination or exact result count behavior, but the limit parameter covers that. This is solid value beyond the annotations.
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 two sentences, front-loaded with the core purpose and usage trigger, followed by the return format and citation instruction. Every sentence earns its place; no filler or repetition of schema details.
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 read-only search tool with a simple 2-parameter schema and no output schema, the description covers the purpose, when to use it, what it returns, and how to use the results. The only minor gap is that it doesn't explicitly state what happens if no results are found or how the limit interacts with the citation labels, but these are not critical for an agent to invoke the tool correctly.
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 both parameters (query and limit) with descriptions. The description adds the context that the query should be 'the user's question, in their own words' and that results are passages with citations, but it doesn't add new parameter-level meaning beyond the schema. 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?
The description states a specific verb ('Answer'), a specific resource ('US private-pilot (FAA) ground-school question'), and a source-cited curriculum. It also enumerates the exact topics covered (regulations, airspace, VFR weather minimums, etc.), which distinguishes it from sibling tools like get_lesson or get_practice_question. The scope is clear and actionable.
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?
The description explicitly says 'Use this whenever the user asks about...' and lists the domains, giving an agent a clear trigger condition. It also implies when not to use it (e.g., for retrieving a specific lesson or practice question, which are siblings), and instructs the agent to cite the returned labels in the answer. This is strong usage guidance.
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.
4 tool updates
- First observed
get_lesson - First observed
get_practice_question - First observed
list_curriculum - First observed
search_faa_knowledge
Related MCP Connectors
FAA written-test prep: practice questions, readiness diagnostic, METAR/TAF, drone airspace
131Free no-key search over CASA, FAA, EASA & ICAO aviation regulations. By Deepsky (deepskyai.com).
Ferry-flight price estimates + aircraft, airport, FAA-registry, route & live-flight data.
F-1 and J-1 student immigration answers with citations to regulations and agency guidance.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceTurns any source material into a guided learning experience with learning maps, notes, four-phase study loop, spaced repetition flashcards, and grounded Q\&A.2MIT
- AlicenseAqualityCmaintenanceTurns your PDFs into locally stored flashcards and quizzes, grades your answers, and schedules spaced-repetition reviews entirely on your machine.12MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with intelligent access to ML textbook content for creating accurate, source-grounded documentation using local models for privacy and cost efficiency.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables engineers and AI assistants to search source-backed hardware design guidelines, retrieve detailed conditions and limitations, and trace citations to original sources, all through a read-only offline interface.AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.