Skip to main content
Agent skills give your AI assistant domain-specific instructions for using NorthAxium Data correctly. The current skill is for Claude Desktop. It teaches Claude when to use the NorthAxium Data MCP server, which tools are available, and which lookup patterns prevent bad results.

MCP Server

Configure the NorthAxium Data MCP server before installing the skill.

Available skills

SkillClientWhat it helps with
northaxium-data-mcpClaude DesktopCanadian government data queries through the NorthAxium Data MCP server

Install the Claude Desktop skill

Before installing the skill, make sure the MCP server is already configured in Claude Desktop.
1

Create the skill folder

Create a folder named northaxium-data-mcp.
mkdir -p northaxium-data-mcp
2

Create SKILL.md

Create a file at:
northaxium-data-mcp/SKILL.md
Paste the skill content below into that file.
3

Zip the skill folder

Create a ZIP that contains the northaxium-data-mcp folder.
zip -r northaxium-data-mcp.zip northaxium-data-mcp
4

Upload and enable the skill

In Claude Desktop, open SettingsCapabilities, upload northaxium-data-mcp.zip, then enable the skill.
5

Test the skill

Ask Claude a question that should use NorthAxium Data:
Who are the top vendors for the Department of National Defence by contract value?
Claude should use the northaxium-data MCP tools and follow the lookup patterns in the skill.

Claude Desktop skill

Copy this into northaxium-data-mcp/SKILL.md.
---
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)`

Troubleshooting

Claude does not use the skill — Confirm the ZIP contains northaxium-data-mcp/SKILL.md, then enable the skill in SettingsCapabilities. Claude cannot see NorthAxium tools — Configure the MCP server first. The skill gives instructions; the MCP server provides the tools. MCP authentication fails — Check that your Claude Desktop MCP config includes a valid Developer or Pro API key in NORTHAXIUM_API_KEY. Results look incomplete — Use the two-step lookup patterns in the skill. Vendor names, grant recipient names, and politician profiles require disambiguation.