# Quill — Canadian Government Data (MapleSpike) (remote · mcp.maplespike.ca)

Canadian government data for AI agents — all jurisdictions, SHA-256 provenance.

- Trust score: 28/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `mcp.maplespike.ca`: 28/100 (this document), [markdown](https://verifymcp.io/servers/reverb256-quill/mcp.md), [page](https://verifymcp.io/servers/reverb256-quill/mcp)

## Channel facts

- Endpoint: `https://mcp.maplespike.ca/sse`
- Transports: `sse`
- Auth: `required (not validated)`
- Version: `0.4.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 71/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - The endpoint enforces authorisation, but returns a challenge with no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 401, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport blocked by authentication: the endpoint requires auth we don't have to verify sse.
- **Schema Quality & AI Usability**: 0/100
  - Schema blocked by authentication: the endpoint requires auth we don't have to read it.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Tool Safety**: 0/100
  - Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Capabilities**: 0/100
  - Capabilities blocked by authentication: the endpoint requires auth we don't have to read them.

**Unverified: 6 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the Quill — Canadian Government Data (MapleSpike) MCP server?

Quill — Canadian Government Data (MapleSpike) is a hosted endpoint at https://mcp.maplespike.ca/sse, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http reverb256-quill 'https://mcp.maplespike.ca/sse'
```

### Cursor

```json
{
  "mcpServers": {
    "reverb256-quill": {
      "url": "https://mcp.maplespike.ca/sse"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "reverb256-quill": {
      "type": "http",
      "url": "https://mcp.maplespike.ca/sse"
    }
  }
}
```

### Codex

```toml
[mcp_servers.reverb256-quill]
url = "https://mcp.maplespike.ca/sse"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "reverb256-quill": {
      "type": "remote",
      "url": "https://mcp.maplespike.ca/sse",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add reverb256-quill --url 'https://mcp.maplespike.ca/sse' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  reverb256-quill:
    url: "https://mcp.maplespike.ca/sse"
```

### Netclaw

```json
{
  "McpServers": {
    "reverb256-quill": {
      "Transport": "http",
      "Url": "https://mcp.maplespike.ca/sse"
    }
  }
}
```

### Vellum

```bash
assistant mcp add reverb256-quill -t streamable-http -u 'https://mcp.maplespike.ca/sse'
```

### Other

```json
{
  "mcpServers": {
    "reverb256-quill": {
      "type": "http",
      "url": "https://mcp.maplespike.ca/sse"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-27 (score 28, −36)

- [security regression] Endpoint reachability: reachable → behind authorisation
- [security regression] HTTPS: fail → unverified
- [security regression] Stability: 0.13 → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] Transport: pass → unverified
- [security] Authorization: The endpoint enforces authorisation, but returns a challenge with no valid RFC 9728 metadata, so a client cannot discover where to get a token.
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-10-26 (score 64, +1)

- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-10-25 (score 63, 0)

- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-10-24 (score 63, +1)

- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-10-23 (score 62, 0)

- [functional improvement] Stability: unverified → 0.03
- [functional] This server's schema is too large to store in full, so we cannot compare its tools day to day

### 2026-10-22 (score 62, +34)

- [security regression] HTTPS: unverified → fail
- [security improvement] Transport: unverified → pass
- [security improvement] Injection markers: unverified → pass
- [security] First check of Judged manipulation: pass
- [security] Authorization: Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 93
- [functional] First check of Destructive annotations: 0
- [functional] First check of Schema quality: pass
- [functional] First check of Schema quality: good

### 2026-09-28 (score 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-25 (score 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (184)

### `query_gov_data` (~140 tokens)

Query Canadian government data releases, datasets, and records. Searches across Statistics Canada (StatCan), open.canada.ca (CKAN), provincial data portals, and federal spending/procurement data. Returns machine-readable results with source metadata; record hashes and publisher terms metadata are included only where supplied, and coverage depends on which sources respond.

Input parameters:

- `category` (string): Data category filter
- `jurisdiction` (string): Jurisdiction filter (default: all)
- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search keyword (e.g., "GDP", "housing starts", "CPI")

### `fact_check` (~85 tokens)

Search selected configured sources, including Statistics Canada and CKAN portals, for records related to a claim. Returns matching records for review; this search does not independently verify the claim. Check citations with the original publisher.

Input parameters:

- `claim` (string, required): The claim to fact-check (e.g., "unemployment rate rose to 6.5%", "defence spending increased 20%")

### `get_citation` (~94 tokens)

Retrieve a claim record by its SHA-256 hash. Returns the canonical record hash scope, available source evidence, terms metadata, and a verification command. A hash match checks record integrity; it does not authenticate the source or establish reuse rights.

Input parameters:

- `hash` (string, required): SHA-256 hash of Quill canonical record JSON (e.g. "sha256:<64 hex chars>"); a match does not authenticate the source.

### `latest_releases` (~101 tokens)

Get the most recent government data releases, economic indicators, and announcements from Statistics Canada, open.canada.ca, and federal/provincial data portals. Use this to stay current on new datasets, revised statistics, and government publications.

Input parameters:

- `category` (string): Filter by data category (default: all)
- `jurisdiction` (string): Jurisdiction filter (default: federal)
- `limit` (number): Maximum results to return (default: 5)

### `search_committees` (~133 tokens)

Search available House of Commons and Senate committee records returned by configured sources. Coverage and fields vary. In-camera designations may appear when reported by a source; they do not disclose non-public discussions.

Input parameters:

- `chamber` (string): Parliamentary chamber filter (default: all)
- `committee` (string): Specific committee code (e.g., "FINA", "OGGO", "ETHI", "SOCI")
- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms (e.g., "carbon tax", "arrivecan", "foreign interference")

### `search_corporate` (~120 tokens)

Search Canadian corporate registry data, federal procurement contracts, lobbying registrations, and executive statements. Tracks insider transactions, sole-source contracts, company press releases, and corporate-government interactions. Cross-references with federal lobbying registry and proactive disclosure data.

Input parameters:

- `dataset` (string): Corporate dataset to search (default: all)
- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms — company name, executive name, or keyword (e.g., "Google", "sole source", "lobbying")

### `search_influence` (~120 tokens)

Search influence tracking records including international organizations, NGOs, think tanks, and consultancies operating in Canada. Traces government funding flows, CRA charity status, grants data, and organizational connections. Cross-references with federal grant metadata and parliamentary committee oversight.

Input parameters:

- `category` (string): Influence actor category filter (default: all)
- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Organization name, person, or keyword (e.g., "McKinsey", "WE Charity", "climate NGO")

### `search_gazette` (~143 tokens)

Search the Canada Gazette — the official newspaper of the Government of Canada. Covers Part I (notices, proposed regulations), Part II (enacted regulations), and Part III (Acts of Parliament). Includes Regulatory Impact Analysis Statements (RIAS) with department attribution and effective dates.

Input parameters:

- `lang` (string): Language for Gazette feed (uses French -fra.xml RSS when fr). Default: en
- `limit` (number): Maximum results to return (default: 10)
- `part` (string): Gazette part filter (default: all)
- `query` (string, required): Search terms (e.g., "carbon pricing", "gun control", "telecommunications")

### `search_gic` (~127 tokens)

Search Governor-in-Council (GiC) appointments to federal agencies, boards, commissions, and Crown corporations. Includes order-in-council appointment data, salary ranges, departmental categories, appointment types, and cross-references with federal lobbying registry for lobbyists-turned-appointees.

Input parameters:

- `department` (string): Filter by department or portfolio category
- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms — appointee name, department, or body (e.g., "Bank of Canada", "CRTC")

### `search_elections` (~111 tokens)

Search Elections Canada third-party advertiser registry and financial reports. Tracks advertising spending, platforms used, election periods, and third-party organizations registered with Elections Canada. Cross-references with corporate and influence data to identify connected actors.

Input parameters:

- `electionPeriod` (string): Filter by election period year or label
- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms — third-party name, advertiser, or platform (e.g., "Canada Proud", "Facebook")

### `search_provincial_lobbying` (~127 tokens)

Search provincial lobbying registries across Canada. Covers Ontario, British Columbia, Alberta, Quebec, and other provincial lobbying records. Returns lobbying registrations, communication reports, and subject areas. Cross-references with the federal lobbying registry to identify multi-jurisdictional lobbying activity.

Input parameters:

- `limit` (number): Maximum results to return (default: 10)
- `province` (string): Province filter (default: all)
- `query` (string, required): Search terms — lobbyist name, organization, or subject (e.g., "Ontario Power Generation", "pharmacare")

### `search_oversight` (~146 tokens)

Search independent oversight body reports, investigations, and decisions. Covers the Office of the Auditor General (OAG), Parliamentary Budget Officer (PBO), Office of the Conflict of Interest and Ethics Commissioner (CIEC), Office of the Lobbying Commissioner (OCL), Competition Bureau, and CRTC. Returns report findings, recommendations, investigation outcomes, and merger reviews.

Input parameters:

- `body` (string): Oversight body filter (default: all)
- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms — topic, body, or keyword (e.g., "cybersecurity", "phoenix pay", "Competition Bureau")

### `search_canlii` (~185 tokens)

Search Canadian court decisions via CanLII (Canadian Legal Information Institute). Covers Supreme Court of Canada, Federal Court, Federal Court of Appeal, provincial superior courts, and provincial appeal courts. Returns decision summaries, citations, party information, case history, and government relevance assessments. Tracks legislation citations and cross-references with tracked government departments.

Input parameters:

- `court` (string): Filter by court (e.g., "scc", "fca", "onca", "bcca")
- `lang` (string): Language for search results and French Court endpoint (rechercher.canlii.org). Default: en
- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms — case name, party, citation, or keyword (e.g., "Charter s.7", "R. v.", "carbon tax")

### `search_lmia` (~174 tokens)

Search Labour Market Impact Assessment (LMIA) data from Employment and Social Development Canada (ESDC). Provides quarterly statistics on employer use of the Temporary Foreign Worker program, including approval/denial rates, streams (high-wage, low-wage, agriculture, etc.), occupations, provinces, and top employers. Cross-references with corporate data and procurement records to add context to a TFW program question; the cross-reference is name-based and does not establish a link between a company and a specific LMIA.

Input parameters:

- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms — employer name, occupation, or NOC code (e.g., "Maple Leaf Foods", "software engineer")
- `stream` (string): TFW stream filter (default: all)

### `search_immigration` (~162 tokens)

Search Canadian immigration data including IRCC permanent resident admissions, Express Entry summaries, IRB Refugee Protection Division decisions, and CBSA removal/enforcement statistics. Covers monthly PR admissions by province, country of citizenship, and category; quarterly refugee claim grant/refusal rates; and border enforcement actions.

Input parameters:

- `limit` (number): Maximum results (default: 10)
- `query` (string, required): Search terms — country, province, category, or year (e.g., "India 2024", "refugee Syria", "Express Entry")
- `source` (string): Source filter: IRCC (permanent residents/Express Entry), IRB (refugee decisions), CBSA (enforcement)
- `year` (number): Filter by year

### `search_indigenous_relations` (~161 tokens)

Search Indigenous relations data including CIRNAC specific claims, ISC First Nations financial transparency (chief/council salaries, community budgets), TRC Calls to Action tracker, Jordan's Principle funding, and MMIWG follow-up data. Covers land claims, infrastructure spending, and community well-being indices.

Input parameters:

- `limit` (number): Maximum results (default: 10)
- `query` (string, required): Search terms — community, province, claim type, or year (e.g., "specific claims Ontario", "TRC calls to action", "Jordan's Principle")
- `source` (string): Source filter: CIRNAC (land claims), ISC (financial transparency), TRC (Calls to Action)
- `year` (number): Filter by year

### `search_criminal_justice` (~142 tokens)

Search Canadian criminal justice and corrections data including CSC prison population statistics, Parole Board decisions, RCMP crime statistics (hate crimes, organized crime, youth justice), and PPSC prosecution service data.

Input parameters:

- `limit` (number): Maximum results (default: 10)
- `query` (string, required): Search terms — institution, province, crime type, or year (e.g., "prison population Ontario 2024", "hate crimes", "parole granted")
- `source` (string): Source filter: CSC (corrections), Parole Board (decisions), RCMP (crime stats)
- `year` (number): Filter by year

### `search_transport_safety` (~156 tokens)

Search Canadian transport safety and infrastructure data including TSB occurrence datasets (air, rail, marine, pipeline investigations), Transport Canada recalls and violations, Infrastructure Canada project funding, CIIB (Canada Infrastructure Investment Bank) data, and CTA (Canadian Transportation Agency) decisions.

Input parameters:

- `limit` (number): Maximum results (default: 10)
- `query` (string, required): Search terms — mode, province, investigation type, or year (e.g., "TSB rail occurrence 2024", "air safety", "bridge funding Ontario")
- `source` (string): Source filter: TSB (occurrence investigations), TC (recalls/violations), Infrastructure Canada (project funding)
- `year` (number): Filter by year

### `search_defence` (~144 tokens)

Search Canadian defence and veterans data including DND regular force personnel by rank (1997-2025), Defence Capabilities Blueprint procurement data, Veterans Affairs Canada wait times, suicide prevention data, and service statistics.

Input parameters:

- `limit` (number): Maximum results (default: 10)
- `query` (string, required): Search terms — branch, rank, procurement category, or year (e.g., "Regular Force by rank 2024", "defence procurement shipbuilding", "Veterans wait times")
- `source` (string): Source filter: DND (personnel/procurement), VAC (veterans services)
- `year` (number): Filter by year

### `search_science` (~63 tokens)

Search Canadian science, space, and research data — CSA missions, Mitacs grants, Ocean Networks Canada observations, Polar Data Catalogue records

Input parameters:

- `limit` (number): Max results (default 20)
- `query` (string, required): Search term for science/research records

### `search_tribunals` (~105 tokens)

Search federal tribunal appointments and decisions (Canada) — GIC appointments to federal tribunals including IRB, CHRT, Competition Tribunal, CITT, Specific Claims Tribunal, and more

Input parameters:

- `limit` (number): Max results (default 10)
- `query` (string, required): Search query — appointee name, tribunal name, or department
- `tribunal` (string): Filter by specific tribunal acronym (e.g. IRB, CHRT, CITT)

### `search_lode` (~291 tokens)

Query Statistics Canada LODE (Linkable Open Data Environment) geospatial databases. Record counts below are the figures Statistics Canada publishes in its own metadata for each database, carried in this tool's catalogue — they are not counts Quill verified by download. 12 databases covering addresses (~10M buildings), buildings (~14.4M features), healthcare (~7K), recreation (~182K), education (~19K), culture (~8K), businesses (~500K), infrastructure (11 types), greenhouses (~3.9K), pedestrian networks, public transit networks, and cycling networks. Use databaseId to target a specific database, or list=true to see the catalog.

Input parameters:

- `databaseId` (string): Target specific LODE database. Omit for all. Options: oda, odb, odhf, odrsf, odef, odcaf, odbusiness, odi, odg, cpnd, cptnd, ccnd
- `limit` (number): Maximum results (default: 10)
- `list` (boolean): Set true to list all 12 LODE databases with metadata and download links
- `municipality` (string): Filter by municipality name
- `province` (string): Filter by province code (e.g., ON, QC, BC)
- `query` (string): Search terms — e.g., "hospitals Ottawa", "arena Toronto", "cycling Vancouver"

### `search_veterans` (~92 tokens)

Search Canadian veterans and military personnel data — VAC (Veterans Affairs Canada) benefits, disability claims, education programs, OSISS clinics, veteran suicide statistics, defence transition programs, and wait times data.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search term (e.g., "disability", "education", "benefits", "wait times")

### `search_ngo_rss` (~109 tokens)

Search NGO and think tank publications ingested from RSS feeds — policy papers, reports, press releases, and articles from 30+ tracked organizations. Returns article titles, URLs, publication dates, and narrative classification flags. Results are cross-referenceable against lobbying records and committee mentions.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search term for NGO/think tank publications (e.g., "carbon tax", "housing", "digital")

### `ngo_narrative_tracker` (~178 tokens)

Analyze NGO and think tank publications for narrative alignment, coordinated messaging, and influence campaigns. Detects when multiple organizations use similar framing, language, or policy recommendations across different publications. Assigns 5GW (fifth-generation warfare) classification flags when applicable. Cross-references against tracked influence actors.

Input parameters:

- `limit` (number): Maximum results to analyze (default: 10)
- `narrative_type` (string): Type of narrative pattern to detect (default: all)
- `organization` (string): Filter by specific NGO/think tank organization name (e.g., "Fraser Institute", "CCPA")
- `timeframe` (string): Time range for publication analysis (default: 30d)
- `topic` (string): Filter by topic or theme (e.g., "carbon tax", "affordable housing", "digital privacy")

### `search_health` (~153 tokens)

Search Canadian health data — CIHI hospital wait times, health spending, surgical volumes, PHAC disease surveillance, opioid crisis data, CFIA food recalls, drug shortage alerts, and CADTH drug recommendation reviews. Covers federal and provincial health data from the Canadian Institute for Health Information, Public Health Agency of Canada, Canadian Food Inspection Agency, and other health agencies.

Input parameters:

- `category` (string): Health data category filter (default: all)
- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms — condition, drug, procedure, agency, or province (e.g., "hip replacement wait times Ontario", "opioid deaths BC", "food recall salmonella")

### `search_ilo` (~111 tokens)

Search ILO (International Labour Organization) labour statistics — employment, unemployment, wages, and labour force indicators across 187 countries. Covers employment-to-population ratios, unemployment rates, wage data, and labour force participation. Data sourced from ILOSTAT API.

Input parameters:

- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search term — indicator name, country, or topic (e.g., "unemployment Canada", "employment rate", "labour force")

### `search_proactive_disclosure` (~108 tokens)

Search federal proactive disclosure data — government contracts over $10K, travel and hospitality expenses, and position reclassifications. Covers the contracts and expenses published in the federal proactive disclosure datasets this tool reaches; departments or periods absent from those datasets are not represented.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — vendor name, department, or keyword (e.g., "IBM", "PSPC", "IT consulting")

### `search_ati` (~114 tokens)

Search completed Access to Information (ATI) requests published by federal departments. Covers the ATI summaries that departments and agencies have actually published; entities that do not release summaries, or releases not indexed by the upstream dataset, are absent. Useful for finding previously released records, internal reports, and correspondence.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, department, or subject (e.g., "climate change", "procurement", "PCO")

### `search_federal_budget` (~88 tokens)

Search federal budget, public accounts, and fiscal monitor data. Covers budget documents, departmental plans, financial statements, and economic projections from the Government of Canada.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — program, department, or fiscal year (e.g., "infrastructure", "defence spending 2024")

### `search_statcan` (~88 tokens)

Search Statistics Canada datasets including CPI, GDP, labour statistics, population data, trade indicators, and other key economic and social metrics from the Statistics Canada Web Data Service (WDS).

Input parameters:

- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms (e.g., "inflation", "unemployment", "population", specific dataset name)

### `search_legislation` (~144 tokens)

Search Canadian legislation — Justice Canada consolidated federal laws, provincial legislation, and regulatory data. Covers federal acts, regulations, and provincial statutes from Ontario e-Laws, BC Laws, and Quebec legislation. Set lang=fr to search lois.justice.gc.ca/fra/ for French-language federal legislation.

Input parameters:

- `lang` (string): Language. When fr, searches lois.justice.gc.ca/fra/ for French legislation. Default: en
- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — act name, keyword, or jurisdiction (e.g., "Canada Elections Act", "carbon tax", "privacy law")

### `search_goc_spending` (~106 tokens)

Search Government of Canada spending data — federal contract awards, grant contributions, and expenditure information from the departments and programs present in the federal spending datasets this tool reaches. Covers GitHub-based federal spending datasets, whose coverage is set by those publishers.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — vendor, department, or program (e.g., "Amazon Web Services", "PSPC", "innovation grants")

### `search_municipal` (~115 tokens)

Search municipal open data from Canadian cities (Victoria, Edmonton, Toronto, Vancouver, Montreal, Ottawa, Calgary, etc.)

Input parameters:

- `dataset` (string): Dataset type (budget, permits, zoning, transit, 311-calls)
- `municipality` (string): Municipality ID (e.g., victoria, toronto, ottawa, vancouver, montreal)
- `province` (string): Filter by province code (e.g., ON, BC, AB, QC)
- `query` (string): Search query within dataset

### `search_global_canada` (~86 tokens)

Search Global Canada data — Global Affairs Canada trade agreements, ECCC climate and environmental data, CSIS reports metadata, and international relations data.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — country, agreement, or topic (e.g., "CUSMA trade", "Paris Agreement", "climate emissions")

### `search_health_canada` (~100 tokens)

Search Health Canada data — drug approvals, product recalls, health product safety alerts, natural health product licensing, medical device recalls, and Health Canada regulatory decisions. More specific than the general health search.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — drug name, product, recall type, or regulation (e.g., "drug recall", "hand sanitizer", "medical device licence")

### `search_impact_assessment` (~88 tokens)

Search Impact Assessment Agency of Canada (IAAC) federal project assessments — environmental impact statements, decisions, conditions, and timelines for major resource projects.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — project name, location, or sector (e.g., "Site C dam", "pipeline", "mining BC")

### `search_species_at_risk` (~91 tokens)

Search Species at Risk Act (SARA) registry data — listing decisions, recovery strategies, action plans, and status assessments for Canadian species at risk.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — species name, status, or habitat (e.g., "woodland caribou", "endangered", "salmon")

### `search_fisheries` (~82 tokens)

Search Fisheries and Oceans Canada (DFO) data — fish stocks, licenses, conservation measures, and marine management information.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — species, region, or license type (e.g., "Atlantic cod", "Pacific salmon", "aquaculture BC")

### `search_agriculture` (~91 tokens)

Search Agriculture and Agri-Food Canada (AAFC) data — crop reports, farm data, agri-stats, and agricultural production information by province and commodity.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — commodity, province, or metric (e.g., "wheat Saskatchewan", "dairy production", "farm income")

### `search_crown_corporations` (~104 tokens)

Search Canadian Crown corporation data — annual reports, quarterly financials, governance information for CBC, Canada Post, CMHC, EDC, VIA Rail, BDC, and other federal Crown corporations.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — corporation name, financial data, or year (e.g., "CBC revenue 2024", "Canada Post pension", "EDC exports")

### `search_charity_t3010` (~127 tokens)

Search CRA T3010 Registered Charity Information Return data. Covers detailed financial statements, director compensation, political activities, program spending, and revenue breakdowns for charities that have filed a T3010 return — charities exempt from filing, or below the filing threshold, will not appear. More focused on T3010 returns than the general charity search.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — charity name, BN, or category (e.g., "Salvation Army", "environment", "religious")

### `search_bank_of_canada` (~99 tokens)

Search Bank of Canada data — interest rate decisions, monetary policy reports, Financial System Reviews, and executive speeches. Covers overnight rate changes, quantitative easing, and monetary policy frameworks.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — topic, date, or speaker (e.g., "overnight rate 2024", "inflation outlook", "Tiff Macklem")

### `datastore_query` (~100 tokens)

Query the cross-module datastore — search previously fetched results across tools. Useful for combining data from multiple Quill tools (e.g., committees + lobbying + procurement). Results are cached with TTL; expired entries are auto-cleaned.

Input parameters:

- `limit` (number): Max results to return (default 50)
- `tools` (string): Comma-separated tool names to filter by (e.g., "search_committees,search_influence"). Empty for all.

### `discover_tools` (~77 tokens)

Search all available Quill MCP tools by intent or topic. Returns ranked tool names and descriptions so you know which tool to call next. Use this FIRST when unsure which tool fits.

Input parameters:

- `limit` (number): Max results (default 10, max 30)
- `query` (string, required): Natural language description of what you want to find

### `search_weather` (~142 tokens)

Search Canadian weather data from Environment Canada — current conditions, forecasts, severe weather alerts, air quality health index (AQHI), radar, marine forecasts, and climate normals. Powered by MSC GeoMet (OGC API).

Input parameters:

- `limit` (number): Max results to return (default 10)
- `location` (string, required): Location name or coordinates (e.g., "Toronto", "Vancouver", "45.42,-75.69")
- `type` (string, required): Weather data type: "conditions" (current), "forecast" (3-day), "alerts" (warnings), "aqhi" (air quality), "climate" (normals)

### `search_nutrient_file` (~105 tokens)

Search the Canadian Nutrient File — food composition data from Health Canada. Find nutrient values (calories, protein, fat, carbs, vitamins, minerals) for Canadian food products.

Input parameters:

- `lang` (string): Language (en or fr, default en)
- `limit` (number): Max results to return (default 10)
- `query` (string, required): Food name to search for (e.g., "cheddar cheese", "whole wheat bread", "apple")

### `search_valet_api` (~112 tokens)

Search Bank of Canada Valet API — official exchange rates, interest rates, commodity prices, and economic indicators. More granular than the general Bank of Canada search (this uses the Valet REST API directly).

Input parameters:

- `recent` (number): Number of most recent observations to return (default 30)
- `series` (string, required): Series group or name (e.g., "FXUSDCAD" for USD/CAD, "V39079" for overnight rate, "COMMODITIES" for commodity index)

### `search_housing_cmhc` (~111 tokens)

Search CMHC (Canada Mortgage and Housing Corporation) housing data — housing starts, rental market surveys, vacancy rates, average rents, housing affordability, mortgage arrears, and NHIP program data. More specific to CMHC than the general housing search.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — city, province, or topic (e.g., "Toronto rental vacancy", "housing starts Ontario", "affordable housing")

### `search_crtc_decisions` (~117 tokens)

Search CRTC (Canadian Radio-television and Telecommunications Commission) decisions and rulings. Covers broadcasting decisions, telecom regulatory rulings, licensing renewals, ownership change approvals, and policy determinations. More specific to CRTC decisions than the general CRTC search.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — company, decision number, year, or topic (e.g., "2024-100", "Bell mobility acquisition", "broadcasting decision")

### `search_social_programs` (~88 tokens)

Search Canadian social programs data — CPP/OAS, Employment Insurance, Canada Child Benefit, poverty statistics, social assistance rates, and food security indicators.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — program, province, or year (e.g., "EI claims Ontario", "CCB payments", "poverty rate")

### `search_education_research` (~98 tokens)

Search Canadian education and research data — Tri-Council grants (CIHR/NSERC/SSHRC), Canada Research Chairs, Canada Foundation for Innovation, and student loan statistics.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — researcher, institution, or program (e.g., "NSERC grant UBC", "Canada Research Chair AI", "SSHRC")

### `search_a2aj` (~115 tokens)

Search A2J (Access to Justice) legal data — court decisions, case law coverage, and citation lookup across Canadian courts and tribunals. Result count is whatever the upstream A2J corpus holds and changes over time; Quill queries it rather than holding its own copy.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — case name, citation, or legal topic (e.g., "Charter challenge", "2 SCR", "employment law")

### `search_ab_data` (~94 tokens)

Search Alberta (AB) government open data — AHS health indicators, AAIP/AINP immigration, Alberta Court of Justice records, education assessments, environment, and more. Queries open.alberta.ca CKAN portal.

Input parameters:

- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms (e.g., "health", "immigration", "education", "energy")

### `search_arcgis_layers` (~99 tokens)

Search ArcGIS feature services and layers across Manitoba, Saskatchewan, and Prince Edward Island. Returns available GIS data services matching your keyword. Use this to find geospatial data for provinces without CKAN portals.

Input parameters:

- `keyword` (string, required): Search term (e.g., "road", "health", "water", "parcel")
- `province` (string, required): Province code (mb=Manitoba, sk=Saskatchewan, pe=PEI)

### `search_bc_data` (~97 tokens)

Search British Columbia (BC) government open data — PharmaCare, BCPNP immigration, BC Provincial Court records, BC Ministry of Education reports, health, environment, and more. Queries catalogue.data.gov.bc.ca CKAN portal.

Input parameters:

- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms (e.g., "health", "immigration", "education", "transportation")

### `search_bills` (~75 tokens)

Search federal parliamentary bills via Open Parliament. Returns bill numbers, names, sessions, and LEGISinfo IDs. Use this to track legislation progress.

Input parameters:

- `limit` (number): Max results (default: 10)
- `query` (string, required): Search term (e.g., "budget", "climate", "C-")

### `search_cipo` (~82 tokens)

Search CIPO (Canadian Intellectual Property Office) data — patents, trademarks, industrial designs, and copyright registrations filed in Canada.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — applicant, technology area, or trademark (e.g., "AI patent", "Nortel", "brand trademark")

### `search_cmhc` (~93 tokens)

Search CMHC (Canada Mortgage and Housing Corporation) data — housing starts, rental market reports, mortgage trends, and housing supply statistics. Covers national and provincial housing indicators.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — metric, province, or year (e.g., "housing starts Ontario 2024", "rental vacancy rate Toronto")

### `search_committees_op` (~36 tokens)

Search committees via Open Parliament API.

Input parameters:

- `limit` (number): Max results
- `query` (string, required): Search term

### `search_corporate_filings` (~93 tokens)

Search Canadian corporate filings data — SEDAR+ regulatory filings, public company disclosures, annual reports, and financial statements filed with securities regulators.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — company name, ticker, or filing type (e.g., "Shopify financials", "TSX annual report", "insider report")

### `search_cra_charity` (~114 tokens)

Search CRA (Canada Revenue Agency) registered charity T3010 data. Covers detailed financials, directors, programs, and political activities for charities with a published T3010 return. Charities exempt from filing, or below the filing threshold, will not appear.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — charity name, BN/registration number, or keyword (e.g., "United Way", "climate justice", "registered charity")

### `search_crtc` (~90 tokens)

Search CRTC (Canadian Radio-television and Telecommunications Commission) data — broadcasting and telecom regulatory decisions, ownership changes, net neutrality rulings, and licensing decisions.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — company, decision type, or topic (e.g., "Bell Mobility", "net neutrality", "broadcasting licence")

### `search_culture` (~83 tokens)

Search Canadian culture and heritage data — Canadian Heritage programs, cultural spending, arts grants to organizations, and federal cultural funding initiatives.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — program, organization, or year (e.g., "Canada Council grants", "heritage funding Ontario", "arts programs")

### `search_debates` (~78 tokens)

Search House of Commons debates via Open Parliament. Returns debate dates, numbers, and most frequent words. Use this to find what Parliament discussed on specific dates or topics.

Input parameters:

- `limit` (number): Max results (default: 10)
- `query` (string, required): Search term (e.g., "carbon", "housing", "health")

### `search_geospatial` (~92 tokens)

Search Canadian geospatial data — federal geospatial databases, CKAN-based geospatial data across federal and provincial portals, topographic maps, and geographic information.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — location, map type, or dataset (e.g., "topographic map Alberta", "satellite imagery", "geospatial data Ontario")

### `search_ircc-citizenship` (~81 tokens)

Search IRCC citizenship grants data including breakdowns by province, demographic groups, and year. Tracks permanent resident admissions that have been granted Canadian citizenship.

Input parameters:

- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms (e.g., province name, demographic group, year, specific statistics)

### `search_ircc_entry_exit` (~100 tokens)

Search IRCC quarterly entry/exit data by port of entry, mode of travel, and nationality. Covers traveller volumes at Canadian ports of entry including airports, land borders, and marine ports.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — port of entry, nationality, or quarter (e.g., "Toronto Pearson", "US citizens", "Q1 2024")

### `search_ircc_express_entry` (~103 tokens)

Search IRCC Express Entry rounds — CRS score cutoffs, invitations issued, and program-specific draws. Covers Canadian Experience Class, Federal Skilled Worker, Provincial Nominee, and category-based draws.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — program, CRS score, or date (e.g., "CEC draw 2024", "CRS 500", "category-based healthcare")

### `search_ircc_family_sponsorship` (~98 tokens)

Search IRCC family sponsorship statistics by visa office, category, and year. Covers spousal, partner, dependent child, parent and grandparent sponsorship applications and approvals.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — visa office, category, or year (e.g., "parent sponsorship", "spousal sponsorship Manila", "PGP 2024")

### `search_ircc_pr_admissions` (~110 tokens)

Search IRCC permanent resident admissions by province, immigration category, and year. Covers economic immigrants, family class, refugees, and other PR admission categories for the provinces and territories IRCC reports, using the figures IRCC has published.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — province, category, or year (e.g., "Ontario economic immigrants 2024", "family class", "refugee admissions")

### `search_ircc_processing_times` (~98 tokens)

Search IRCC (Immigration, Refugees and Citizenship Canada) application processing times by visa office and application type. Covers permanent residence, temporary residence, and citizenship application processing timelines.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — application type, visa office, or country (e.g., "spousal sponsorship", "study permit India", "citizenship")

### `search_ircc_study_permits` (~96 tokens)

Search IRCC study permit holder data by institution, province, country, and year. Covers international student enrollment, designated learning institutions, and study permit holders across Canadian provinces and territories.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — institution, province, or country (e.g., "University of Toronto", "Ontario international students", "India")

### `search_ircc_work_permits` (~103 tokens)

Search IRCC work permit holder data by NOC code, province, country, and year. Covers temporary foreign workers, international mobility program participants, and post-graduation work permit holders.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — NOC code, province, or country (e.g., "software engineers Ontario", "TFWP agriculture", "NOC 21231")

### `search_knowledge_fabric` (~79 tokens)

Query the Knowledge Fabric vector knowledge base for deep research across brain sessions, wiki pages, and web sources. Returns synthesized answers with source citations. Use for questions requiring institutional or historical knowledge.

Input parameters:

- `file_back` (boolean): Save the answer as a Q&A wiki page for future queries
- `query` (string, required): Question or search query

### `search_libraries` (~137 tokens)

Search Canadian public library systems by city, province, or name. Covers 15 cities: Toronto, Ottawa, Montreal, Vancouver, Calgary, Edmonton, Winnipeg, Hamilton, London, Mississauga, Brampton, Surrey, Burnaby, Kitchener, Halifax. Returns branch locations, hours, and contact info.

Input parameters:

- `city` (string): City name (toronto, ottawa, montreal, vancouver, calgary, edmonton, etc.)
- `province` (string): Province code (ON, QC, BC, AB, MB, NS)
- `query` (string): Search by library name or city name

### `search_municipal_data` (~143 tokens)

Search municipal open data across Canadian cities. Covers Toronto, Vancouver, Montreal, Calgary, Ottawa, Edmonton, Winnipeg, Quebec City, Hamilton, Mississauga. When lang=fr, prioritizes French-language portals (donnees.montreal.ca, donnees.ville.quebec.qc.ca).

Input parameters:

- `city` (string): City to search (omit for all)
- `lang` (string): Language. When fr, prioritizes French municipal portals. Default: en
- `limit` (number): Results per city
- `query` (string, required): Search terms (e.g., "budget", "transit", "crime", "permits")

### `search_npri` (~93 tokens)

Search National Pollutant Release Inventory (NPRI) data — facility-level pollutant releases, disposals, and transfers by substance, facility, and location across Canada.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — facility name, substance, or location (e.g., "mercury", "Syncrude", "chemical release Ontario")

### `search_nrcan` (~126 tokens)

Search Natural Resources Canada (NRCan) data — mining activities, topographic maps, energy statistics, forest inventory, renewable energy, and mineral production. Covers the NRCan sub-modules this tool is configured to reach, including energy, mining, forestry, and geospatial data; coverage depends on which upstream catalogues respond.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — commodity, region, or resource type (e.g., "lithium Quebec", "forest biomass", "renewable energy capacity")

### `search_nunavut_data` (~49 tokens)

Search government data about Nunavut from federal CKAN, Statistics Canada, and the Nunavut Bureau of Statistics.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_on_data` (~93 tokens)

Search Ontario (ON) government open data — OHIP health claims, OINP immigration, EQAO education results, court dockets, environment, and more. Queries data.ontario.ca CKAN portal.

Input parameters:

- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms (e.g., "health", "immigration", "education", "environment")

### `search_yukon_data` (~98 tokens)

Search Yukon government open data from the CKAN portal at open.yukon.ca (3,785 datasets across 25 organizations including Yukon Geological Survey, Geomatics Yukon, Environment, Health and Social Services, etc.).

Input parameters:

- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms (e.g., "geology", "mining", "environment", "demographics")

### `search_parks` (~116 tokens)

Search Canadian parks and recreation facilities by city or province. Covers 12 cities: Toronto, Vancouver, Calgary, Edmonton, Montreal, Ottawa, Winnipeg, Mississauga, Surrey, Burnaby, Hamilton, Halifax. Returns park names, types, amenities, and sizes.

Input parameters:

- `city` (string): City name (toronto, vancouver, calgary, etc.)
- `province` (string): Province code (ON, BC, AB, QC, MB, NS)
- `query` (string): Search park name or city

### `search_provincial_data` (~145 tokens)

Search provincial and territorial government open data. Routes to CKAN, Socrata, or another API depending on the province, so coverage and result quality vary by jurisdiction — a province whose portal is unreachable returns no results. Filter by province code to narrow results.

Input parameters:

- `limit` (number): Max results per province (default: 5)
- `province` (string): Province code (ns, nb, on, bc, qc, ab, mb, sk, nl, pe, yt, nt, nu). Omit to query every configured jurisdiction.
- `query` (string, required): Search terms (e.g., "health", "education", "transportation")

### `search_provincial_legislatures` (~102 tokens)

Search provincial legislature data — Hansard transcripts, committee proceedings, and bills for the provinces whose proceedings are present in the upstream dataset. Coverage is not complete: assemblies that do not publish machine-readable records are absent.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — province, topic, or member (e.g., "Ontario legislature budget debate", "BC Hansard housing")

### `search_provincial_regulators` (~113 tokens)

Search Canadian provincial regulatory bodies data — securities commissions, law societies, police oversight, engineering regulators, medical colleges, and other professional regulators listed in the curated regulator index this tool queries. The index is a finite list, not a registry of every Canadian regulator.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — regulator name, profession, or province (e.g., "Ontario Securities Commission", "engineering regulator Alberta", "law society")

### `search_qc_data` (~131 tokens)

Search Quebec (QC) government open data — RAMQ health insurance, immigration (MIFI), Cour du Québec records, education ministry data, environment, and more. Queries donneesquebec.ca CKAN portal.

Input parameters:

- `lang` (string): Language hint. When fr, prioritizes French portal (donneesquebec.ca). Default: en
- `limit` (number): Maximum results to return (default: 10)
- `query` (string, required): Search terms / termes de recherche (e.g., "santé", "immigration", "éducation", "environnement")

### `search_real_time_feeds` (~120 tokens)

Search Canadian time-sensitive government data feeds — emergency alerts (CAP-CP), health advisories, urgent notices, and other urgent government communications. These feeds are polled, so a slow or unreachable feed yields no results rather than a delayed alert; for life-safety decisions consult the issuing authority directly.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — event type, location, or date (e.g., "tornado warning Alberta", "health advisory", "amber alert")

### `search_regional_authorities` (~86 tokens)

Search Canadian regional authority data — regional districts, municipalities, and local governance information across Canada including regional services, planning, and transit authorities.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — region, service, or authority name (e.g., "Metro Vancouver", "Peel Region", "regional transit")

### `search_sedi` (~94 tokens)

Search SEDI (System for Electronic Disclosure by Insiders) insider trading data. Covers TSX-listed company executive and director stock transactions, including purchases, sales, and option exercises.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — issuer name, insider name, or ticker (e.g., "Shopify", "Royal Bank", "SU.TO")

### `search_un` (~216 tokens)

Search UN Data Sources via the UNdata SDMX REST API — population, trade, national accounts, development indicators, environment, energy, education, health statistics. Supports querying by database category or specific dataflow ID.

Input parameters:

- `category` (string): Category to batch-query: population, trade, development, environment, health, education, energy, finance
- `database` (string): Database key to query (POP, POP_VITAL, TRADE, TRADE_SERVICES, NATIONAL_ACCOUNTS, DEVELOPMENT, ENVIRONMENT, ENERGY, EDUCATION, HEALTH) or a full dataflow ID (e.g. UNSD/DF_POP)
- `endTime` (string): End time period (e.g. "2024")
- `key` (string): SDMX dimension key filter (e.g. country code like "124" for Canada)
- `listDatabases` (boolean): List available UN databases and their categories instead of querying data
- `startTime` (string): Start time period (e.g. "2020")

### `search_unions` (~79 tokens)

Search Canadian labour union data — collective agreements, membership statistics, and labour organization information across federal and provincial jurisdictions.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — union name, sector, or province (e.g., "CUPE Ontario", "teachers union", "public sector")

### `search_universities` (~100 tokens)

Search Canadian university data — tuition fees, enrollment statistics, program costs, and institutional finances for the institutions present in the upstream dataset. Not every Canadian university publishes these figures, so absence is not evidence of absence.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — institution, program, or metric (e.g., "University of Toronto tuition", "engineering enrollment", "international students")

### `search_energy_data` (~39 tokens)

Search energy production and consumption data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_climate_data` (~40 tokens)

Search climate change and weather data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_public_safety` (~41 tokens)

Search public safety and emergency management data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_federal_contracts` (~40 tokens)

Search federal government contract awards. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_federal_grants` (~41 tokens)

Search federal grants and contributions data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_gender_stats` (~40 tokens)

Search gender-based statistics and equality data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_housing_data` (~40 tokens)

Search housing and rental market data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_mining_data` (~40 tokens)

Search mining and mineral production data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_official_languages` (~40 tokens)

Search official languages data and statistics. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_technology_data` (~41 tokens)

Search technology, innovation and telecom data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_patents` (~40 tokens)

Search Canadian patent data from CIPO. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_trademarks` (~41 tokens)

Search Canadian trademark data from CIPO. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_pharmaceuticals` (~98 tokens)

Search Pharmaceuticals & Drug Policy data — PMPRB drug pricing, Health Canada Drug Product Database, drug shortages, and CADTH reviews. Covers Canadian pharmaceutical regulation and pricing.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — drug name, manufacturer, active ingredient, or therapeutic class (e.g., "insulin pricing", "drug shortage Canada", "PMPRB")

### `search_telecommunications` (~88 tokens)

Search Telecommunications & Digital data — CRTC market reports, ISED spectrum management, CIRA internet data, and broadband coverage across Canada.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — provider, technology, or region (e.g., "broadband rural Ontario", "spectrum auction", "CRTC telecom")

### `search_real_estate` (~78 tokens)

Search Real Estate & Housing data — CMHC rental markets, housing starts, house prices, and affordability metrics from open.canada.ca.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_emergency_management` (~78 tokens)

Search Emergency Management & Public Safety data — Canadian Disaster Database, ECCC alerts, NRCan geohazards, and provincial emergencies.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_indigenous_services_directory` (~71 tokens)

Search Indigenous Services Canada directory — searchable directory of Indigenous service providers, programs, and community services.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_policing_security` (~80 tokens)

Search Policing, Intelligence & National Security data — RCMP crime stats, CSIS reports, CSE cybersecurity advisories, and CSC corrections.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_financial_regulation` (~76 tokens)

Search Financial Regulation data — OSFI, CDIC, FCAC, and securities regulator data from open.canada.ca.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_media_broadcasting` (~72 tokens)

Search Media & Broadcasting data — CRTC ownership, government ad spending, and BBM audience data.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_municipal_long_tail` (~72 tokens)

Search Municipal Long-Tail data — smaller municipalities, regional districts, and specialized local government datasets.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_provincial_orgs` (~70 tokens)

Search Provincial Organizations data — provincial agencies, boards, and commissions directory across Canada.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_cross_reference` (~123 tokens)

Cross-reference engine — resolves an entity name across committees, corporate, lobbying, GIC, elections, CanLII, and influence modules. Returns per-registry hits with link confidence (graph-backed, not keyword search); a registry with no linked record contributes no hits. Use this to see what each linked registry says about a person or organization.

Input parameters:

- `limit` (number): Max results per registry (default 20)
- `query` (string, required): Entity name to cross-reference (person or organization, e.g. "John Smith" or "Lockheed Martin Canada")

### `search_nrcan_renewable` (~74 tokens)

Search NRCan Renewable Energy data — renewable capacity, generation, and installations by province and technology type.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_nrcan_fires` (~73 tokens)

Search NRCan Forest Fire data — fire hotspots, burned areas, and fire cause data across Canada.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_nrcan_forests` (~75 tokens)

Search NRCan Forest Inventory data — national forest inventory with biomass, carbon, and species data by ecozone.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_nrcan_minerals` (~71 tokens)

Search NRCan Mineral Production data — mineral production volumes and values by commodity and province.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_oecd_stat` (~68 tokens)

Search OECD Statistics data — economic, social, and environmental indicators from OECD.Stat API.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_undp_hdi` (~70 tokens)

Search UNDP Human Development Index data — HDI rankings and component indicators across countries.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_unhcr_refugees` (~76 tokens)

Search UNHCR Refugee Statistics data — refugee, asylum-seeker, and forcibly displaced population data worldwide.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_us_cia` (~75 tokens)

Search CIA World Factbook data — country profiles with demographics, economy, defence, and infrastructure indicators for Five Eyes comparison.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_au_abs` (~76 tokens)

Search Australian Bureau of Statistics data — CPI, GDP, labour force, population, and trade via SDMX-JSON API.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_nz_stats` (~72 tokens)

Search Statistics New Zealand data — CPI, GDP, labour, population, and trade via OData API.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_uk_ons` (~78 tokens)

Search UK Office for National Statistics data — CPI, GDP, labour force, population, trade, and housing via time series API.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_who_gho` (~73 tokens)

Search WHO Global Health Observatory data — life expectancy, mortality, health expenditure, and disease prevalence indicators.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_eurostat` (~74 tokens)

Search Eurostat data — EU statistical data: economy, population, trade, agriculture, energy, and social indicators.

Input parameters:

- `limit` (number): Max results to return (default 20)
- `query` (string, required): Search terms — keyword, location, or category (e.g., relevant search terms for this dataset)

### `search_utilities` (~94 tokens)

Search Canadian utility providers by province or type. Covers a curated list of 15 major hydro, gas, and water utilities in 10 provinces and territories; Yukon, the Northwest Territories, and Nunavut are not represented.

Input parameters:

- `province` (string): Province code (ON, QC, BC, AB, etc.)
- `query` (string): Search by name or service area
- `type` (string): Utility type

### `cache_clear` (~32 tokens)

Clear the query optimization cache. Use when you need fresh data or after data updates. Returns the number of entries cleared.

### `cache_status` (~36 tokens)

Query optimization cache status. Returns cache hit/miss rates, current cache size, and TTL range. Use system_health for full optimization stats.

### `compare_regions` (~84 tokens)

Compare economic and demographic indicators across Canadian provinces and territories. Uses Statistics Canada data for population, employment, and economic metrics combined with federal spending data from CKAN.

Input parameters:

- `metrics` (array): Metrics to compare (default: all)
- `regions` (string): Comma-separated provinces (e.g., "Ontario,Quebec,BC") or "all" for all provinces

### `get_annotations` (~144 tokens)

Retrieve annotations for a specific entity from the journalism annotation system. Returns all notes, flags, overrides, and context annotations for the given entity type and ID. Optionally filter by user ID to get annotations from a specific user. When an API server is configured (QUILL_API_URL), queries it for persistent storage; otherwise uses an in-memory store (annotations created through the API server will not be visible).

Input parameters:

- `entity_id` (string, required): The unique identifier of the entity
- `entity_type` (string, required): The type of the entity (e.g., "committee", "bill", "politician")
- `userId` (string): Optional: Filter annotations by user ID

### `get_entity_profile` (~32 tokens)

Cross-reference a person across MP, lobbying, and GIC data.

Input parameters:

- `name` (string, required): Person name

### `get_member_info` (~83 tokens)

Get information about current and former Members of Parliament via Open Parliament. Returns name, party, riding, and photo URL. Use this to look up MP details by name.

Input parameters:

- `limit` (number): Max results (default: 10)
- `query` (string, required): MP name or riding (e.g., "Trudeau", "Edmonton", "Liberal")

### `get_module_health` (~82 tokens)

Get detailed health metrics for a specific ingestion module. Returns status (healthy/degraded/unhealthy), upstream reachability, success rate, consecutive failures, and last error message. Use this to diagnose why a specific data source is failing.

Input parameters:

- `moduleName` (string, required): Name of the module (e.g., "committees", "rss", "gov-api")

### `get_pipeline_health` (~61 tokens)

Get a high-level health summary of the entire MapleSpike ingestion pipeline. Returns system status (healthy/degraded/unhealthy), total module counts, and a list of all modules with their current health status. Use this to identify systemic failures or multiple failing data sources.

### `get_politician_influence` (~108 tokens)

Assembled influence profile for a Canadian politician. Combines MP info, lobbying meetings, voting records, and GIC appointments from openparliament.ca and CKAN. Name matching is approximate, so confirm the politician is the intended one; a missing section means no matching record was retrieved, not that no such record exists.

Input parameters:

- `name` (string, required): Politician name (e.g., "Justin Trudeau", "Pierre Poilievre", "Chrystia Freeland")

### `qa_schema` (~77 tokens)

Extract and view TypeScript schema definitions for ingestion modules. Returns field names, types, required status, and descriptions. Use this to understand the data shape expected by a module.

Input parameters:

- `format` (string): Output format
- `moduleName` (string): Module name filter (partial match, e.g., "committee" returns all committee schemas)

### `qa_validate_module` (~116 tokens)

Run data integrity validation on an ingestion module. Checks required fields, types, ranges, string lengths, and enum values against the module schema. Returns pass/fail results per field. Use this to verify data quality before or after ingestion.

Input parameters:

- `constraints` (array): Optional schema constraints. Auto-derived if omitted.
- `moduleName` (string, required): Module name (e.g., "committees", "gic", "rss")
- `records` (array, required): Array of records to validate. Each record is a key-value object.

### `query_bridges` (~87 tokens)

Query bridge infrastructure conditions across Canadian provinces. Uses Statistics Canada Core Public Infrastructure data. Returns condition ratings (very good, good, fair, poor, very poor) with percentages. Compare infrastructure quality between provinces.

Input parameters:

- `limit` (number): Max results (default: 20)
- `query` (string): Province or condition filter (e.g., "Ontario", "good", "poor")

### `query_cpi` (~46 tokens)

Consumer Price Index (inflation) from Statistics Canada. Uses Statistics Canada data. Returns time-series data with values and reference dates.

Input parameters:

- `limit` (number): Data points to return

### `query_gdp` (~42 tokens)

Gross Domestic Product from Statistics Canada. Uses Statistics Canada data. Returns time-series data with values and reference dates.

Input parameters:

- `limit` (number): Data points to return

### `query_labour` (~46 tokens)

Labour force characteristics including employment and unemployment from Statistics Canada. Uses Statistics Canada data. Returns time-series data with values and reference dates.

Input parameters:

- `limit` (number): Data points to return

### `query_population` (~46 tokens)

Population estimates for Canada, provinces and territories from Statistics Canada. Uses Statistics Canada data. Returns time-series data with values and reference dates.

Input parameters:

- `limit` (number): Data points to return

### `query_trade` (~42 tokens)

International merchandise trade data from Statistics Canada. Uses Statistics Canada data. Returns time-series data with values and reference dates.

Input parameters:

- `limit` (number): Data points to return

### `search_votes` (~36 tokens)

Search House of Commons voting records via Open Parliament.

Input parameters:

- `limit` (number): Max results
- `query` (string, required): Search term

### `search_agriculture_data` (~41 tokens)

Search agriculture and agri-food data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_citizenship_data` (~40 tokens)

Search Canadian citizenship statistics. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_corporate_registry` (~40 tokens)

Search federal corporations registry data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_culture_data` (~41 tokens)

Search culture, arts and heritage data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_education_stats` (~41 tokens)

Search education statistics and enrolment data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_gazette_part1` (~40 tokens)

Search Canada Gazette Part I. Returns items matching your query.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_gazette_part2` (~40 tokens)

Search Canada Gazette Part II. Returns items matching your query.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_gazette_part3` (~40 tokens)

Search Canada Gazette Part III. Returns items matching your query.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_immigration_refugees` (~42 tokens)

Search immigration and refugee data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_indigenous_stats` (~40 tokens)

Search Indigenous peoples statistics and data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `search_transportation_data` (~39 tokens)

Search transportation and infrastructure data. Results from open.canada.ca.

Input parameters:

- `limit` (number)
- `query` (string, required): Search terms

### `searxng_health` (~79 tokens)

Check SearXNG engine health: which engines are failing, suspended, or rate-limited. Returns engine success rates, suspension times, and error counts.

Input parameters:

- `checkEngines` (boolean): Whether to run live engine tests (adds ~5s latency)
- `maxResults` (integer): Max results to return per engine test

### `smart_search` (~145 tokens)

Intent-aware search across the Canadian government data sources this tool is configured to reach. Understands intent, expands synonyms, detects time-series queries, and summarizes recent changes. Configured sources include Parliament (debates, bills, votes, MPs, committees), Gazette (regulations), and government open data (health, economy, environment, immigration, spending, etc.) — coverage varies by source availability, so results reflect only the sources that responded.

Input parameters:

- `limit` (number)
- `mode` (string): "search" or "trends"
- `query` (string): Question or keywords (e.g., "inflation trends", "health regulations", "what changed this week")

### `track_bill` (~67 tokens)

Track a Canadian federal bill through Parliament. Combines bill status, related debates, voting records, and regulatory impact from multiple sources. Use this to follow legislation end-to-end.

Input parameters:

- `query` (string, required): Bill number or keyword (e.g., "C-", "S-", "budget implementation")

### `get_wdi_indicator` (~90 tokens)

Fetch World Bank Development Indicator data for specific countries

Input parameters:

- `countries` (array): Country codes (ISO 3166-1 alpha-3, default: major economies)
- `dateRange` (string): Year range (e.g., "2000:2023")
- `indicatorCode` (string, required): World Bank indicator code (e.g., NY.GDP.MKTP.CD for GDP)

### `compare_wdi_countries` (~53 tokens)

Compare a World Bank indicator across multiple countries

Input parameters:

- `countries` (array, required): Country codes to compare
- `dateRange` (string): Year range
- `indicatorCode` (string, required): World Bank indicator code

### `get_country_wdi_profile` (~59 tokens)

Get a country profile with the key development indicators the World Bank WDI publishes for that country

Input parameters:

- `country` (string, required): Country code (ISO 3166-1 alpha-3)
- `dateRange` (string): Year range

### `analyze_indicator_trend` (~51 tokens)

Analyze trend for a World Bank indicator over time

Input parameters:

- `country` (string, required): Country code
- `dateRange` (string): Year range
- `indicatorCode` (string, required): World Bank indicator code

### `fetch_topic_indicators` (~78 tokens)

Fetch the World Bank WDI indicators published under a topic (economy, health, social, etc.)

Input parameters:

- `countries` (array): Country codes (default: all countries)
- `dateRange` (string): Year range
- `topicCode` (string, required): Topic code (economy, social, health, infrastructure, environment, governance)

### `get_indicator_metadata` (~29 tokens)

Get metadata for a World Bank indicator

Input parameters:

- `indicatorCode` (string, required): World Bank indicator code

### `get_comtrade_by_partner` (~46 tokens)

Fetch UN Comtrade trade data for a specific partner country

Input parameters:

- `partner` (string, required): Country code (e.g., US, CN)
- `year` (number)

### `get_comtrade_by_commodity` (~41 tokens)

Fetch UN Comtrade trade data for a specific commodity

Input parameters:

- `commodityCode` (string, required): HS commodity code
- `year` (number)

### `get_comtrade_trends` (~43 tokens)

Get UN Comtrade trade trends over time

Input parameters:

- `partner` (string, required): Country code (e.g., US, CN)
- `years` (array)

### `ai_ask` (~160 tokens)

Ask a natural language question about Canadian government data. Uses AI to search the pipeline sources it can reach (committees, lobbying, procurement, regulations, courts, oversight) and return a cited, synthesized answer. The answer is model-generated from retrieved records; verify the cited records before relying on the synthesis, and absence of an answer is not evidence of absence in the source.

Input parameters:

- `query` (string, required): Natural language question about Canadian government data (e.g., "What did the ethics commissioner investigate in 2024?")
- `source_filter` (string): Optional: narrow search to a specific source type (e.g., "committees", "lobbying", "procurement", "regulations", "courts", "oversight")

### `ai_analyze` (~82 tokens)

Analyze a document, transcript, or data set using AI. Detects topics, sentiment, entities, and generates a structured summary with metadata. Supports different analysis modes.

Input parameters:

- `analysis_type` (string): Type of analysis to perform (default: "full")
- `text` (string, required): The text content to analyze (document, transcript, article, or data excerpt)

### `ai_search_semantic` (~162 tokens)

Semantic search over the documents currently indexed in the vector store, using embeddings. Finds conceptually related documents even when keywords do not match. Results are limited to what has been embedded and indexed — a module that has not been embedded, or indexed after your query, will not be represented. Uses the AI Inference Gateway for embedding and Qdrant vector DB for similarity search.

Input parameters:

- `limit` (number): Maximum number of results to return (default: 10)
- `query` (string, required): Natural language search query (e.g., "regulatory impacts on small business", "ethics investigations into political staff")
- `source_type` (string): Optional: filter results by source type (e.g., "committee", "lobbying", "court")

### `explore_catalog` (~102 tokens)

Browse the MapleSpike data catalog. Lists all available data sources, MCP tools, and categories. Use this to discover what data is available before searching. Filter by category or search terms to find relevant tools.

Input parameters:

- `category` (string): Filter by data category (e.g., "committees", "lobbying", "health")
- `format` (string): Output format (default: summary)
- `query` (string): Search for sources/tools matching text

### `signal_check` (~101 tokens)

Check for new or changed items across the government data sources this tool watches (committees, Gazette, lobbying, procurement, oversight). Returns items first seen since the last check, as recorded by this tool's local signal store; a source that did not respond yields no items rather than a negative finding. Use this proactively to detect new regulatory filings, committee activity, or lobbying registrations.

Input parameters:

- `sources` (array): Sources to check (default: every watched source)

### `system_health` (~99 tokens)

Check the MapleSpike API service health. Returns service status, version, environment, tenant tier, current API call usage (daily/monthly), local free-tier quota (1,000 calls/month per identity, then x402 charged per call), per-dependency health checks (API server, storage, cache) with response times, and query optimization statistics (cache hit rate, result limits). Use this to verify the API is responding and to check your quota.

### `resolve_entity` (~153 tokens)

Resolve a person or organization name to the mentions found in MapleSpike data sources. Returns a consolidated profile with canonical name, aliases, source appearances (committees, lobbying, procurement, corporate, etc.), roles, and dates. Coverage is limited to modules that have ingested and linked records for this name — a missing registry means no linked record, not that none exists.

Input parameters:

- `name` (string, required): Name to resolve — person (e.g. "John Smith") or organization (e.g. "Lockheed Martin Canada")
- `threshold` (number): Fuzzy matching threshold (default: 0.7, higher = stricter)
- `type` (string): Entity type hint (default: auto-detect)

### `find_connections` (~125 tokens)

Discover the relationship network around a person or organization. Returns connected entities (people, organizations), relationship types (employs, lobbies, directs, owns), and confidence scores. Use this for conflict-of-interest detection, influence mapping, and network analysis. Example: find who a committee witness is connected to via lobbying or corporate roles.

Input parameters:

- `maxConnections` (number): Maximum connections to return (default: 20)
- `name` (string, required): Name to center the network on — person or organization
- `type` (string): Entity type hint (default: auto-detect)

### `linked_entities` (~153 tokens)

Cross-reference an entity across the registries Quill currently tracks (lobbying, GIC, committees, corporate, CanLII, elections, oversight, municipal, provincial). Resolves the name to its canonical entity, then assembles per-registry evidence with confidence. A registry with no linked record returns no hits; confidence is a resolver score, not a source attestation. Use this to answer "what does each registry say about X" in a single call.

Input parameters:

- `name` (string, required): Entity name to cross-reference (person or organization)
- `threshold` (number): Fuzzy matching threshold (default: 0.7)
- `type` (string): Entity type hint (default: auto-detect)

### `verify_claim` (~137 tokens)

Look up a Quill claim hash and, when data is supplied, compare the SHA-256 of its canonical JSON representation. A store match checks that a record with this hash is indexed; a recomputed match checks record integrity. Neither establishes source authenticity, completeness, accuracy, or reuse rights. Returns { verified, matches, recomputedSha256 }.

Input parameters:

- `data` (string): Optional JSON value — Quill recomputes the hash of this value after canonical JSON serialization; this does not authenticate its source
- `sha256` (string): SHA-256 hash to verify (accepts "sha256:<hex>" or bare hex)

### `resolve_quill_id` (~155 tokens)

Resolve a question about Canadian public data into canonical Quill IDs you can pass to query_quill. Returns ranked IDs (e.g. /committees, /ircc/study-permits, quill://entity) with descriptions, provenance scores (Quill-computed record-quality signals, not publisher declarations), update cadence, and the underlying tool each ID routes to. You MUST call this before query_quill unless the user provided an ID directly. Do not call more than 3 times per question.

Input parameters:

- `limit` (number): Max results (default 5)
- `query` (string, required): The user's question or task — used to rank which Quill IDs are relevant. Do not include sensitive or confidential information.

### `query_quill` (~197 tokens)

Execute a Canadian public data query by Quill ID. You MUST call resolve_quill_id first to obtain a valid ID (format: /category, /category/dataset, or quill://entity) UNLESS the user provided one directly. Each result reports the routed tool name and, when available, a SHA-256 claim hash with a verify_claim recipe for checking the canonical record hash; this does not authenticate the source. Do not call this tool more than 3 times per question.

Input parameters:

- `args` (object): Optional tool-specific arguments (limit, filters, dates) forwarded to the routed tool.
- `id` (string, required): Canonical Quill ID from resolve_quill_id (e.g. "/committees", "/ircc/study-permits", "quill://entity").
- `query` (string, required): What to look up — scoped to a single concept. The routed tool receives this as its primary query.

### `x402-deposit` (~89 tokens)

Deposit USDC on Solana to pre-fund your credit balance. Provide a verified transaction signature and the amount in USDC. Subsequent tool calls draw from this balance without per-call on-chain latency.

Input parameters:

- `expectedAmount` (number, required): Expected USDC amount (decimal, e.g. 0.10)
- `signature` (string, required): Base58 Solana transaction signature proving the deposit

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/reverb256-quill/mcp#diagnostics

## Score history

- 2026-11-05: 28
- 2026-11-04: 28
- 2026-11-03: 28
- 2026-11-02: 28
- 2026-11-01: 28
- 2026-10-31: 28
- 2026-10-30: 28
- 2026-10-29: 28
- 2026-10-28: 28
- 2026-10-27: 28
- 2026-10-26: 64
- 2026-10-25: 63
- 2026-10-24: 63
- 2026-10-23: 62
- 2026-10-22: 62
- 2026-10-21: 28
- 2026-10-20: 28
- 2026-10-19: 28
- 2026-10-18: 28
- 2026-10-17: 28
- 2026-10-16: 28
- 2026-10-15: 28
- 2026-10-14: 28
- 2026-10-13: 28
- 2026-10-12: 28
- 2026-10-10: 28
- 2026-10-07: 28
- 2026-10-04: 28
- 2026-10-03: 28
- 2026-10-02: 28

## Common questions

### What is the Quill — Canadian Government Data (MapleSpike) MCP server?

Quill — Canadian Government Data (MapleSpike) is an MCP server listed in the public MCP registry as io.github.reverb256/quill. Canadian government data for AI agents, all jurisdictions, SHA-256 provenance. This page covers its hosted endpoint (https://mcp.maplespike.ca/sse).

### Is the Quill — Canadian Government Data (MapleSpike) MCP server safe to use?

Quill — Canadian Government Data (MapleSpike) scores 28 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Quill — Canadian Government Data (MapleSpike) MCP server expose?

Quill — Canadian Government Data (MapleSpike) exposes 184 tools: query_gov_data, fact_check, get_citation, latest_releases, search_committees, and 179 more. Their descriptions and schemas cost roughly 16,982 tokens of context every time the server is loaded.

### Does the Quill — Canadian Government Data (MapleSpike) MCP server require authentication?

Yes. Quill — Canadian Government Data (MapleSpike) asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Quill — Canadian Government Data (MapleSpike) MCP server still maintained?

Quill — Canadian Government Data (MapleSpike) is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.maplespike.ca/sse
- Repository: https://github.com/reverb256/quill
- Website: https://quill.maplespike.ca/
- Changelog RSS feed: https://verifymcp.io/servers/reverb256-quill/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/reverb256-quill/mcp.json
- HTML version of this page: https://verifymcp.io/servers/reverb256-quill/mcp
