OINP Points Calculator (oinp.org)
Server Details
Unofficial OINP (Ontario OWP Stream) score estimates, scoring grid and CLB conversion.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
Each tool targets a clearly different action on the same domain: computing a score, converting language test results to CLB, and retrieving the raw scoring grid. There is no plausible overlap or misselection risk; the converter is an input helper, the grid is a reference, and the calculator is the computation.
All three tools follow a consistent snake_case verb_noun pattern (calculate_oinp_score, convert_language_test_to_clb, get_scoring_grid). The verbs are semantically accurate and predictable.
Three tools is the right size for a single-purpose calculator: compute, convert inputs, and expose the underlying grid. Each tool earns its place with no redundancy or filler.
The surface covers the core lifecycle: reference the grid, convert language scores, and calculate the EOI score with a breakdown. Minor gaps exist, such as reverse/target-score guidance (what points are needed to hit a cutoff) or scenario comparison, but agents can work around these by re-calling the calculator.
Available Tools
3 toolscalculate_oinp_scoreEstimate an OWP Stream EOI scoreARead-onlyIdempotentInspect
Estimates an Ontario Workforce Priority Stream Expression of Interest score from a profile, with a factor-by-factor breakdown. Omitted fields score 0. Unofficial estimate.
| Name | Required | Description | Default |
|---|---|---|---|
| clb | No | Lowest CLB level across the four abilities in the first official language | |
| teer | No | TEER of the NOC code (second digit), 0 to 5 | |
| wage | No | Hourly wage of the job offer in CAD (job-offer pathways only) | |
| region | No | Region of the job or practice location | |
| status | No | Current status in Canada | |
| pathway | Yes | Job offer in a TEER 0-3 occupation, job offer in a TEER 4-5 occupation, or self-employed physician | |
| category | No | Broad occupational category (first digit of the NOC code), 0 to 9 | |
| earnings | No | Highest Canadian earnings in one year in the last 5 years, per CRA Notice of Assessment | |
| education | No | Highest education credential | |
| practiceMonths | No | Physicians only: months of cumulative practice in Ontario | |
| monthsInOntario | No | Months of full-time (or part-time equivalent) work in Ontario | |
| monthsInPosition | No | Months of full-time work in the job-offer position | |
| secondLanguageClb6 | No | CLB 6 or higher in all four abilities in the other official language | |
| canadianCredentials | No | Canadian post-secondary credentials: 0, 1 or 2 (2 = more than one) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, read-only, idempotent, closed-world calculation, so the safety profile is covered. The description adds genuinely new behavior: the result is a factor-by-factor breakdown, missing fields default to a zero score rather than erroring, and the figure is an unofficial estimate rather than an authoritative determination. That last caveat matters for how an agent relays the output.
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 short sentences, zero filler, with purpose, output shape, default-scoring rule, and disclaimer in that order. Nothing needs trimming and nothing is buried.
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?
For a 14-parameter domain-specific calculator with no output schema, the definition covers what is needed: the framing (EOI estimate), the return shape (factor breakdown), and the omission rule. It does not state the scoring scale or maximum, and the per-pathway applicability of fields like wage and practiceMonths is left entirely to 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?
Schema coverage is 100%, so baseline is 3. The description nonetheless adds a cross-parameter rule the schema cannot express: omitted fields score 0, which tells the agent it may pass a partial profile and that absence is scored, not rejected.
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?
Names a specific verb and resource: estimates an Ontario Workforce Priority Stream EOI score from a profile. It also states the output shape (factor-by-factor breakdown), which distinguishes it from the sibling get_scoring_grid. It does not explicitly name or contrast the siblings, so it stops short of a 5.
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?
Usage is implied - supply a profile, omit unknown fields and they count as 0 - and the 'Unofficial estimate' caveat sets expectations. However, it never says when to use this versus get_scoring_grid, nor which pathway to pick for a given user, nor that pathway is the only required field.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_language_test_to_clbConvert language test scores to CLBBRead-onlyIdempotentInspect
Converts IELTS General Training, CELPIP-General, PTE Core, TEF Canada (either the Score / 699 or the Équivalence ancien score column) or TCF Canada ability scores to CLB levels using IRCC equivalency tables. The overall level is the lowest of the four.
| Name | Required | Description | Default |
|---|---|---|---|
| test | Yes | ielts = IELTS General Training; celpip = CELPIP-General; pte = PTE Core; tef = TEF Canada (Score / 699); tefAncien = TEF Canada (Équivalence ancien score); tcf = TCF Canada | |
| reading | Yes | ||
| writing | Yes | ||
| speaking | Yes | ||
| listening | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a read-only, idempotent, non-destructive, closed-world operation, so the safety bar is low. The description adds genuinely useful behavior beyond them: the conversion is based on IRCC equivalency tables and the reported overall level is the minimum of the four abilities, which an agent could not infer from the schema or 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 tight sentences with zero filler, and the conversion rule is front-loaded ahead of the aggregation note. The enumeration of test variants largely duplicates the `test` enum description in the schema, which is the only minor 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?
There is no output schema, so the description should say what comes back, yet it only hints that four per-ability levels plus an overall level exist and never states the return shape or format (e.g. numeric CLB vs a string). Combined with the undocumented input scales, meaningful gaps remain for a tool whose entire value is a precise conversion.
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 only 20%: the `test` enum is documented, but listening/reading/writing/speaking are bare numbers constrained only to 0-999. The description does not tell the agent the actual scale per test (IELTS bands vs CELPIP 0-12 vs PTE 0-90 vs TEF 0-699 vs TCF 0-20), so a caller can easily supply values on the wrong scale and get silently wrong CLB output.
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 opens with a specific verb and resource ("Converts ... ability scores to CLB levels") and enumerates the exact tests covered, so an agent knows precisely what computation happens. It does not reference the sibling tools (calculate_oinp_score, get_scoring_grid), but those serve clearly different purposes, so differentiation is implicit rather than stated.
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 applicable situation is implied: use it when you hold raw language-test scores and need CLB levels for an immigration-related workflow. However, there is no explicit when-to-use, no prerequisites (e.g. which test variants are accepted for which program), and no routing guidance relative to the sibling scoring tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scoring_gridGet the OWP Stream scoring gridARead-onlyIdempotentInspect
Returns every factor, band and point value of the Ontario Workforce Priority Stream EOI scoring grid, with the grid version, the date it was last checked against ontario.ca, and the official source URL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety and determinism profile is covered elsewhere. The description adds real value beyond that by disclosing provenance metadata returned with the data: grid version, the date it was last checked against ontario.ca, and the official source URL, which tells the agent how to judge freshness and authority of the figures.
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?
A single sentence with zero filler, front-loading the primary payload (factors, bands, point values) and then listing the supporting metadata. Nothing is repeated from the name or annotations, and nothing could be removed without losing information.
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?
There is no output schema, and the description compensates by enumerating the returned contents: all factors, bands, point values, plus version, last-checked date and source URL. For a zero-parameter read-only lookup tool, that is everything an agent needs before invoking it.
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 tool takes zero parameters, so there is no argument semantics to explain; the baseline for a no-param tool applies. The description correctly spends its words on what comes back rather than inventing parameter discussion.
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 uses a specific verb ('Returns') with a precisely scoped resource: every factor, band and point value of the Ontario Workforce Priority Stream EOI scoring grid. This clearly separates it in spirit from calculate_oinp_score (which computes a score rather than exposing the grid), but it never names a sibling tool, so it stops short of an explicit 5.
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?
Usage is only implied: an agent can infer it should call this to look up grid factors and point values, e.g. before or instead of running a calculation. There is no explicit when-to-use statement, no mention of when-not to use it, and no reference to calculate_oinp_score as the alternative when an actual score is needed.
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.
3 tool updates
- First observed
calculate_oinp_score - First observed
convert_language_test_to_clb - First observed
get_scoring_grid
Related MCP Connectors
Australian SkillSelect EOI, invitation, nomination and processing-time data. No raw data.
Canadian citizenship test practice: verified questions, mock tests, IRCC stats, eligibility tools.
Retirement planning for Canada & US. CPP/OAS, Social Security, RRSP/TFSA, 401k/IRA, Monte Carlo.
French tests and schools that count for Canadian PR.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search and explore Australian occupation codes (ANZSCO), visa pathways, state nominations, and SkillSelect invitation round data.MIT

cinderfi-mcpofficial
FlicenseNot gradedqualityDmaintenanceTax-aware retirement planning for Canada and the US. CPP/OAS and Social Security timing, RRSP/TFSA/401k/IRA projections, Monte Carlo simulation, withdrawal order optimization, and historical backtesting against 150 years of market data.2-- AlicenseCqualityBmaintenanceDeterministic Odoo ERP calculators: implementation, migration and upgrade cost, ROI and TCO, US/Canada/EU sales tax and VAT, Canadian payroll source deductions, and inventory maths (reorder point, safety stock, EOQ, landed cost, OEE). 24 tools, each a pure function, the numbers are arithmetic rather than a model's guess. Hosted remote server, no install and no API key; a stdio bridge is included24MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to run free, read-only calculators built on official government rules across Ireland, the UK, Canada, Québec, Australia and New Zealand, covering taxes, welfare benefits, pensions, property transaction taxes, parental leave and savings. Every result links the public calculator page and the official sources it relies on, so agents can cite them.-
Glama MCP Gateway
Add one secure layer between your agents and this server.