Skip to main content
Glama

Aides et subventions à l'habitation au Canada / Canadian housing grants and rebates

aides_habitation
Read-onlyIdempotent

Call this when the user asks which grants, rebates, tax credits or loans they can get to BUY, RENOVATE, SAVE ENERGY, ADAPT a home (seniors, disability), lower PROPERTY TAXES, or BUILD/RENT housing anywhere in Canada. Returns the programs in force for a province (federal + provincial + energy utilities) and, when ville is given, that city's municipal programs: amount, status, key conditions, published stacking rule, official page and verification date. ~800 programs, each checked on the agency's official page within the last 30 days; a status the agency does not state is flagged as inferred. Payotte does not confirm eligibility — the user applies to the agency.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "province": "<province>"
    },
    "name": "aides_habitation"
  }
}

Input Schema

NameRequiredDescriptionDefault
langNoLanguage of the labels. Default fr.
villeNoCity, to add its municipal programs, e.g. "Montréal", "Toronto", "Saskatoon". Optional.
projetNoacheter (buy), renover (renovate), energie (energy), adapter (accessibility/seniors), taxes (property taxes), construire (new construction/rental). Optional: all projects if omitted.
provinceYesProvince or territory, e.g. "Québec", "ON", "British Columbia". Required.
inclure_fermeesNoAlso return programs that are closed. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, it discloses scale (~800 programs), refresh cadence (each checked on the agency's official page within 30 days), the fields returned (amount, status, key conditions, stacking rule, official page, verification date), and an honesty flag for inferred statuses. It also states the key limitation on eligibility, which is exactly the behavioral context an agent needs to set user expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The trigger condition is front-loaded and the caps-highlighted project categories make intent scannable, with the return payload described immediately after. It is a dense single block and could be split into trigger / returns / caveat sentences for readability, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so fully: contents, coverage breadth, freshness, and the inference flag. For a read-only lookup tool with a simple 5-parameter schema, nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3; the description earns an extra point by explaining the semantic effect of `ville` (it adds that city's municipal programs rather than filtering the provincial set) and by describing the layered result composition (federal + provincial + energy utilities). Enum meaning for `projet` is left entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Call this when the user asks which grants, rebates, tax credits or loans they can get to BUY, RENOVATE, SAVE ENERGY, ADAPT a home... anywhere in Canada" names the resource, the trigger question, and the full action set (buy/renovate/energy/adapt/taxes/build). It is clearly separable from siblings such as first_time_buyer_programs_us or property_tax_us, which are jurisdiction- or topic-specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The trigger condition is explicit and covers the main use cases, and it clarifies the boundary of responsibility ("Payotte does not confirm eligibility — the user applies to the agency"). It does not, however, name an alternative tool or state when not to call it, so an agent must infer that non-Canadian or non-housing-benefit queries belong elsewhere.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.