OathReady: Canadian Citizenship Test
Server Details
Canadian citizenship test practice: verified questions, mock tests, IRCC stats, eligibility tools.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
11 toolscalculate_presenceCalculate physical presenceARead-onlyIdempotentInspect
Calculate physical presence 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.
| Name | Required | Description | Default |
|---|---|---|---|
| pr_date | Yes | Date the person became a permanent resident | |
| absences | No | Trips outside Canada (departure and return days count as present) | |
| application_date | No | Planned application date (defaults to today) | |
| temporary_resident_from | No | In Canada since this date as a temporary resident/protected person, if any |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| pr_days | Yes | |
| eligible | Yes | |
| pre_pr_credit | Yes | |
| required_days | Yes | |
| shortfall_days | Yes | |
| full_calculator | Yes | |
| pre_pr_credit_cap | Yes | |
| total_credited_days | Yes | |
| pre_pr_physical_days | Yes | |
| absence_days_deducted | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true and idempotentHint=true, and the description adds behavioral details: returns eligibility and shortfall, dates in YYYY-MM-DD, and the estimate nature. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the core purpose, and each sentence adds value. It is appropriately sized with no unnecessary words.
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 the complexity (legal rule, multiple parameters, output schema), the description covers the essentials: calculation rule, date format, output (eligibility and shortfall), and a link to the full calculator. It is fairly complete.
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 baseline is 3. The description does not add parameter-specific meaning beyond the schema but provides overall context (date format, rule details). This is adequate.
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 clearly states the tool calculates physical presence for Canadian citizenship eligibility with specific details (1,095-days rule, half-day credit). It uses a specific verb and resource, distinguishing it from sibling tools like get_citizenship_stats or get_journey_stats.
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 provides context for usage (eligibility estimation) and includes a disclaimer that it's not legal advice. However, it does not explicitly state when not to use it or mention alternatives among sibling tools, though none are directly related.
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 answerARead-onlyIdempotentInspect
Look up a bank question 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.
| Name | Required | Description | Default |
|---|---|---|---|
| answer | No | The user's answer to grade, if they have one | |
| language | No | Language the answer (and question_text, if given) is written in; grading compares against that language's text | |
| question_id | No | The question id, e.g. q-042 (exact match) | |
| question_text | No | The question as the user remembers it (fuzzy matched); used when no id is given |
Output Schema
| Name | Required | Description |
|---|---|---|
| question | Yes | |
| web_page | Yes | |
| explanation | Yes | |
| question_id | Yes | |
| correct_answer | Yes | |
| match_confidence | Yes | |
| your_answer_correct | Yes | null when no answer was provided to grade |
| other_possible_matches | Yes | Runner-up matches when the text match was not certain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety. Description adds the dual-identification mode and optional grading, but does not elaborate on behavior when both identifiers are given or fuzzy matching details. Adds some value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first captures purpose and parameters, second adds usage context. No filler, front-loaded, every sentence serves a purpose.
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?
With an output schema present, the description does not need to explain return values. It covers core functionality and typical uses. Lacks mention of error handling when no identifier is provided or no match found, but overall adequate for a simple tool with good annotations.
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 descriptions fully cover all 4 parameters, so baseline is 3. The description adds value by clarifying the 'exact ID vs fuzzy text' distinction and mentioning alternate phrasings for fuzzy matching, which is not in the schema.
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 clearly states the tool looks up a bank question and optionally grades an answer, with two specific identification methods (exact ID or fuzzy text). Title 'Check or look up an answer' reinforces this. No sibling tool overlaps with this functionality.
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?
Two concrete use cases are given: grading long after fetching a question, or looking up a half-remembered question. This provides clear context, though no explicit exclusion or alternative tool references are provided.
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 statisticsARead-onlyIdempotentInspect
Official IRCC statistics on new Canadian citizens: 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 when using these numbers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| cite | Yes | |
| source | Yes | |
| monthly | Yes | |
| retrieved | Yes | |
| year_totals | Yes | |
| latest_full_year | Yes | |
| top_countries_of_birth | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds useful behavioral details: data is rounded to the nearest 5, sourced from IRCC open data under a specific license, and requires citation. This goes beyond the annotations without contradicting them.
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 purpose, and includes only essential information (source, rounding, citation). Every sentence earns its place.
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 zero parameters, an output schema presumably covers return values, and annotations cover safety, the description is fully complete. It specifies data rounding and citation, which are critical for correct use.
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?
There are no parameters, so the baseline is 4. The description does not need to explain parameters, and no additional semantics beyond the schema are necessary.
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 clearly states it retrieves official IRCC statistics on new Canadian citizens, specifying monthly counts, yearly totals, and top countries of birth. It is highly specific and distinct from 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?
The description provides context about the data source and citation requirement but does not explicitly guide when to use this tool over alternatives like get_journey_stats. Usage is implied but lacks direct comparisons or exclusions.
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 ChallengeARead-onlyIdempotentInspect
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 (streaks and the daily leaderboard live there).
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | 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) |
Output Schema
| Name | Required | Description |
|---|---|---|
| web_page | Yes | |
| questions | Yes | |
| challenge_number | Yes | Today's challenge number (#1 = launch day) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds behavioral context beyond annotations: rollover at midnight UTC, same questions for everyone, and the shared nature. No contradiction with readOnlyHint and idempotentHint (both accurate).
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?
Front-loaded with core purpose, but includes a lengthy instruction block. While every sentence is relevant, it could be slightly more concise. Still well-structured and easy to parse.
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 the output schema exists, the description covers timing, usage, and behavior thoroughly. It provides all necessary context for an agent to use the tool correctly without needing external details.
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?
The single language parameter has 100% schema coverage. The description adds value by clarifying that the same five questions are returned regardless of language, and untranslated ones fall back to English. This goes beyond the schema's enum and description.
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 clearly states the tool returns the shared set of 5 citizenship questions with answer keys and explanations. It distinguishes from siblings like get_practice_question or get_mock_test by emphasizing the daily, communal nature and the specific quizmaster role.
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 instructs the agent to act as quizmaster: present one question at a time, never reveal answers before user commits, and give score as N/5. It also suggests directing users to the website for streaks/leaderboard, providing an alternative.
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 timelinesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| stages | Yes | |
| web_page | Yes | |
| community | Yes | null until enough journeys are shared |
| official_processing_time | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly and idempotent behavior; description adds context about community contributions and privacy thresholds, complementing structured data well.
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 concise sentences front-load key information with no wasted words, earning a top score.
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 the presence of an output schema, the description sufficiently explains the tool's data source and content, covering the needed context.
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?
No parameters exist, so baseline 4 applies; description correctly avoids unnecessary detail, and schema coverage is 100%.
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 clearly specifies the tool provides citizenship journey timelines, including official IRCC processing time and anonymous community medians, distinguishing it from siblings like get_citizenship_stats.
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 implies usage for timeline data and mentions data limitations (cohorts under 5 not published), but does not explicitly state when to use versus alternatives.
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 testARead-onlyInspect
Get a full mock Canadian citizenship test: a set of questions 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.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | How many questions (real test is 20) | |
| topic | No | Limit to one study topic | |
| language | No | Language for the question text (default English; French draws only from translated questions) | |
| province | No | Include region-specific questions for this province or territory |
Output Schema
| Name | Required | Description |
|---|---|---|
| pass_mark | Yes | |
| questions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, consistent with a fetch operation. The description adds valuable behavioral context: the tool returns answer keys and explanations, and instructs the AI to never reveal answers prematurely. This goes beyond the basic annotation and helps the agent use the tool responsibly.
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 a compact three sentences with front-loaded purpose and key details. The third sentence is slightly prescriptive but earns its place by guiding quiz flow. No unnecessary words, though it could be trimmed without losing clarity.
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 the tool has four optional parameters, an output schema, and a well-defined mock test scenario, the description covers the essentials: test format, pass mark, return content, and usage instructions. It is complete enough for an agent to understand what to expect and how to present results.
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?
All four parameters have schema descriptions (100% coverage), so the description adds only modest value: it ties the default count to the real test size and implies that topic/language/province are optional filters. No parameter-specific details are provided beyond the schema, placing this at the baseline of 3.
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 clearly states it retrieves a full mock test with answer keys and explanations, using specific details like 20 questions and pass mark 15. However, it does not explicitly distinguish this tool from siblings like 'get_practice_question' or 'get_daily_challenge', missing a chance to clarify when to use each.
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 instructs the AI to act as quizmaster and present questions one at a time, which is helpful usage guidance. However, it does not provide explicit when-to-use or when-not-to-use advice relative to sibling tools, leaving the agent to infer context.
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 guideARead-onlyIdempotentInspect
What happens at 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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| bring | Yes | |
| formats | Yes | |
| web_page | Yes | |
| oath_text | Yes | |
| dress_code | Yes | |
| oath_notes | Yes | |
| what_happens | Yes | |
| after_the_ceremony | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint as true. The description adds no behavioral traits beyond stating it is 'verified against official IRCC guidance,' which builds trust but does not contradict annotations. Adequate for a read-only informational tool.
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, efficiently front-loaded with the core purpose ('What happens at the Canadian citizenship oath ceremony'). Every sentence adds value: first sentence lists content, second notes verification. No wasted words.
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 parameters, existing output schema, and annotations, the description fully covers what the tool does. It specifies scope, content, and verification source. No additional information is needed for an agent to use 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?
No parameters are defined in the input schema (schema coverage 100% trivially). The description compensates by explaining the tool's purpose and content, providing meaning beyond the empty schema. Baseline 4 per guidelines for 0 parameters.
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 clearly states the tool provides information about the Canadian citizenship oath ceremony, including specific topics like oath text, what to bring, and ceremony flow. It distinguishes itself from sibling tools (e.g., get_study_guide, get_test_info) by focusing on the oath ceremony.
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?
No explicit guidance on when to use this tool versus alternatives. The context of sibling tools and the specific topic imply usage for oath ceremony info, but no direct comparisons or exclusions are stated.
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-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Limit to one study topic | |
| language | No | Language for the question text (default English; French draws only from translated questions) | |
| province | No | Include region-specific questions for this province or territory |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Stable question id, e.g. q-042 |
| topic | Yes | |
| source | Yes | |
| options | Yes | Answer choices in display order |
| language | Yes | BCP 47 language this item is written in ("en" | "fr") |
| question | Yes | |
| web_page | Yes | This question's page on oathready.ca |
| explanation | Yes | |
| correct_answer | Yes | Do not reveal until the user has answered |
TDQS
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.
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.
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.
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.
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.
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 guideARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | The study topic |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| topic | Yes | |
| overview | Yes | |
| web_page | Yes | |
| key_facts | Yes | |
| practice_questions_in_topic | Yes |
TDQS
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.
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.
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.
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.
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.
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 guideARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| before | Yes | |
| during | Yes | |
| web_page | Yes | |
| recent_reports | Yes | |
| online_test_facts | Yes | |
| recently_hot_topics | Yes |
TDQS
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.
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.
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.
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.
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.
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 factsARead-onlyIdempotentInspect
Key facts about the Canadian citizenship test and oath: format, pass mark, who must take it, how scheduling works, and what happens at the ceremony. Verified against official IRCC sources.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| oath | Yes | |
| test | Yes | |
| practice | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so no additional safety disclosure needed. The description adds that content is verified against official IRCC sources, which implies reliability but does not add behavioral traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first front-loads the key topics, second adds credibility. No wasted words, appropriate length for an info tool.
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?
Tool has output schema, so return structure is covered. Description lists included topics sufficiently. Could hint at whether output is a summary or detailed, but given simplicity, it is mostly complete.
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?
No parameters exist; schema coverage is 100% (empty). The description compensates by detailing the topics covered (format, pass mark, etc.), providing meaningful context for what the tool returns.
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?
Description clearly states the tool returns key facts about the Canadian citizenship test and oath, listing specific topics like format, pass mark, scheduling, and ceremony. It distinguishes itself from siblings (e.g., get_mock_test, get_oath_guide) by focusing on general facts rather than specific practice or guidance.
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?
No explicit when-to-use or when-not-to-use guidance. The description implies it is for general factual reference, but does not direct the agent away from using more specific sibling tools like get_mock_test or get_oath_guide when appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Practice questions, exam facts & study guides for professional certification exams.
Verified Canadian real-estate pros + housing data: prices, rates, land-transfer tax, rent-vs-buy.
Free dofollow backlinks for Canadian businesses. Claim, verify, and track NFC tap analytics.
UPSC prep: interactive quizzes, previous-year questions, daily current affairs, cited study search
Related MCP Servers
- AlicenseBqualityDmaintenanceRetrieves and explains government program information from official Canadian sources using a strict retrieval-first approach, with deterministic eligibility checks and full source attribution.614MIT
- AlicenseNot gradedqualityCmaintenanceProvides access to Canadian federal election data, enabling queries about ridings, parties, vote shares, and close races for the 2021 and 2025 elections.2MIT
- FlicenseNot gradedqualityNot gradedmaintenanceProvides access to Canadian federal parliamentary data (debates, bills, MPs, votes, Hansard transcripts) and legal information (case law and legislation through CanLII) for research and analysis.3
- AlicenseNot gradedqualityFmaintenanceProvides access to Statistics Canada official statistics without authentication, enabling AI agents to query Canadian economic and demographic data.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool has a clearly distinct purpose: presence calculation, question lookup/grading, stats, daily challenge, journey stats, mock test, oath guide, practice question, study guide, test day guide, and test info. Even the three question-providing tools (get_daily_challenge, get_mock_test, get_practice_question) are well-differentiated by format and intent.
All tool names follow a consistent verb_noun pattern in snake_case, with most starting with 'get_' (e.g., get_daily_challenge, get_mock_test) and two exceptions (calculate_presence, check_answer) that still adhere to the same verb_noun structure. No mixed conventions.
11 tools is well-scoped for the Canadian citizenship test domain. It covers eligibility calculation, multiple question formats, statistics, guides, and test-day information without being overwhelming or sparse.
The tool surface covers the entire lifecycle: eligibility check (calculate_presence), study resources (practice questions, mock tests, study guide, daily challenge), reference info (test info, oath guide, test day guide), statistics, and a question-answer lookup tool. No obvious gaps for the stated purpose.