Skip to content

CELPass: CELPIP practice and CRS calculator

by celpass.com · remote · no sign-in to list tools · v1.3.0 · published by com.celpass

CELPIP practice questions with answers, sample answers, and Canada's November 2026 CRS calculator.

Changes · 2

5 tools: 2 change things and 3 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http celpip https://celpass.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "check_celpip_answers" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "mark": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

5 tools

Changes things 2Claude Code: ask
  • calculate_crs_november_2026Estimate the CRS points an Express Entry candidate gains on November 3, 2026, when Canadian work experience becomes the Labour Market Integration factor: unchanged work-length poin…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimate the CRS points an Express Entry candidate gains on November 3, 2026, when Canadian work experience becomes the Labour Market Integration factor: unchanged work-length points plus 70/40/20 extra points after 12+ months in a 2×/1.5×/1.3× high-wage occupation, or 100/70/50 points for a job offer in one (no LMIA needed), whichever is higher, never both. Max 150 (140 with a spouse). Give NOC codes; the tool looks up each occupation's level on IRCC's list. Only this factor changes.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_celpip_answersMark a learner's answers to a Reading or Listening item from get_celpip_practice_question: returns the score, the correct letter for each question and an explanation of why each op…1 finding

    Why it is in this group

    • The description's first verb is "mark": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "check_celpip_answers" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "mark": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Mark a learner's answers to a Reading or Listening item from get_celpip_practice_question: returns the score, the correct letter for each question and an explanation of why each option is right or wrong.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
Only reads 3Claude Code: allow
  • find_high_wage_occupationSearch IRCC's high-wage occupation list (in effect November 3, 2026; 186 NOC 2021 codes) by job title words or NOC code.No findings

    Why it is in this group

    • The name "find_high_wage_occupation" says "find": a word for reading.
    Description, as the server wrote it
    Search IRCC's high-wage occupation list (in effect November 3, 2026; 186 NOC 2021 codes) by job title words or NOC code. Returns each match's level (2×, 1.5× or 1.3× the average median wage) and the CRS points it earns. An occupation that isn't listed earns no high-wage or job offer points.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_celpip_practice_questionGet one random CELPIP practice item from CELPass in the real test format.No findings

    Why it is in this group

    • The name "get_celpip_practice_question" says "get": a word for reading.
    Description, as the server wrote it
    Get one random CELPIP practice item from CELPass in the real test format. Reading (parts 1–4): a passage or diagram with multiple-choice questions and fill-in blanks shown as ____(n). Listening (parts 1–6): the questions plus a listen_url where the learner plays the recording (no transcript). Speaking (parts 1–8): the task, any picture, and the preparation and speaking times. Writing (tasks 1–2): the email or survey task with its time limit and word count. No answers are included: mark Reading and Listening with check_celpip_answers, and compare Speaking and Writing with get_celpip_sample_answers. Each day has a new set of items (3 per part), the same for everyone; calls return a random one from today's set.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: false
  • get_celpip_sample_answersSample answers at several CELPIP levels (4–5, 7–8, 9–10, 11–12) for a Speaking or Writing task from get_celpip_practice_question, with how CELPIP rates it.No findings

    Why it is in this group

    • The name "get_celpip_sample_answers" says "get": a word for reading.
    Description, as the server wrote it
    Sample answers at several CELPIP levels (4–5, 7–8, 9–10, 11–12) for a Speaking or Writing task from get_celpip_practice_question, with how CELPIP rates it. Use them to give the learner feedback on their own answer.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http celpip https://celpass.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__celpip__find_high_wage_occupation",
      "mcp__celpip__get_celpip_practice_question",
      "mcp__celpip__get_celpip_sample_answers"
    ],
    "ask": [
      "mcp__celpip__calculate_crs_november_2026",
      "mcp__celpip__check_celpip_answers"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as celpip. Review it before you use it.