OathReady: Canadian Citizenship Test
What this MCP does
Provides Canadian citizenship test practice, mock exams, study guides, eligibility calculations, ceremony information, and related IRCC statistics.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pr_date'], 'properties': {'pr_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Date the person became a permanent resident'}, 'absences': {'type': 'array', 'items': {'type': 'object', 'required': ['from', 'to'], 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Day they returned'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Day they left Canada'}}}, 'default': [], 'description': 'Trips outside Canada (departure and return days count as present)'}, 'application_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Planned application date (defaults to today)'}, 'temporary_resident_from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'In Canada since this date as a temporary resident/protected person, if any'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['required_days', 'pr_days', 'pre_pr_physical_days', 'pre_pr_credit', 'pre_pr_credit_cap', 'total_credited_days', 'absence_days_deducted', 'eligible', 'shortfall_days', 'note', 'full_calculator'], 'properties': {'note': {'type': 'string'}, 'pr_days': {'type': 'number'}, 'eligible': {'type': 'boolean'}, 'pre_pr_credit': {'type': 'number'}, 'required_days': {'type': 'number'}, 'shortfall_days': {'type': 'number'}, 'full_calculator': {'type': 'string'}, 'pre_pr_credit_cap': {'type': 'number'}, 'total_credited_days': {'type': 'number'}, 'pre_pr_physical_days': {'type': 'number'}, 'absence_days_deducted': {'type': 'number'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'answer': {'type': 'string', 'description': "The user's answer to grade, if they have one"}, 'language': {'enum': ['en', 'fr'], 'type': 'string', 'description': "Language the answer (and question_text, if given) is written in; grading compares against that language's text"}, 'question_id': {'type': 'string', 'description': 'The question id, e.g. q-042 (exact match)'}, 'question_text': {'type': 'string', 'description': 'The question as the user remembers it (fuzzy matched); used when no id is given'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['match_confidence', 'question_id', 'question', 'your_answer_correct', 'correct_answer', 'explanation', 'web_page', 'other_possible_matches'], 'properties': {'question': {'type': 'string'}, 'web_page': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'explanation': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'question_id': {'type': 'string'}, 'correct_answer': {'type': 'string'}, 'match_confidence': {'enum': ['exact_id', 'high', 'medium', 'low'], 'type': 'string'}, 'your_answer_correct': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'null when no answer was provided to grade'}, 'other_possible_matches': {'type': 'array', 'items': {'type': 'object', 'required': ['question_id', 'question'], 'properties': {'question': {'type': 'string'}, 'question_id': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Runner-up matches when the text match was not certain'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['latest_full_year', 'year_totals', 'top_countries_of_birth', 'monthly', 'source', 'retrieved', 'cite'], 'properties': {'cite': {'type': 'string'}, 'source': {'type': 'array', 'items': {'type': 'string'}}, 'monthly': {'type': 'array', 'items': {'type': 'object', 'required': ['ym', 'count'], 'properties': {'ym': {'type': 'string'}, 'count': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'retrieved': {'type': 'string'}, 'year_totals': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'object', 'required': ['months', 'total'], 'properties': {'total': {'type': 'number'}, 'months': {'type': 'number'}}, 'additionalProperties': False}}, 'latest_full_year': {'type': 'string'}, 'top_countries_of_birth': {'type': 'object', 'required': ['year', 'rows'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['country', 'count'], 'properties': {'count': {'type': 'number'}, 'country': {'type': 'string'}}, 'additionalProperties': False}}, 'year': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'language': {'enum': ['en', 'fr'], 'type': 'string', '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)'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['challenge_number', 'web_page', 'questions'], 'properties': {'web_page': {'type': 'string'}, 'questions': {'type': 'array', 'items': {'type': 'object', 'required': ['language', 'id', 'question', 'options', 'correct_answer', 'explanation', 'topic', 'source', 'web_page'], 'properties': {'id': {'type': 'string', 'description': 'Stable question id, e.g. q-042'}, 'topic': {'type': 'string'}, 'source': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Answer choices in display order'}, 'language': {'type': 'string', 'description': 'BCP 47 language this item is written in ("en" | "fr")'}, 'question': {'type': 'string'}, 'web_page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "This question's page on oathready.ca"}, 'explanation': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'correct_answer': {'type': 'string', 'description': 'Do not reveal until the user has answered'}}, 'additionalProperties': False}}, 'challenge_number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': "Today's challenge number (#1 = launch day)"}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['official_processing_time', 'community', 'stages', 'web_page', 'cite'], 'properties': {'cite': {'type': 'string'}, 'stages': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label', 'description'], 'properties': {'key': {'type': 'string'}, 'label': {'type': 'string'}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'web_page': {'type': 'string'}, 'community': {'anyOf': [{'type': 'object', 'required': ['shared_journeys', 'national_stages', 'note'], 'properties': {'note': {'type': 'string'}, 'national_stages': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'object', 'required': ['n', 'p25_days_from_application', 'median_days_from_application', 'p75_days_from_application'], 'properties': {'n': {'type': 'number'}, 'p25_days_from_application': {'type': 'number'}, 'p75_days_from_application': {'type': 'number'}, 'median_days_from_application': {'type': 'number'}}, 'additionalProperties': False}}, 'shared_journeys': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'null until enough journeys are shared'}, 'official_processing_time': {'type': 'object', 'required': ['total_months', 'as_of', 'source'], 'properties': {'as_of': {'type': 'string'}, 'source': {'type': 'string'}, 'total_months': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'count': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'How many questions (real test is 20)'}, 'topic': {'enum': ['history', 'government', 'geography', 'rights', 'symbols', 'economy', 'law'], 'type': 'string', 'description': 'Limit to one study topic'}, 'language': {'enum': ['en', 'fr'], 'type': 'string', 'description': 'Language for the question text (default English; French draws only from translated questions)'}, 'province': {'enum': ['british-columbia', 'alberta', 'saskatchewan', 'manitoba', 'ontario', 'quebec', 'new-brunswick', 'nova-scotia', 'prince-edward-island', 'newfoundland-and-labrador', 'yukon', 'northwest-territories', 'nunavut'], 'type': 'string', 'description': 'Include region-specific questions for this province or territory'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pass_mark', 'questions'], 'properties': {'pass_mark': {'type': 'string'}, 'questions': {'type': 'array', 'items': {'type': 'object', 'required': ['language', 'id', 'question', 'options', 'correct_answer', 'explanation', 'topic', 'source', 'web_page'], 'properties': {'id': {'type': 'string', 'description': 'Stable question id, e.g. q-042'}, 'topic': {'type': 'string'}, 'source': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Answer choices in display order'}, 'language': {'type': 'string', 'description': 'BCP 47 language this item is written in ("en" | "fr")'}, 'question': {'type': 'string'}, 'web_page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "This question's page on oathready.ca"}, 'explanation': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'correct_answer': {'type': 'string', 'description': 'Do not reveal until the user has answered'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['oath_text', 'oath_notes', 'bring', 'what_happens', 'formats', 'dress_code', 'after_the_ceremony', 'web_page'], 'properties': {'bring': {'type': 'array', 'items': {'type': 'string'}}, 'formats': {'type': 'object', 'required': ['video', 'in_person'], 'properties': {'video': {'type': 'string'}, 'in_person': {'type': 'string'}}, 'additionalProperties': False}, 'web_page': {'type': 'string'}, 'oath_text': {'type': 'string'}, 'dress_code': {'type': 'string'}, 'oath_notes': {'type': 'string'}, 'what_happens': {'type': 'array', 'items': {'type': 'string'}}, 'after_the_ceremony': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'topic': {'enum': ['history', 'government', 'geography', 'rights', 'symbols', 'economy', 'law'], 'type': 'string', 'description': 'Limit to one study topic'}, 'language': {'enum': ['en', 'fr'], 'type': 'string', 'description': 'Language for the question text (default English; French draws only from translated questions)'}, 'province': {'enum': ['british-columbia', 'alberta', 'saskatchewan', 'manitoba', 'ontario', 'quebec', 'new-brunswick', 'nova-scotia', 'prince-edward-island', 'newfoundland-and-labrador', 'yukon', 'northwest-territories', 'nunavut'], 'type': 'string', 'description': 'Include region-specific questions for this province or territory'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['language', 'id', 'question', 'options', 'correct_answer', 'explanation', 'topic', 'source', 'web_page'], 'properties': {'id': {'type': 'string', 'description': 'Stable question id, e.g. q-042'}, 'topic': {'type': 'string'}, 'source': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Answer choices in display order'}, 'language': {'type': 'string', 'description': 'BCP 47 language this item is written in ("en" | "fr")'}, 'question': {'type': 'string'}, 'web_page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "This question's page on oathready.ca"}, 'explanation': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'correct_answer': {'type': 'string', 'description': 'Do not reveal until the user has answered'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['topic'], 'properties': {'topic': {'enum': ['history', 'government', 'geography', 'rights', 'symbols', 'economy', 'law'], 'type': 'string', 'description': 'The study topic'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['topic', 'title', 'overview', 'key_facts', 'practice_questions_in_topic', 'web_page'], 'properties': {'title': {'type': 'string'}, 'topic': {'type': 'string'}, 'overview': {'type': 'array', 'items': {'type': 'string'}}, 'web_page': {'type': 'string'}, 'key_facts': {'type': 'array', 'items': {'type': 'string'}}, 'practice_questions_in_topic': {'type': 'number'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['before', 'during', 'online_test_facts', 'recently_hot_topics', 'recent_reports', 'web_page'], 'properties': {'before': {'type': 'array', 'items': {'type': 'string'}}, 'during': {'type': 'array', 'items': {'type': 'string'}}, 'web_page': {'type': 'string'}, 'recent_reports': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'outcome', 'format', 'province', 'difficulty', 'hot_topics', 'tip'], 'properties': {'tip': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'date': {'type': 'string'}, 'format': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'outcome': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'province': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'difficulty': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'hot_topics': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'online_test_facts': {'type': 'array', 'items': {'type': 'string'}}, 'recently_hot_topics': {'type': 'array', 'items': {'type': 'object', 'required': ['topic', 'count'], 'properties': {'count': {'type': 'number'}, 'topic': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['test', 'oath', 'practice'], 'properties': {'oath': {'type': 'object', 'required': ['what', 'guide'], 'properties': {'what': {'type': 'string'}, 'guide': {'type': 'string'}}, 'additionalProperties': False}, 'test': {'type': 'object', 'required': ['format', 'pass_mark', 'who', 'based_on', 'scheduling', 'languages'], 'properties': {'who': {'type': 'string'}, 'format': {'type': 'string'}, 'based_on': {'type': 'string'}, 'languages': {'type': 'string'}, 'pass_mark': {'type': 'string'}, 'scheduling': {'type': 'string'}}, 'additionalProperties': False}, 'practice': {'type': 'object', 'required': ['free_practice', 'question_bank', 'statistics'], 'properties': {'statistics': {'type': 'string'}, 'free_practice': {'type': 'string'}, 'question_bank': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Recent tool changes
Similar MCP servers
MaCalculatriceEnLigne
Provides calculators for French and Belgian taxes, salaries, pensions, VAT, loans, health metrics, education scores, fitness, and…
HiveLearn
Creates and manages courses, lessons, quizzes, enrollments, learning tracks, events, certificates, resources, progress, and commu…
concordance
Provides deterministic claim verification and audit receipts, along with Bible references, commentary, geography, indexed knowled…
opportunity-exchange
Provides governed Saskatchewan labor-market, wage, housing, community-economy, workforce-pathway, procurement, and business-readi…
Lodi Kids Activities
Searches and manages a directory of youth programs, family events, and licensed daycares in Lodi, California, including listings,…
optionality-mcp
Generates options-trading scenarios, records trading journals, provides AI evaluations and hints, and tracks user performance and…
ClusterHack
Supports hackathon operations including events, registrations, teams, submissions, judging, schedules, companies and leaderboards.
The Ainglish Project
Maintains a measured, auditable register of language constructs, proposals, evidence, adoption, contributors, protocols, and rati…