Skip to main content
Glama

Server Details

Free FAA private-pilot ground school: source-cited answers, lessons and practice questions.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 21 days
Last Tested
Transport
Streamable HTTP ยท MCP 2025-06-18
URL

TDQS

A4.6/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a distinct role: search_faa_knowledge for cited factual answers, get_practice_question and check_answer for the quiz loop, and list_curriculum and get_lesson for structured study. The descriptions clearly signal when to use one over another, so an agent should not misselect.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern: check_answer, get_lesson, get_practice_question, list_curriculum, search_faa_knowledge. There are no mixed conventions or vague verbs.

Tool Count5/5

Five tools is well-scoped for a ground-school assistant: curriculum browsing, lesson retrieval, factual search, practice questions, and answer grading. Each tool has a clear purpose with no redundancy.

Completeness5/5

The set covers the full study workflow: orient via the curriculum, fetch lessons, ask FAA knowledge questions, take practice questions, and grade answers. Progress saving is handled through the returned URL, so the flow has no dead ends.

Available Tools

5 tools
check_answerCheck a practice answerA
Read-onlyIdempotent
Inspect

Grade the user's answer to a practice question from get_practice_question. Use this when the user replies with their choice (for example "B" or "I think it is C"): pass the question_id and their choice. Returns whether the answer is correct, the correct choice, why each choice is right or wrong, and the FAA citations. It also returns save_progress_url, a pplfree.com link where the user can save the answers from this chat to their study progress on that site, and save_token: pass it back as previous_token on the next check_answer call so one link collects every answer in the chat (up to 20, valid for 7 days). Nothing is stored unless the user opens the link.

ParametersJSON Schema
NameRequiredDescriptionDefault
choiceYesThe choice the user picked: its label (e.g. "b" or "B").
question_idYesThe questionId returned by get_practice_question.
previous_tokenNoThe save_token from the previous check_answer call in this chat, if any, so the save link keeps every answer. Omit on the first answer.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds substantial context beyond them: the return contents, the save_progress_url mechanism, the 20-answer/7-day limits, and the explicit guarantee that nothing is stored unless the user opens the link. This is exactly the kind of behavioral detail annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and trigger, then moves to return values, then to the token-chaining mechanics. Every sentence earns its place; there is 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.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description fully covers return values, the save-token flow, and the conditions for chaining calls. An agent has everything it needs to invoke this tool correctly and to handle the returned data appropriately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds real meaning beyond the schema: it explains how previous_token chains calls, what save_progress_url is for, and gives example choice phrasings. This goes well above the baseline expected for fully covered parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Grade') and resource ('the user's answer to a practice question from get_practice_question'), making the tool's function immediately clear. It also distinguishes itself from the sibling get_practice_question, which supplies the question rather than grading the answer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use the tool: when the user replies with their choice, and even gives example phrasings like 'B' or 'I think it is C'. It does not name alternative tools to exclude, but the trigger condition is so specific that no ambiguity remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_lessonGet a lessonA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
lessonKeyYesLesson key, e.g. "as.lesson.vfr-minimums". From list_curriculum.

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 questionA
Read-onlyIdempotent
Inspect

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 check_answer with that question_id and their choice to grade it (or call this tool again with the question_id and reveal_answer: true to show the answer without grading). 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoHow many questions to return (1-5, default 1).
topicNoOptional topic to draw from, e.g. "airspace", "weather", "aerodynamics", "regulations", "navigation", "weight-balance", "systems". Omit for any topic.
question_idNoA question_id from an earlier call, to return that exact question (typically with reveal_answer: true). Overrides topic and count.
reveal_answerNoInclude the correct choice and the explanation. Default false: leave it off until the user has attempted the question.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds valuable operational behavior: the correct answer is withheld by default, reveal_answer can show it without grading, and grading is done via check_answer. Some of this echoes the schema's param descriptions, but the grading-flow context goes beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description front-loads the core purpose in the opening clause and ends with clear usage triggers. The middle sentences are dense but each adds necessary operational guidance about withholding answers, grading, and revealing. There is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by enumerating the returned elements (answer choices, topic, question_id, link). It also covers the common caller intents, the grading handoff to check_answer, and the reveal path, while the schema covers parameter mechanics like count bounds and topic examples.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already fully documented and the baseline is 3. The description's mentions of question_id, topic, and reveal_answer mostly restate schema semantics, with only a small added nuance around 'without grading.' That is not enough to raise the score above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific verb ('Return') and a precise resource ('private-pilot practice questions written for this course in the style of the FAA knowledge test'), and explicitly distinguishes them from actual FAA test questions. It is immediately clear this is the quizzing/practice tool among the siblings and that check_answer handles grading.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete trigger conditions: '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.' It also explains the follow-up workflow with check_answer and reveal_answer. It does not explicitly contrast with sibling tools like search_faa_knowledge or get_lesson, so it stops short of full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_curriculumList the curriculumA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleNoOptional module key to expand, e.g. "MOD-08". Omit for all modules.

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 knowledgeA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many passages to return (1-8, default 4).
queryYesThe user's question, in their own words.

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 1 tool update
    • Addedcheck_answer
  2. 4 tool updates
    • First observedget_lesson
    • First observedget_practice_question
    • First observedlist_curriculum
    • First observedsearch_faa_knowledge

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to query a cited, read-only reference on US commercial glass and glazing through tools for topic browsing, keyword search, insulating-glass performance filtering, coated-glass and aluminum-framing "or equal" cross-references, code limits, and early-stage budget ranges. Every answer returns topic and section citations with confidence tags.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with intelligent access to ML textbook content for creating accurate, source-grounded documentation using local models for privacy and cost efficiency.
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources