Skip to main content
Glama

Tolca: Québec contractor check

Server Details

Check Québec construction contractors against official registries in one call: active RBQ licence, RENA public-contract ban and environmental penalties. Clear verdict with dated sources. Free, read-only, no account.

Ownership verified
Status
Healthy
Uptime
99.9% over 23 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
Tolca

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation4/5

The three tools have largely distinct roles: company_profile is broad business research, qc_contractor_check is a deep four-source Québec verdict, and qc_licence is a fast single-source RBQ status lookup. There is some overlap because company_profile also mentions 'official screening (contractor licences, sanctions)', which could tempt an agent to use it instead of the dedicated Québec tools, but the descriptions explicitly direct agents to the right tool for RENA/environmental checks.

Naming Consistency4/5

All names are snake_case noun phrases, and the two Québec-specific tools share a clear qc_ prefix, giving a readable, predictable scheme. The only minor deviation is that company_profile lacks the qc_ prefix and uses a different noun ordering, but the convention is still easy to follow.

Tool Count4/5

Three tools is on the lean side, but each earns its place by covering a distinct depth/speed trade-off (broad profile, deep multi-registry verdict, quick licence lookup). The surface is well-scoped for a targeted Québec contractor-checking service.

Completeness4/5

The core lifecycle is covered: identify a company, verify RBQ licence, and screen against RENA, environmental penalties, and SEAO contracts with a verdict. Minor gaps exist — no batch/multi-contractor operation, no way to search or resolve a name to NEQ, and no historical or renewal tracking — but these are workarounds rather than dead ends.

Available Tools

3 tools
company_profileCompany profile from a website or nameA
Read-onlyIdempotent
Inspect

Get a company's profile in one call, read live from its own website plus official registries: what it does, industry, services, service area, address, phones and emails published by the company (each with the page it came from), social links, and official screening (company registries, contractor licences, US, UK, EU and Canadian sanctions lists). Use when the user asks who a company is, how to contact it, or wants to research a prospect, supplier or partner. Provide domain (preferred) or name, optional city and country. Businesses only, no personal data. Free with a shared daily quota.

NameRequiredDescriptionDefault
cityNo
langNo
nameNoCompany name, used to find the website when no domain is given
domainNoCompany website or domain, e.g. acme.com
countryNoISO 3166 alpha-2, e.g. CA, US

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive and open-world, so the safety profile is covered; the description adds genuinely new behavioral facts on top: a free tier governed by a shared daily quota and provenance per contact field (each value carries the page it came from). It also discloses data sourcing (live website plus official registries) and the businesses-only personal-data restriction.

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?

It is a single dense paragraph, but the output contents are front-loaded before usage and input guidance, so the reader hits the highest-value information first. It is on the long side and could be split, yet nearly every clause carries distinct information (outputs, triggers, inputs, scope, quota).

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

Completeness4/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 does the work of describing what comes back, including provenance for contact data and the screening sources, which is exactly what an agent needs. The gap is the undocumented lang enum parameter, which appears in neither the schema descriptions nor the prose, and no note on result size for companies with sparse web presence.

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 60%: name, domain and country are documented in the schema, while city and lang are not. The description compensates by stating that domain is preferred over name and that city and country are optional, which is real selection guidance beyond the schema. The lang parameter remains unexplained in both places.

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?

The description opens with a specific verb and resource ("Get a company's profile") and enumerates the concrete contents of the profile: what it does, industry, services, address, phones/emails with source pages, social links, and official registry/licence/sanctions screening. This is far more than a restatement of the name and lets an agent distinguish it from the Quebec-specific siblings qc_contractor_check and qc_licence.

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?

It names clear triggers ("when the user asks who a company is, how to contact it, or wants to research a prospect, supplier or partner") and gives the input preference ("domain (preferred) or name, optional city and country") plus a scope exclusion ("Businesses only, no personal data"). What it lacks is an explicit routing statement versus the sibling tools, so an agent must infer why to pick this over qc_licence.

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

qc_contractor_checkQuébec contractor checkA
Read-onlyIdempotent
Inspect

Check a Québec construction contractor against four official public data sources in one call: active RBQ licence (status, restrictions, bond, authorized work categories), RENA (businesses barred from public contracts and public subcontracts), environmental administrative penalties (MELCCFP) and public contracts awarded on SEAO (count, total amount, main public buyers, last 12 months). Returns a verdict ok / review / blocking / not_found with reasons, sources and extraction dates. Use when the user asks whether a Québec contractor, subcontractor or renovation company is licensed, trustworthy or eligible for public contracts. Provide neq, licence or name.

NameRequiredDescriptionDefault
neqNoQuébec enterprise number (NEQ), 10 digits
langNoAnswer language, default fr
nameNoBusiness name, exact or partial
licenceNoRBQ licence number, e.g. 8315-8105-31

Output Schema

NameRequiredDescription
rbqYesRBQ licence record: licence, neq, name, status, restriction, bond, municipality, subcategory_labels, candidates
renaYesMatching RENA entries (public-contract ban)
queryYesWhat was searched and how it matched
noticeNo
reasonsYesPlain-language reasons for the verdict
sourcesYesOfficial sources with extraction dates
verdictYesok = active licence, no RENA, no penalty; review = something to look at; blocking = RENA listing or no active licence; not_found = no match
verdict_labelYes
public_contractsNoPublic contracts awarded on SEAO in the last 12 months: contracts, total_cad, first_award, last_award, buyers, by_category, recent (up to 5), matched_by
environmental_penaltiesYesMatching environmental administrative penalties

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world and non-destructive behavior, so the bar is lower; the description still adds real value by naming the four sources queried, the 12-month contract window, and that extraction dates accompany the verdict. It does not mention latency, rate limits, or what happens when no source matches.

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?

Two sentences, both front-loaded with the key facts (sources first, then when-to-use and inputs). The first sentence is clause-dense, but no sentence is wasted or redundant.

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?

An output schema exists, so return-value detail is not needed, and the description still summarizes the verdict model. Sources, trigger conditions, identifier options and freshness are all covered, which is complete for an agent deciding whether and how to call this multi-source lookup.

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 100%, so the baseline is 3, but the description adds a disjunction not expressed in the schema (zero required params): the caller must supply neq, licence or name. It does not explain acceptable name-matching fuzziness or the effect of lang, though the schema documents both.

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?

States a specific verb (check) plus resource (Québec construction contractor) and enumerates the four data sources and their scope. It clearly differentiates itself from the sibling qc_licence by covering RBQ licence plus RENA, MELCCFP penalties and SEAO contracts in one call, and names the verdict values returned.

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?

Gives an explicit trigger ('Use when the user asks whether a Québec contractor, subcontractor or renovation company is licensed, trustworthy or eligible for public contracts') and tells the agent which identifier to supply. It does not state when to prefer the sibling qc_licence over this broader check, so the alternative-route guidance is incomplete.

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

qc_licenceQuébec RBQ licence lookupA
Read-onlyIdempotent
Inspect

Fast lookup: does this Québec business hold an ACTIVE RBQ (Régie du bâtiment du Québec) construction licence right now? Returns active true/false, licence number, legal name, NEQ, municipality, restriction flag and authorized work categories. Good for checking several contractors one after another. For the RENA public-contract ban and environmental penalties, use qc_contractor_check. Provide neq, licence or name.

NameRequiredDescriptionDefault
neqNoQuébec enterprise number (NEQ), 10 digits
langNoAnswer language, default fr
nameNoBusiness name, exact or partial
licenceNoRBQ licence number, e.g. 8315-8105-31

Output Schema

NameRequiredDescription
neqYes
nameYes
noteNo
queryYes
activeYestrue if an ACTIVE RBQ licence was found
sourceYes
licenceYes
candidatesYesOther possible matches when the name is ambiguous
categoriesYesAuthorized RBQ work subcategories
restrictedNo
municipalityYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely non-structured behavior: the result reflects current status ('right now', ACTIVE), which implies a live external lookup rather than a cached record, and enumerates the returned fields including the restriction flag.

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

Conciseness5/5

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

Four tight sentences with the core capability, return shape, batch hint, sibling exclusion and parameter guidance front-loaded in that order. No filler and nothing repeated from the schema or annotations.

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?

For a read-only lookup with an output schema, an alternative sibling and 100% parameter coverage, the description supplies everything needed: what it answers, what comes back, which identifier to pass, and when to prefer the other tool.

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 100%, so the baseline would be 3. The closing 'Provide neq, licence or name' adds meaning the schema does not: despite zero required parameters, at least one identifier must be supplied, and any of the three is acceptable. That is useful disambiguation beyond the per-field descriptions, though it does not explain precedence when several are supplied.

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?

States a specific verb and resource ('does this Québec business hold an ACTIVE RBQ construction licence right now'), plus the exact return payload. It also names the sibling it is not for (RENA ban / environmental penalties), so an agent can distinguish it from qc_contractor_check without opening either schema.

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

Usage Guidelines5/5

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

Explicitly routes the agent: use this for live RBQ licence status, use qc_contractor_check for the RENA public-contract ban and environmental penalties. It also flags the batch use case ('good for checking several contractors one after another'), which is exactly the kind of when-to-use context that is otherwise invisible.

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.

  1. 1 tool update
    • Addedcompany_profile
  2. 1 tool update
    • Changedqc_contractor_check1 field changed
      • addedOutput schema / properties / public_contracts
        Added value: +{
        +  "additionalProperties": {},
        +  "description": "Public contracts awarded on SEAO in the last 12 months: contracts, total_cad, first_award, last_award, buyers, by_category, recent (up to 5), matched_by",
        +  "propertyNames": {
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
  3. 2 tool updates
    • First observedqc_contractor_check
    • First observedqc_licence

Publisher details

Operator
Tolca · Publisher source
Vendor relationship
First-party · Publisher source
Trust center
Not available
Restrictions
Free and read-only, no account. Daily quota: 10 contractor checks per day. · Publisher source

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources