---
name: northaxium-data-mcp
description: Use NorthAxium Data MCP for Canadian contracts, lobbying, grants, politics, permits, zoning, and Parliament queries.
---
# NorthAxium Data MCP — usage guide
The `northaxium-data` MCP server covers Canadian government data:
- Federal contracts, tenders, awards, vendors, and departments
- Federal grants, research grants, and infrastructure projects
- Lobbying registrations and communications
- Political contributions
- Parliamentary bills and politicians
- Building permits across 17 Canadian municipalities
- Zoning lookups across 10 Canadian municipalities
Use the MCP server when the user asks about Canadian government spending, vendors, lobbying, legislation, grants, political financing, building permits, or zoning.
## Required lookup patterns
Use these patterns before answering.
### Vendor lookup
1. Use `search_vendors(q="...")` to find exact vendor strings.
2. Use `get_vendor_profile(name="...")` with the exact vendor string.
Do not call `get_vendor_profile` with an unverified company name if the name may have variants.
### Politician lookup
1. Use `search_politicians(q="...")` to resolve the politician slug.
2. Use `get_politician_profile(slug="...")` with the returned slug.
### Grant recipient lookup
1. Use `search_grant_recipients(q="...")` to resolve recipient name variants.
2. Use `get_grant_recipient_profile(name="...")` with the exact returned name.
TBS federal grants have fragmented recipient names. Always disambiguate first.
### Lobbying to contracts
To answer whether lobbying may connect to procurement:
1. Use `get_client_profile(name="...")` for lobbying summary.
2. Use `get_lobbying_communications(client="...")` for meeting records.
3. Use `search_contracts(vendor="...")` for contract wins.
4. Compare dates and departments. Do not claim causation unless the data directly supports it.
## Tool inventory
### Procurement
- `search_contracts` — Search federal contracts by vendor, department, value, method, and date.
- `search_vendors` — Resolve exact vendor strings before profiling.
- `get_vendor_profile` — Return aggregate contract history for a vendor.
- `get_department_profile` — Return aggregate spending profile for a department.
- `search_tenders` — Search CanadaBuys tender notices.
- `search_awards` — Search CanadaBuys award notices.
- `get_procurement_lifecycle` — Trace tender, award, and contract records by solicitation number.
### Grants
- `search_grants` — Search `federal_grants`, `research_grants`, or `infrastructure_projects`.
- `search_grant_recipients` — Resolve recipient name variants.
- `get_grant_recipient_profile` — Return aggregate federal grant history for a recipient.
### Lobbying
- `search_lobbying` — Search lobbying registrations.
- `get_lobbying_communications` — Search actual lobbying communication records.
- `get_client_profile` — Return aggregate lobbying activity for a client organization.
### Political contributions
- `search_contributions` — Search Elections Canada reviewed political contributions.
### Parliamentary
- `search_bills` — Search parliamentary bills.
- `search_politicians` — Resolve politician names to slugs.
- `get_politician_profile` — Return politician profiles, including elections, committees, bills, and lobbying interactions.
### Permits
- `search_permits` — Search building permits across supported municipalities.
### Zoning
- `lookup_zone` — Look up zoning at a latitude and longitude.
## Parameter notes
Use these exact parameter names.
### `search_contracts`
Common parameters: `vendor`, `department`, `method`, `min_value`, `max_value`, `date_from`, `date_to`, `page`, `per_page`.
### `search_vendors`
Required: `q`.
Optional: `min_value`, `sort_by`, `limit`, `offset`.
### `get_vendor_profile`
Required: `name`.
Use the exact string returned by `search_vendors`.
### `search_grants`
Required: `dataset`.
Dataset values: `federal_grants`, `research_grants`, `infrastructure_projects`.
Common optional parameters: `q`, `program`, `min_value`, `max_value`, `recipient`, `department`, `province`, `fiscal_year`, `status`, `sort_by`, `sort_order`, `limit`, `offset`.
For university or researcher funding, use `dataset="research_grants"`.
### `search_grant_recipients`
Required: `q`.
Optional: `sort_by`, `limit`, `offset`.
### `get_grant_recipient_profile`
Required: `name`.
Use the exact string returned by `search_grant_recipients`.
### `search_lobbying`
Common parameters: `client`, `lobbyist`, `institution`, `subject`, `active`, `date_from`, `date_to`, `page`, `per_page`.
Use this for what an organization is registered to lobby on.
### `get_lobbying_communications`
Common parameters: `client`, `dpoh`, `institution`, `lobbyist`, `subject`, `date_from`, `date_to`, `page`, `per_page`.
Use this for who met whom and when.
The `lobbyist` filter has sparse source-data coverage. Prefer `client`, `dpoh`, or `institution`.
### `get_client_profile`
Required: `name`.
Partial match is accepted.
### `search_contributions`
Common parameters: `contributor`, `recipient`, `party`, `contributor_type`, `entity_type`, `province`, `min_amount`, `max_amount`, `year`, `date_from`, `date_to`, `sort_by`, `sort_order`, `page`, `per_page`.
### `search_bills`
Common parameters: `q`, `session`, `status`, `sponsor`, `sector`, `page`, `per_page`.
### `search_politicians`
Required: `q`.
Use this before `get_politician_profile`.
### `get_politician_profile`
Required: `slug`.
Use the slug returned by `search_politicians`.
### `search_permits`
Common parameters: `municipality`, `province`, `permit_type`, `status`, `q`, `min_value`, `max_value`, `issued_after`, `issued_before`, `lat`, `lng`, `radius_km`, `sort_by`, `sort_order`, `limit`, `offset`.
### `lookup_zone`
Required: `lat`, `lng`.
Supported cities include Toronto, Calgary, Edmonton, Vancouver, Winnipeg, Ottawa, Mississauga, Kitchener, Hamilton, and Quebec City.
## Data-quality caveats
- Vendor names are not normalized across every source. Run `search_vendors` before `get_vendor_profile`.
- Federal grants recipient names are fragmented. Run `search_grant_recipients` before `get_grant_recipient_profile`.
- Lobbying `lobbyist` coverage is sparse in event-level records. Prefer `client`, `dpoh`, or `institution`.
- Ottawa permits have partial geometry coverage due to source-address quality.
- Victoria permits are based on a rolling 365-day feed.
- Contracts category filtering is not available until `commodity_type` is normalized.
- Bill AI analysis may be `null`.
- Zoning does not currently cover Montreal or Brampton.
## Example workflows
### What has Palantir won from the Canadian government?
1. `search_vendors(q="Palantir")`
2. `get_vendor_profile(name="Palantir Technologies Canada")`
### Is SNC-Lavalin lobbying the federal government?
1. `get_client_profile(name="SNC-Lavalin")`
2. `get_lobbying_communications(client="SNC-Lavalin")`
### What has Mark Carney's lobbying history been since becoming PM?
1. `search_politicians(q="Carney")`
2. `get_politician_profile(slug="mark-carney")`
### Who are the biggest donors to the Liberal Party?
1. `search_contributions(party="Liberal", sort_by="amount", per_page=20)`
### What new construction is happening in downtown Calgary?
1. `search_permits(municipality="calgary", permit_type="new_construction", sort_by="value")`
### What is the zoning at 100 King Street West, Toronto?
1. Geocode the address to latitude and longitude.
2. `lookup_zone(lat=43.6478, lng=-79.3820)`