Fonciq pour le Registre foncier et zones inondables (Fonciq for Québec land registry & flood zones)
ca.fonciq/fonciqfonciq.castreamable-httpv1.0.2Scanned
Zones inondables gratuites, outils Fonciq. Indépendant, non affilié au Registre foncier ni au MRNF
14 tools: 5 change things and 9 only read.
- Reads private data · 2
- Reads text others write · 5
- Can send data out · 1
- No findings
Anlyon alternative
5 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
14 tools
Changes things 5Claude Code: ask
acte_getPOST /v1/actes.Reads text others writeNo findings
Why it is in this group
- The name "acte_get" says "get": a word for reading.
- The description's first verb is "post": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it POST /v1/actes. Returns the PDF of one deed by registration number and circonscription foncière when Fonciq holds it (no Registre fee then); a missing deed fails closed. The full structured deed analysis is « Bientôt » and is not offered here. / Renvoie le PDF d’un acte conservé par numéro d’inscription et circonscription ; un acte absent échoue de façon fermée. L’analyse structurée complète est « Bientôt » et n’est pas offerte ici. Scope registre:write. idempotency_key is sent as the Idempotency-Key header (kept 24 h; a retry with the same key returns the stored answer). idempotency_key est transmis dans l’en-tête Idempotency-Key (conservé 24 h). Billing: identical to the HTTP route. Requires your own Fonciq API key in the Authorization header (Bearer fq_live_… or fq_test_…). Only documents are billed: each index, acte or plan returned on a live key costs 0,99 $ excluant frais du registre; fq_test_ keys and 4xx/5xx responses cost 0. Facturation : identique à la route HTTP. Exige votre propre clé d’API Fonciq dans l’en-tête Authorization. Seuls les documents sont facturés : chaque index, acte ou plan livré sur une clé réelle coûte 0,99 $ excluant frais du registre ; une clé fq_test_ et une réponse 4xx/5xx coûtent 0.
Annotations the server declares
- title: Deed / Acte
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
batch_submitPOST /v1/batches.Reads text others writeNo findings
Why it is in this group
- The name "batch_submit" says "submit": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it POST /v1/batches. Queues an index for up to 500 lots, spread across your active Registre accounts unless one is pinned. Each lot is one index. / Met en file un index pour au plus 500 lots. Scope batches:write. idempotency_key is sent as the Idempotency-Key header (kept 24 h; a retry with the same key returns the stored answer). idempotency_key est transmis dans l’en-tête Idempotency-Key (conservé 24 h). Billing: identical to the HTTP route. Requires your own Fonciq API key in the Authorization header (Bearer fq_live_… or fq_test_…). Only documents are billed: each index, acte or plan returned on a live key costs 0,99 $ excluant frais du registre; fq_test_ keys and 4xx/5xx responses cost 0. Facturation : identique à la route HTTP. Exige votre propre clé d’API Fonciq dans l’en-tête Authorization. Seuls les documents sont facturés : chaque index, acte ou plan livré sur une clé réelle coûte 0,99 $ excluant frais du registre ; une clé fq_test_ et une réponse 4xx/5xx coûtent 0. The Registre foncier bills its own 1,50 $ to your Registre account when it is consulted; Fonciq does not collect it. Le Registre foncier facture ses propres frais de 1,50 $ à votre compte du Registre lorsqu’il est consulté ; Fonciq ne les perçoit pas.
Annotations the server declares
- title: Batch / Lot groupé
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
plan_getPOST /v1/plans.Reads text others writeNo findings
Why it is in this group
- The name "plan_get" says "get": a word for reading.
- The description's first verb is "post": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it POST /v1/plans. Cadastral plan of one lot (Cadastre du Québec). A stored plan has no Registre fee; other cadastres fail closed. / Plan cadastral d’un lot (Cadastre du Québec) ; un plan conservé n’entraîne pas de frais du Registre. Scope registre:write. idempotency_key is sent as the Idempotency-Key header (kept 24 h; a retry with the same key returns the stored answer). idempotency_key est transmis dans l’en-tête Idempotency-Key (conservé 24 h). Billing: identical to the HTTP route. Requires your own Fonciq API key in the Authorization header (Bearer fq_live_… or fq_test_…). Only documents are billed: each index, acte or plan returned on a live key costs 0,99 $ excluant frais du registre; fq_test_ keys and 4xx/5xx responses cost 0. Facturation : identique à la route HTTP. Exige votre propre clé d’API Fonciq dans l’en-tête Authorization. Seuls les documents sont facturés : chaque index, acte ou plan livré sur une clé réelle coûte 0,99 $ excluant frais du registre ; une clé fq_test_ et une réponse 4xx/5xx coûtent 0. The Registre foncier bills its own 1,50 $ to your Registre account when it is consulted; Fonciq does not collect it. Le Registre foncier facture ses propres frais de 1,50 $ à votre compte du Registre lorsqu’il est consulté ; Fonciq ne les perçoit pas.
Annotations the server declares
- title: Cadastral plan / Plan cadastral
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
registre_index_requestPOST /v1/registre/requests.Reads text others writeNo findings
Why it is in this group
- The name "registre_index_request" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it POST /v1/registre/requests. Queues an index of immovables (index des immeubles) for one lot on your organization’s own Registre foncier account; returns job_id, then poll job_get. / Met en file un index des immeubles pour un lot sur le compte du Registre de votre organisation. Scope registre:write. idempotency_key is sent as the Idempotency-Key header (kept 24 h; a retry with the same key returns the stored answer). idempotency_key est transmis dans l’en-tête Idempotency-Key (conservé 24 h). Billing: identical to the HTTP route. Requires your own Fonciq API key in the Authorization header (Bearer fq_live_… or fq_test_…). Only documents are billed: each index, acte or plan returned on a live key costs 0,99 $ excluant frais du registre; fq_test_ keys and 4xx/5xx responses cost 0. Facturation : identique à la route HTTP. Exige votre propre clé d’API Fonciq dans l’en-tête Authorization. Seuls les documents sont facturés : chaque index, acte ou plan livré sur une clé réelle coûte 0,99 $ excluant frais du registre ; une clé fq_test_ et une réponse 4xx/5xx coûtent 0. The Registre foncier bills its own 1,50 $ to your Registre account when it is consulted; Fonciq does not collect it. Le Registre foncier facture ses propres frais de 1,50 $ à votre compte du Registre lorsqu’il est consulté ; Fonciq ne les perçoit pas. An index always consults the Registre. / L’index consulte toujours le Registre.
Annotations the server declares
- title: Order index / Commander un index
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
watch_createPOST /v1/watches.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "watch_create" says "create": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it POST /v1/watches. Scheduled re-check of a lot’s index (weekly or daily) against a baseline snapshot, with a webhook to your url. The Registre has no push feed. / Revérification planifiée de l’index d’un lot, avec webhook. Scope watches:write. idempotency_key is sent as the Idempotency-Key header (kept 24 h; a retry with the same key returns the stored answer). idempotency_key est transmis dans l’en-tête Idempotency-Key (conservé 24 h). Billing: identical to the HTTP route. Requires your own Fonciq API key in the Authorization header (Bearer fq_live_… or fq_test_…). Creating the watch is not billed (0 $). Each index the watch pulls later is a document: 0,99 $ excluant frais du registre on a live key. Facturation : identique à la route HTTP. Exige votre propre clé d’API Fonciq dans l’en-tête Authorization. Créer la surveillance n’est pas facturé (0 $). Chaque index tiré ensuite par la surveillance est un document : 0,99 $ excluant frais du registre sur une clé réelle. The Registre foncier bills its own 1,50 $ to your Registre account when it is consulted; Fonciq does not collect it. Le Registre foncier facture ses propres frais de 1,50 $ à votre compte du Registre lorsqu’il est consulté ; Fonciq ne les perçoit pas.
Annotations the server declares
- title: Watch / Surveillance
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 9Show 9 read-only tools
billing_getGET /v1/billing.No findings
Why it is in this group
- The name "billing_get" says "get": a word for reading.
Description, as the server wrote it GET /v1/billing. Estimated Registre foncier fees charged to each connected account for a period (Fonciq’s own pull log; no portal statement is read). Not Fonciq platform billing. / Frais du Registre estimés par compte et par période ; pas la facturation Fonciq. Scope billing:read. Billing reads cost 0. Requires your own Fonciq API key (Authorization: Bearer …). Les lectures de facturation coûtent 0. Exige votre propre clé d’API Fonciq.
Annotations the server declares
- title: Registre fees / Frais du Registre
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
billing_usageGET /v1/billing/usage.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it GET /v1/billing/usage. The documents behind GET /v1/billing, one line per pull, paginated. / Les documents derrière GET /v1/billing, une ligne par tirage. Scope billing:read. Billing reads cost 0. Requires your own Fonciq API key (Authorization: Bearer …). Les lectures de facturation coûtent 0. Exige votre propre clé d’API Fonciq.
Annotations the server declares
- title: Registre fee lines / Lignes de frais
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
document_entriesGET /v1/documents/{id}/entries.Reads private dataNo findings
Why it is in this group
- The description's first verb is "get": a word for reading.
What it can reach
- private-dataThe name "document_entries" says "document": it reads documents.
- private-dataThe description's first sentence says "get" and "document": it reads documents.
Description, as the server wrote it GET /v1/documents/{id}/entries. Stored parsed lines of one index document. / Lignes conservées d’un index. Scope jobs:read. Billing: identical to the HTTP route. Requires your own Fonciq API key in the Authorization header (Bearer fq_live_… or fq_test_…). This call returns no new document and is not billed (0 $). Facturation : identique à la route HTTP. Exige votre propre clé d’API Fonciq dans l’en-tête Authorization. Cet appel ne livre pas de nouveau document et n’est pas facturé (0 $).
Annotations the server declares
- title: Index lines / Lignes d’index
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
document_getGET /v1/documents/{id}.Reads private dataNo findings
Why it is in this group
- The name "document_get" says "get": a word for reading.
What it can reach
- private-dataThe name "document_get" says "get" and "document": it reads documents.
- private-dataThe description's first sentence says "get" and "document": it reads documents.
Description, as the server wrote it GET /v1/documents/{id}. PDF of an index or a deed produced for your organization, returned as an embedded application/pdf resource (base64). / PDF d’un index ou d’un acte, en ressource intégrée. Scope jobs:read. Billing: identical to the HTTP route. Requires your own Fonciq API key in the Authorization header (Bearer fq_live_… or fq_test_…). This call returns no new document and is not billed (0 $). Facturation : identique à la route HTTP. Exige votre propre clé d’API Fonciq dans l’en-tête Authorization. Cet appel ne livre pas de nouveau document et n’est pas facturé (0 $).
Annotations the server declares
- title: Document PDF
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
flood_zones_lookupFREE, no API key.No findings
Why it is in this group
- The name "flood_zones_lookup" says "lookup": a word for reading.
Description, as the server wrote it FREE, no API key. Checks which of 9 open Québec flood-zone sources (BDZI, flood-zone presence grid, the historical 2017-2019 ZIS, Gatineau, Québec, Sherbrooke, Montréal) intersect a point. Give exactly one of: lat+lon, address (Québec civic address, matched to the Référentiel québécois des adresses) or lot (lot number, answered on its RQA address points). Returns the zones at the point, the source zone type, the distance to the nearest zone, CC BY 4.0 attribution per source and a disclaimer. A no-hit means "No zone found at this point", never that a property is outside a flood zone; the lot boundary is not evaluated. These are old-generation and indicative maps; new-generation maps (in force by sector since March 1, 2026) are not included, so each answer links to the official Québec map to confirm. The 2017-2019 ZIS was lifted in 2022 and is shown as historical, never rated high. Limits: 30 requests/min and 1000/day per IP, shared with the HTTP endpoint. Docs: https://fonciq.ca/api-gratuite/zones-inondables. GRATUIT, sans clé. Indique quelles zones inondables de 9 sources ouvertes touchent un point, une adresse ou un lot ; distance à la zone la plus proche, attribution CC BY 4.0 et avertissement. Une absence de résultat signifie « Aucune zone trouvée à ce point », jamais qu’une propriété est hors zone inondable ; la limite du lot n’est pas évaluée. Cartographie d’ancienne génération et couches indicatives ; la nouvelle génération n’est pas incluse : chaque réponse renvoie à la carte interactive officielle du gouvernement du Québec. La ZIS 2017-2019, levée en 2022, est historique. Information indicative seulement, pas une attestation officielle.
Annotations the server declares
- title: Flood zones (free) / Zones inondables (gratuit)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
job_getGET /v1/jobs/{id}.No findings
Why it is in this group
- The name "job_get" says "get": a word for reading.
Description, as the server wrote it GET /v1/jobs/{id}. Status, documents, result (result.index or result.indexes) and the daily index capacity of each account used. / État, documents, résultat et capacité du jour. Scope jobs:read. Billing: identical to the HTTP route. Requires your own Fonciq API key in the Authorization header (Bearer fq_live_… or fq_test_…). This call returns no new document and is not billed (0 $). Facturation : identique à la route HTTP. Exige votre propre clé d’API Fonciq dans l’en-tête Authorization. Cet appel ne livre pas de nouveau document et n’est pas facturé (0 $).
Annotations the server declares
- title: Job / Tâche
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
job_resultsGET /v1/jobs/{id}/results.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it GET /v1/jobs/{id}/results. Parsed index lines of a finished job (JSON, one block per lot). The index PDF remains the source of record. / Lignes d’index analysées ; le PDF d’index fait foi. Scope jobs:read. Billing: identical to the HTTP route. Requires your own Fonciq API key in the Authorization header (Bearer fq_live_… or fq_test_…). This call returns no new document and is not billed (0 $). Facturation : identique à la route HTTP. Exige votre propre clé d’API Fonciq dans l’en-tête Authorization. Cet appel ne livre pas de nouveau document et n’est pas facturé (0 $).
Annotations the server declares
- title: Job results / Résultats
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
lot_getGET /v1/lots/{lot}.No findings
Why it is in this group
- The name "lot_get" says "get": a word for reading.
Description, as the server wrote it GET /v1/lots/{lot}. Stored profile of a Québec lot: cadastre, assessment-roll value in cents and stored index lines (registre.entries). Does not pull a new index. / Fiche conservée d’un lot : cadastre, évaluation du rôle et lignes d’index conservées ; ne tire pas d’index. Scope lots:read. Billing: identical to the HTTP route. Requires your own Fonciq API key in the Authorization header (Bearer fq_live_… or fq_test_…). This call returns no new document and is not billed (0 $). Facturation : identique à la route HTTP. Exige votre propre clé d’API Fonciq dans l’en-tête Authorization. Cet appel ne livre pas de nouveau document et n’est pas facturé (0 $).
Annotations the server declares
- title: Lot profile / Fiche de lot
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
lot_resolveGET /v1/lots/resolve.No findings
Why it is in this group
- The name "lot_resolve" says "resolve": a word for reading.
Description, as the server wrote it GET /v1/lots/resolve. Resolves a Québec address or a property-assessment matricule to lot number(s), cadastre and matricule, from the municipal assessment rolls. Give address or matricule. / Résout une adresse ou un matricule en numéros de lot à partir des rôles d’évaluation foncière. Scope lots:read. Billing: identical to the HTTP route. Requires your own Fonciq API key in the Authorization header (Bearer fq_live_… or fq_test_…). This call returns no new document and is not billed (0 $). Facturation : identique à la route HTTP. Exige votre propre clé d’API Fonciq dans l’en-tête Authorization. Cet appel ne livre pas de nouveau document et n’est pas facturé (0 $).
Annotations the server declares
- title: Resolve lot / Résoudre un lot
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
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.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
10 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.
- Reads private data2
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write5
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out1
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
{
"permissions": {
"deny": [
"mcp__fonciq__watch_create"
]
}
}Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
No check matched anything in these tool definitions. That is not a safety guarantee.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.0.2. Values in angle brackets are yours to fill in.
claude mcp add --transport http fonciq https://api.fonciq.ca/v1/mcpclaude mcp add --transport http fonciq https://api.fonciq.ca/v1/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__fonciq__flood_zones_lookup",
"mcp__fonciq__lot_resolve",
"mcp__fonciq__lot_get",
"mcp__fonciq__job_get",
"mcp__fonciq__job_results",
"mcp__fonciq__document_get",
"mcp__fonciq__document_entries",
"mcp__fonciq__billing_get",
"mcp__fonciq__billing_usage"
],
"ask": [
"mcp__fonciq__registre_index_request",
"mcp__fonciq__acte_get",
"mcp__fonciq__plan_get",
"mcp__fonciq__batch_submit",
"mcp__fonciq__watch_create"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as fonciq. Review it before you use it.
Capability tags behind 7 rules
- mcp__fonciq__registre_index_request untrusted-input
- mcp__fonciq__acte_get untrusted-input
- mcp__fonciq__plan_get untrusted-input
- mcp__fonciq__document_get private-data
- mcp__fonciq__document_entries private-data
- mcp__fonciq__batch_submit untrusted-input
- mcp__fonciq__watch_create untrusted-input, outbound
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/ca.fonciq/fonciq/verify?hash=d55999ea6dfab8e6fa7e43633dfb7babae4e3e05d270f2eb04bd8073ae4b9b38" | jq -e '.changed == false'Pinned hash d55999ea6dfa, from Oct 31, 2026, 19:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/ca.fonciq/fonciq/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/ca.fonciq/fonciq)Source: MCP Registry. Synced Oct 31, 2026, 20:17 UTC.