OathReady for developers and AI assistants

Everything on OathReady is available to build with, for free: a public MCP server so AI assistants can run real practice sessions, a terminal quiz you can run with npx, an llms.txt map of the site, an embeddable question widget, and a shared Anki deck. All of it draws on the same verified bank of 574 questions based on the official Discover Canada study guide.

10 toolsNo auth, no API keyFree foreverRead-only and stateless
For AI assistants

MCP server

A remote Model Context Protocol server over streamable HTTP. Connect it to Claude, ChatGPT, Cursor, or any MCP client and ask for a mock test, a study session, or your eligibility dates.

Endpoint
https://oathready.ca/api/mcp
Official registry name
ca.oathready/citizenship-test

Read-only, stateless, and safe: every tool only reads public study content and aggregate statistics. Nothing to install, no key to create.

Set it up in your AI app

  1. 1On claude.ai or the desktop app, open Settings, then Connectors.
  2. 2Choose Add custom connector.
  3. 3Name it OathReady and paste the endpoint URL:
https://oathready.ca/api/mcp

Custom connectors are available on paid Claude plans. Once added, enable it from the tools menu in any chat.

Try it

Once connected, ask in plain language. A few prompts that exercise the tools well:

  • “Run me through a 10-question mock citizenship test, one question at a time.”
  • “Quiz me on Canadian history until I get five right in a row.”
  • “I became a PR on March 3, 2024. When can I apply for citizenship?”
  • “My citizenship test is next week. What are recent test-takers reporting?”
  • “There was a question about who the Fathers of Confederation were. What was the answer?”

The tools

get_practice_question

One random question from the verified bank, with options, answer key, and explanation. Filters: topic, province.

get_daily_challenge

Today's Daily Challenge: the same 5 questions everyone gets that day, with answer keys so the assistant can run it as quizmaster.

get_mock_test

A full mock test in the real exam format (20 questions, pass mark 15), with answer keys so the assistant can run it as quizmaster.

check_answer

Look up a question by id or by half-remembered text (fuzzy matched) and optionally grade an answer against it.

get_study_guide

The study-guide content for one topic: overview plus the bite-size facts most commonly tested.

get_journey_stats

How long the citizenship journey takes: official IRCC processing time plus anonymous community medians per milestone.

get_oath_guide

The oath text, what to bring, how the ceremony unfolds, and first steps as a new citizen.

get_test_day_guide

Practical test-day guidance plus live, anonymous reports from recent test-takers and the topics they saw most.

get_citizenship_stats

Official IRCC statistics on new citizens: monthly counts, yearly totals, top countries of birth.

calculate_presence

Physical presence for eligibility: the 1,095-days-in-5-years rule, including the pre-PR half-day credit.

get_test_info

Key verified facts about the test and oath: format, pass mark, who must take it, how scheduling works.

Answer keys are returned to the model on purpose: the assistant is the quizmaster, and the tool descriptions instruct it not to reveal answers before the user commits. Community data (journey timelines, test-day reports) is anonymous and only published above a minimum cohort size.

For your terminal

Terminal CLI

The whole practice experience in your terminal: mock tests, flashcards, a shared daily question, and the full browsable bank. Zero dependencies, about 44 KB, and the questions ship inside the package, so everything runs offline. No network, no analytics, no accounts; the only file it writes is ~/.oathready.json, which keeps your streak and best score on your own disk.

Run it (needs Node 18+)
npx oathready
  OathReady  20-question mock · pass mark 15/20

Question 1/20 · History

Who was Canada's first Prime Minister?

  ❯ A. Sir John A. Macdonald
    B. Sir Wilfrid Laurier
    C. Sir George-Etienne Cartier
    D. Sir Louis-Hippolyte La Fontaine

  Correct!
  Sir John A. Macdonald became the first Prime Minister of the
  Dominion of Canada in 1867.

Install

The only prerequisite is Node.js 18 or newer. Check what you have first:

Anything that prints v18.0.0 or higher is good to go.
node -v
Run without installing (recommended)

npx comes with Node.js and runs the latest version straight from npm, nothing to manage or update:

npx oathready
Or install globally

If you run it every day, a global install gives you the bare oathready command and a faster start:

npm install -g oathready

Update later with npm update -g oathready, remove with npm uninstall -g oathready.

No Node.js, or stuck below 18?

Any of these gets you a current LTS version. If node -v still shows the old version afterwards, open a new terminal window.

macOS (Homebrew):
brew install node
Windows (winget, or grab the installer from nodejs.org):
winget install OpenJS.NodeJS.LTS
Linux: your distro's package may be old, so the nodejs.org instructions or a version manager are safer:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
nvm install --lts

Already using a version manager (nvm, fnm, volta, mise)? Then it is just nvm install --lts (or your tool's equivalent) and you are set. Corporate machine without install rights? npx inside an existing Node 18+ devcontainer or CI image works exactly the same.

Commands

npx oathready

The default: a 20-question mock test in the real exam format, pass mark 15/20. Arrow or letter keys, instant explanation after every answer, PASS or NOT YET at the end.

npx oathready daily

The question of the day. Everyone on Earth gets the same one (a day index into the shared pool, no server involved), so it works as a tiny daily ritual with your team or study group.

npx oathready flashcards

Flip-card study: read the question, any key reveals the answer and explanation, then grade yourself. Cards you miss are shuffled back into the deck until you clear them.

npx oathready one

A single random question. Perfect for a shell alias or a terminal greeting.

npx oathready list

Prints the entire bank with answers marked and explanations, built for piping: less to browse, grep to find that one question about Vimy Ridge.

Options and keys

Options (combine with any command)
--topic <slug>
Narrow any command to one topic: history, government, geography, rights, symbols, economy, law.
--count <n>
Questions in a mock or cards in a deck (default 20).
--no-color
Plain output. The NO_COLOR environment variable is respected too, and piped output is always plain.
-h, --help
Full usage, including the privacy notes.
-v, --version
Version.
Keys
↑ ↓ or j k
Move the selection
Enter
Answer with the selected option
a b c d or 1 2 3 4
Answer directly
any key
Flip the current flashcard
y / n
Flashcards: knew it / show me again
q or Esc
Quit (your streak is already saved)

Composable on purpose: oathready --topic law --count 5 for a quick drill, oathready list | grep -A5 Vimy to look something up, oathready one in your shell profile for a question with every new terminal. Piped input works too, so you can even script it.

For websites and crawlers

More ways to plug in

llms.txt

A concise, LLM-friendly map of the site with verified key facts and links to every major page, following the llms.txt convention.

oathready.ca/llms.txt

Embed widget

A live practice question for any website in one iframe snippet: light and dark themes, random or question-of-the-day modes, topic and province filters. No cookies, no tracking.

Get the widget

Anki deck

Hundreds of questions from the federal bank as a free shared deck on AnkiWeb: interactive cards that grade your pick when you flip, tagged by topic, with an explanation on every card. Works in Anki desktop and the mobile apps.

Get the deck on AnkiWeb

Attribution and contact

Question content is original work verified against Discover Canada. Statistics are IRCC open data (Open Government Licence, Canada). When citing, link the specific OathReady page. Questions, ideas, or something broken? Write to support@oathready.ca.