Skip to main content
Glama

OathReady: Canadian Citizenship Test

Server Details

Canadian citizenship test practice: verified questions, mock tests, IRCC stats, eligibility tools.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 38 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 11 tools

Disambiguation5/5

Every tool has a clearly distinct purpose: presence calculation, question grading, statistics, daily challenge, journey stats, mock test, oath guide, practice question, study guide, test day guide, and test info. While there are several 'get_*' guides, their descriptions clearly differentiate them (oath ceremony vs. study topic vs. practical day guidance vs. general test facts). No two tools appear to do the same thing.

Naming Consistency5/5

All tool names follow a consistent snake_case convention with a leading verb (calculate_, check_, get_). The vast majority are get_* plus a descriptive noun, making the pattern predictable. The only non-get tools (calculate_presence and check_answer) still follow the same verb-first pattern, so naming is highly consistent.

Tool Count5/5

With 11 tools, the server is well-scoped for a citizenship test preparation service. Each tool covers a distinct function (study, practice, mock tests, statistics, guides, calculators) without redundancy. The count is within the ideal range and every tool earns its place.

Completeness5/5

The tool surface comprehensively covers the domain: studying (get_study_guide), practicing (get_practice_question, get_mock_test, get_daily_challenge), answering questions (check_answer), test logistics (get_test_info, get_test_day_guide), the oath ceremony (get_oath_guide), eligibility (calculate_presence), and statistics (get_citizenship_stats, get_journey_stats). No obvious gaps exist; a user can get information, practice, and feedback without dead ends.

Available Tools

11 tools
calculate_presenceCalculate physical presenceA
Read-onlyIdempotent
Inspect

OathReady's physical-presence calculator for Canadian citizenship eligibility (the 1,095-days-in-5-years rule, including the pre-PR half-day credit capped at 365). Dates are YYYY-MM-DD. Returns eligibility as of the application date plus any shortfall. This is an estimate, not legal advice; the full interactive calculator is at https://oathready.ca/presence-calculator?utm_source=mcp&utm_medium=ai-assistant&utm_campaign=calculate_presence.

ParametersJSON Schema
NameRequiredDescriptionDefault
pr_dateYesDate the person became a permanent resident
absencesNoTrips outside Canada (departure and return days count as present)
application_dateNoPlanned application date (defaults to today)
temporary_resident_fromNoIn Canada since this date as a temporary resident/protected person, if any

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
pr_daysYes
eligibleYes
pre_pr_creditYes
required_daysYes
shortfall_daysYes
full_calculatorYes
pre_pr_credit_capYes
total_credited_daysYes
pre_pr_physical_daysYes
absence_days_deductedYes

TDQS

A4.5/5.0
Behavior4/5

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

Read-only/idempotent annotations already cover safety, and the description adds meaningful behavior: it returns eligibility plus any shortfall, it is an estimate rather than legal advice, and it points to the full interactive calculator. No contradiction with 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?

Three sentences front-load the core purpose and rule, then cover input/output and the legal caveat. The long tracking URL is the only slightly heavy element, but every sentence earns its place.

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?

Given the output schema exists and the four parameters are fully documented in the input schema, the description supplies all significant context: the legal rule, date format, return semantics, and an explicit disclaimer. Nothing an agent needs to invoke it successfully is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds interpretive value beyond the schema: 'pre-PR half-day credit capped at 365' explains how temporary_resident_from is used and why the calculation is not just post-PR days. This compensates for the schema's terse parameter descriptions.

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/resource ('physical-presence calculator for Canadian citizenship eligibility') and names the exact statutory rule (1,095 days in 5 years) plus the pre-PR half-day credit. This makes it unmistakable among the sibling tools, none of which are presence calculators.

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 gives clear context for when to invoke it: to compute physical-presence eligibility for Canadian citizenship, with results as of the application date and shortfall. It does not explicitly spell out when-not-to-use or name alternatives, so it stops short of a 5, but the sibling list has no competing calculator.

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

check_answerCheck or look up an answerA
Read-onlyIdempotent
Inspect

Look up a question in OathReady's verified bank and optionally grade an answer to it. Accepts a question id (exact) OR remembered question text (fuzzy matched against all questions and their alternate phrasings). Typical uses: grading long after a question was fetched, or a user half-remembering a question from their real test and wanting the verified answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
answerNoThe user's answer to grade, if they have one
languageNoLanguage the answer (and question_text, if given) is written in; grading compares against that language's text
question_idNoThe question id, e.g. q-042 (exact match)
question_textNoThe question as the user remembers it (fuzzy matched); used when no id is given

Output Schema

ParametersJSON Schema
NameRequiredDescription
questionYes
web_pageYes
explanationYes
question_idYes
correct_answerYes
match_confidenceYes
your_answer_correctYesnull when no answer was provided to grade
other_possible_matchesYesRunner-up matches when the text match was not certain

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 and idempotentHint=true, so the agent knows it's a safe read operation. The description adds valuable behavioral context: it explains the exact vs. fuzzy matching modes and that grading compares against the specified language's text. It does not contradict any annotation. It doesn't mention edge cases like what happens if both question_id and question_text are supplied, but that is a minor gap.

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 with no redundant wording. It front-loads the core action and then gives typical use cases. Every clause adds information; there is no fluff or repetition of the title.

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?

Given the tool's moderate complexity (4 optional params, fuzzy matching, grading), the description covers the essential behaviors and use cases. The output schema exists, so return details are handled elsewhere. It might benefit from clarifying behavior when both question_id and question_text are provided, but the current text is adequate for correct invocation.

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

Parameters4/5

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

Schema description coverage is 100%, so each parameter is already documented. The description adds important relational semantics: it explains that question_id is exact while question_text is fuzzy matched, and that language determines which language's text is used for grading. This goes beyond the individual parameter descriptions and clarifies how the parameters interact.

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 clearly states the tool's purpose: look up a question in OathReady's verified bank and optionally grade an answer. It specifies the verb (look up, grade), the resource (verified bank), and the two modes (exact id or fuzzy text). It is clearly distinct from the sibling get_* tools, which retrieve content rather than grade or look up answers.

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 provides explicit typical use cases: 'grading long after a question was fetched' and 'a user half-remembering a question... wanting the verified answer.' This tells the agent when to use it. However, it does not explicitly contrast it with sibling tools (e.g., 'use this instead of get_practice_question when grading'), so the when-not-to-use is implicit rather than stated.

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

get_citizenship_statsGet new-citizen statisticsA
Read-onlyIdempotent
Inspect

Official IRCC statistics on new Canadian citizens, compiled by OathReady: monthly counts, yearly totals, and top countries of birth. Source: IRCC open data (Open Government Licence - Canada), rounded to the nearest 5. Cite https://oathready.ca/citizenship-statistics?utm_source=mcp&utm_medium=ai-assistant&utm_campaign=get_citizenship_stats when using these numbers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
citeYes
sourceYes
monthlyYes
retrievedYes
year_totalsYes
latest_full_yearYes
top_countries_of_birthYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds valuable context: data source (IRCC open data), licensing (Open Government Licence - Canada), rounding behavior (nearest 5), and citation requirements. This goes beyond what annotations provide.

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

Conciseness4/5

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

The description is compact and front-loaded with the core purpose. The citation URL is somewhat long but serves a functional purpose. Every sentence adds value: what data, from where, under what license, and how to cite.

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 zero-parameter read-only tool with an output schema, the description is quite complete. It covers data source, licensing, rounding, and citation. The only minor gap is not describing the exact output structure, but the output schema presumably handles that.

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

Parameters4/5

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

The tool has zero parameters, so the schema is trivially complete. The description compensates by explaining what data will be returned (monthly counts, yearly totals, top countries of birth), which is the relevant semantic content for a no-parameter tool.

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 clearly states the tool provides official IRCC statistics on new Canadian citizens, with specific data types (monthly counts, yearly totals, top countries of birth). It distinguishes itself from sibling tools by focusing on citizenship statistics rather than study guides, practice questions, or journey stats.

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 implies this is a reference/statistics tool for citizenship data, distinct from the study/test tools in the sibling list. It doesn't explicitly state when not to use it, but the context of official statistics makes its use case clear. It also provides citation instructions, which is a form of usage guidance.

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

get_daily_challengeGet today's Daily ChallengeA
Read-onlyIdempotent
Inspect

OathReady's Daily Challenge: the same 5 citizenship questions for everyone, once per day (rolls over at midnight UTC for this API). Returns the shared set with answer keys and explanations. Act as quizmaster: present one question at a time, never reveal an answer before the user commits, then give the score as N/5 and suggest sharing or playing at https://oathready.ca/daily?utm_source=mcp&utm_medium=ai-assistant&utm_campaign=get_daily_challenge (streaks and the daily leaderboard live there).

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoLanguage for the question text. Every locale gets the SAME five questions; any without a translation are returned in English (each item declares its own language)

Output Schema

ParametersJSON Schema
NameRequiredDescription
web_pageYes
questionsYes
challenge_numberYesToday's challenge number (#1 = launch day)

TDQS

A4/5.0
Behavior4/5

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

Adds meaningful behavioral context beyond the readOnly/idempotent annotations: daily rollover at midnight UTC, identical questions for all users, English fallback for missing translations, and quizmaster interaction rules. These are not derivable from annotations alone.

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

Conciseness4/5

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

The description is well-structured and front-loaded with the core purpose, followed by behavioral instructions and a reference URL. The URL is long with tracking parameters but functional; every sentence contributes value without being overly verbose.

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 read-only tool with one optional, fully-documented parameter and an output schema, the description covers the essential operational details (rollover, language fallback, quizmaster workflow, external destination). Nothing an agent needs to invoke and handle the result correctly 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?

The main description does not discuss the language parameter; however, the input schema already provides 100% coverage with a clear description of language handling and fallback. Baseline of 3 applies since schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states it returns the shared Daily Challenge set of 5 citizenship questions with answer keys and explanations. It distinguishes itself from practice/mock tools by emphasizing 'same... for everyone, once per day', but does not explicitly name or contrast 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 Guidelines4/5

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

Provides clear context on how to present results (one question at a time, don't reveal answers, score as N/5, direct users to the site) which effectively guides agent behavior after invocation. However, it does not explicitly state when to choose this tool over alternatives like get_mock_test or get_practice_question.

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

get_journey_statsGet citizenship journey timelinesA
Read-onlyIdempotent
Inspect

How long the citizenship journey takes: the official IRCC processing time plus anonymous community medians (days from application to each milestone: AOR, test invitation, test, oath) contributed by OathReady users who share their journeys. Community cohorts under 5 journeys are never published. Rebuilt nightly; cite https://oathready.ca/citizenship-timeline?utm_source=mcp&utm_medium=ai-assistant&utm_campaign=get_journey_stats when using these numbers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
citeYes
stagesYes
web_pageYes
communityYesnull until enough journeys are shared
official_processing_timeYes

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the readOnly and idempotent annotations, the description adds valuable behavioral context: data is sourced from IRCC plus anonymous community contributions, cohorts under 5 are never published, results are rebuilt nightly, and attribution is required. This meaningfully informs an agent about freshness, privacy, and usage obligations.

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

Conciseness4/5

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

The description is compact and front-loaded with the core purpose ('How long the citizenship journey takes'), then adds essential context. The long citation URL adds length, but it is a necessary attribution requirement rather than fluff.

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 read-only, zero-parameter tool with an output schema and strong annotations, the description covers everything an agent needs: data sources, milestone definitions, privacy thresholds, freshness, and citation policy. Nothing critical is missing.

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

Parameters4/5

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

The tool has zero parameters, so parameter-level semantics are inherently minimal. With no input schema to clarify, the description adequately conveys the data scope and what the returned stats represent, though it doesn't describe output formatting since an output schema exists.

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

Purpose4/5

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

The description clearly states what the tool reports: citizenship journey timelines with official IRCC processing time plus community medians for milestones like AOR, test invitation, test, and oath. It does not explicitly contrast itself with sibling get_citizenship_stats, but the milestone-specific detail strongly implies the distinction.

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

Usage Guidelines2/5

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

The description does not state when to use this tool versus alternatives like get_citizenship_stats. It includes a citation instruction for using the numbers, but no guidance on tool selection, prerequisites, or scenarios where another tool would be more appropriate.

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

get_mock_testGet a full mock testA
Read-only
Inspect

Get a full mock Canadian citizenship test from OathReady's verified bank, in the real exam format (the real test is 20 questions, pass mark 15). Returns questions with answer keys and explanations. Act as quizmaster: present one question at a time, never reveal an answer before the user commits, keep score, and give a pass/fail verdict with 15/20 as the bar.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoHow many questions (real test is 20)
topicNoLimit to one study topic
languageNoLanguage for the question text (default English; French draws only from translated questions)
provinceNoInclude region-specific questions for this province or territory

Output Schema

ParametersJSON Schema
NameRequiredDescription
pass_markYes
questionsYes

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses detailed behavioral expectations: it returns questions with answer keys and explanations, and instructs the agent to act as quizmaster by presenting one question at a time, withholding answers until the user commits, keeping score, and applying the 15/20 pass bar. This is rich, actionable context beyond what annotations provide.

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 compact and front-loaded: the first sentence states the core purpose, the second notes the return contents, and the third gives clear operating instructions. Every sentence earns its place with no redundancy.

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?

Given the tool's simplicity, 4 optional parameters with full schema coverage, and an existing output schema, the description provides everything needed: what the tool returns, the exam format, the passing threshold, and how the agent should conduct the quiz. Nothing critical is missing for correct invocation and use.

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 baseline is 3. The description adds one parameter-related fact ('real test is 20 questions, pass mark 15') that reinforces the count default, but it does not add meaningful semantics for topic, language, or province beyond what the schema already describes.

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 and resource: 'Get a full mock Canadian citizenship test' from a verified bank in real exam format. It clearly differentiates from siblings like get_practice_question by emphasizing 'full mock test' and 'real exam format.'

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

Usage Guidelines3/5

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

The description gives clear context that this is for full mock tests in exam format, but does not explicitly name alternatives or state when not to use it. The usage is implied rather than directly stated, so it does not fully satisfy the when-to-use vs alternatives criterion.

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

get_oath_guideGet the oath ceremony guideA
Read-onlyIdempotent
Inspect

OathReady's guide to the Canadian citizenship oath ceremony: the oath text, what to bring, how the day unfolds (video and in-person), and first steps as a new citizen. Verified against official IRCC guidance.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
bringYes
formatsYes
web_pageYes
oath_textYes
dress_codeYes
oath_notesYes
what_happensYes
after_the_ceremonyYes

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 openWorldHint as false, so the safety profile is clear. The description adds useful contextual transparency by stating the content is verified against official IRCC guidance, which signals authority and currency. There are no destructive side effects or auth requirements to disclose for this no-parameter read-only tool.

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 and immediately states what the tool returns, followed by a structured list of content categories holanda. Every sentence contributes meaning, and the content is front-loaded without unnecessary prose.

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 no-parameter, read-only content retrieval tool with an output schema present, the description fully covers what the agent needs to know: the resource identity, content scope, and the authoritative source. Nothing essential is missing for selecting and invoking this tool correctly.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4 and the description does not need to explain parameter meaning. The input schema is empty, and the description focuses entirely on what the returned guide contains, which 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 clearly identifies the tool as OathReady's guide to the Canadian citizenship oath ceremony and enumerates its contents: oath text, what to bring, how the day unfolds, and first steps as a new citizen. This distinguishes it from sibling tools like get_study_guide and get_test_day_guide because it is specifically about the oath ceremony, not studying or the test day.

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

Usage Guidelines3/5

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

The description implies the tool should be used when a user needs information about the oath ceremony, especially given sibling tools cover study and test-day topics. However, it does not explicitly state when to choose this over alternatives or exclude other uses, so the guidance remains implied rather than explicit.

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-only
Inspect

Get one random Canadian citizenship test practice question from OathReady's verified bank (based on the official Discover Canada guide). Returns the question, shuffled options, the correct answer, and an explanation. Act as quizmaster: show the user ONLY the question and options, wait for their pick, then grade it and share the explanation.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoLimit to one study topic
languageNoLanguage for the question text (default English; French draws only from translated questions)
provinceNoInclude region-specific questions for this province or territory

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesStable question id, e.g. q-042
topicYes
sourceYes
optionsYesAnswer choices in display order
languageYesBCP 47 language this item is written in ("en" | "fr")
questionYes
web_pageYesThis question's page on oathready.ca
explanationYes
correct_answerYesDo not reveal until the user has answered

TDQS

A4.5/5.0
Behavior5/5

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

The description fully discloses the interactive behavior beyond the readOnlyHint annotation. It explains the expected flow (show, wait, grade, explain) and confirms the read-only nature. No contradictions with 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?

Three sentences: purpose, return content, and usage instruction. No fluff, front-loaded with the core action. Every sentence earns its place.

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?

The description covers the tool's purpose, return structure, and interactive usage. With an output schema present, the description is sufficient for an agent to understand the tool and use it correctly. All optional parameters are explained in the schema.

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?

The schema covers all three parameters with descriptions (topic, language, province). The tool description adds context about the source (OathReady's verified bank) and the quizmaster flow, but does not enhance parameter meaning beyond what the schema already provides. With 100% schema coverage, 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 clearly states the tool retrieves one random practice question from a verified bank, and specifies the quizmaster interaction pattern. It is distinct from siblings like get_mock_test or get_daily_challenge by focusing on a single question with an interactive flow.

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 gives explicit instructions on how to use the tool: show only question and options, wait for user pick, then grade and explain. This is a clear usage guideline. It does not explicitly compare to alternatives, but the context of sibling tools and the 'random' nature imply it is for isolated practice, not full tests.

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

get_study_guideGet a topic study guideA
Read-onlyIdempotent
Inspect

Get OathReady's study-guide content for one citizenship test topic: an overview and the bite-size facts most commonly tested, verified against the official Discover Canada guide.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesThe study topic

Output Schema

ParametersJSON Schema
NameRequiredDescription
titleYes
topicYes
overviewYes
web_pageYes
key_factsYes
practice_questions_in_topicYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and idempotentHint=true. The description adds a quality claim about being 'verified against the official Discover Canada guide' but does not disclose any behavioral aspects beyond what annotations provide. The bar is lowered due to annotations, and the description adds some value but not substantial behavioral context.

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

Conciseness4/5

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

The description is a single, well-structured sentence that front-loads the purpose. It is concise and clear, containing no redundant information. A slightly higher score would require even more efficiency or better organization, but it is already well-crafted.

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?

Given that an output schema exists, the description does not need to explain return values. It covers the basic purpose and quality of the content. However, given the complexity of the tool set with multiple sibling guides, it lacks usage guidance and could be more complete in directing the agent.

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 coverage is 100% with a single enum parameter 'topic' described as 'The study topic'. The description mentions 'topic' in context but does not add any additional meaning or constraints beyond the enum values listed in the schema. Baseline score of 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 clearly states the verb 'get', the resource 'study-guide content for one citizenship test topic', and specifies the content includes an overview and bite-size facts verified against an official guide. This distinguishes it from sibling tools like 'get_oath_guide' and 'get_mock_test'.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives such as 'get_oath_guide' or 'get_mock_test'. It fails to mention conditions, prerequisites, or exclusions, leaving the agent without context for selection.

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

get_test_day_guideGet the test day guideA
Read-only
Inspect

Practical guidance for Canadian citizenship test day, plus what recent test-takers actually reported: hot topics that came up a lot lately and short anonymous tips from real reports on OathReady.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
beforeYes
duringYes
web_pageYes
recent_reportsYes
online_test_factsYes
recently_hot_topicsYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, consistent with a retrieval tool. The description adds context about content (hot topics, tips) 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?

Single sentence, front-loaded with purpose, no redundancy.

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?

With no input parameters and an output schema, the description fully conveys what the tool returns.

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

Parameters4/5

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

No parameters exist; schema coverage is 100% trivially. Baseline score of 4 is appropriate for zero 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 clearly states the tool provides 'Practical guidance for Canadian citizenship test day' plus recent test-taker reports, distinguishing it from siblings like get_oath_guide or get_study_guide.

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

Usage Guidelines3/5

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

The description implies usage for test day guidance but does not explicitly state when to use or exclude alternatives.

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

get_test_infoGet test and oath factsA
Read-onlyIdempotent
Inspect

Key facts about the Canadian citizenship test and oath, from OathReady: format, pass mark, who must take it, how scheduling works, and what happens at the ceremony. Verified against official IRCC sources.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
oathYes
testYes
practiceYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds provenance ('Verified against official IRCC sources') and content scope, which is useful, but it does not disclose additional behavioral traits such as whether the facts are cached, how current they are, or any limitations on applicability.

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 a single, well-structured sentence that front-loads the core purpose, then lists concrete topics. The final sentence about IRCC verification adds trustworthiness without padding. No wasted words.

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 simple read-only, no-parameter tool with an output schema and strong annotations, the description is largely complete: it names the resource, the content areas, and the source. It could be more complete by clarifying how it differs from sibling tools, but that is a minor gap given the low complexity.

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

Parameters4/5

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

The tool has zero parameters and schema description coverage is 100%, so there is nothing for the description to add about parameter meanings. The baseline of 4 for a no-parameter tool is appropriate.

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

Purpose4/5

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

The description clearly names the resource ('Canadian citizenship test and oath') and enumerates the specific facts covered: format, pass mark, who must take it, scheduling, and ceremony. It is more specific than the title, but it does not explicitly distinguish itself from siblings like get_oath_guide or get_test_day_guide, which could overlap in scope.

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

Usage Guidelines3/5

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

The description implies usage: an agent should call this when a user needs key factual information about the citizenship test or oath, such as pass mark or ceremony details. However, it does not explicitly say when not to use it or mention alternatives like get_mock_test for practice or get_oath_guide for detailed ceremony 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
    • Changedget_journey_stats2 fields changed
      • addedOutput schema / properties / cite
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "official_processing_time",
        -  "community",
        -  "stages",
        -  "web_page"
        -]New value: +[
        +  "official_processing_time",
        +  "community",
        +  "stages",
        +  "web_page",
        +  "cite"
        +]
  2. 4 tool updates
    • Changedcheck_answer1 field changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Language the answer (and question_text, if given) is written in; grading compares against that language's text",
        +  "enum": [
        +    "en",
        +    "fr"
        +  ],
        +  "type": "string"
        +}
    • Changedget_daily_challenge3 fields changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Language for the question text. Every locale gets the SAME five questions; any without a translation are returned in English (each item declares its own language)",
        +  "enum": [
        +    "en",
        +    "fr"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / questions / items / properties / language
        Added value: +{
        +  "description": "BCP 47 language this item is written in (\"en\" | \"fr\")",
        +  "type": "string"
        +}
      • changedOutput schema / properties / questions / items / required
        Previous value: -[
        -  "id",
        -  "question",
        -  "options",
        -  "correct_answer",
        -  "explanation",
        -  "topic",
        -  "source",
        -  "web_page"
        -]New value: +[
        +  "language",
        +  "id",
        +  "question",
        +  "options",
        +  "correct_answer",
        +  "explanation",
        +  "topic",
        +  "source",
        +  "web_page"
        +]
    • Changedget_mock_test3 fields changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Language for the question text (default English; French draws only from translated questions)",
        +  "enum": [
        +    "en",
        +    "fr"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / questions / items / properties / language
        Added value: +{
        +  "description": "BCP 47 language this item is written in (\"en\" | \"fr\")",
        +  "type": "string"
        +}
      • changedOutput schema / properties / questions / items / required
        Previous value: -[
        -  "id",
        -  "question",
        -  "options",
        -  "correct_answer",
        -  "explanation",
        -  "topic",
        -  "source",
        -  "web_page"
        -]New value: +[
        +  "language",
        +  "id",
        +  "question",
        +  "options",
        +  "correct_answer",
        +  "explanation",
        +  "topic",
        +  "source",
        +  "web_page"
        +]
    • Changedget_practice_question3 fields changed
      • addedInput schema / properties / language
        Added value: +{
        +  "description": "Language for the question text (default English; French draws only from translated questions)",
        +  "enum": [
        +    "en",
        +    "fr"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / language
        Added value: +{
        +  "description": "BCP 47 language this item is written in (\"en\" | \"fr\")",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "id",
        -  "question",
        -  "options",
        -  "correct_answer",
        -  "explanation",
        -  "topic",
        -  "source",
        -  "web_page"
        -]New value: +[
        +  "language",
        +  "id",
        +  "question",
        +  "options",
        +  "correct_answer",
        +  "explanation",
        +  "topic",
        +  "source",
        +  "web_page"
        +]
  3. 1 tool update
    • Addedget_daily_challenge
  4. 10 tool updates
    • First observedcalculate_presence
    • First observedcheck_answer
    • First observedget_citizenship_stats
    • First observedget_journey_stats
    • First observedget_mock_test
    • First observedget_oath_guide
    • First observedget_practice_question
    • First observedget_study_guide
    • First observedget_test_day_guide
    • First observedget_test_info

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources