Overview
The MCP (Model Context Protocol) server exposes 15 tools across 6 domains. Once connected, your AI assistant handles the reasoning while NorthAxium Data supplies the ground truth from primary government sources. There is currently one way to connect:- Claude Desktop (stdio) — runs locally using your Developer or Pro API key; available on Developer and Pro plans
Hosted SSE transport (for Claude.ai web and always-on agent frameworks) is coming for Pro tier. The stdio setup below works today with Claude Desktop.
Getting Started
MCP access requires a Developer or Pro plan. Sign up at northaxiumdata.ca to get your API key.- Claude Desktop
- Cursor
- Other Clients
Prerequisites
- Claude Desktop installed (Mac or Windows)
- A Developer or Pro API key
- Python 3.11+ installed locally
- Git
1. Clone the server repo
2. Configure your environment
Create a.env file in the repo root with your database connection details:Contact support@northaxiumdata.ca to receive your hosted database credentials.
3. Add to Claude Desktop config
Open your Claude Desktop configuration file:- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
/absolute/path/to/NorthAxiumData with the full path to the cloned repo on your machine.4. Restart Claude Desktop
Quit Claude Desktop completely — do not just close the window — and relaunch it. Thenorthaxium-data server should appear in the tools panel.Troubleshooting
Tools not appearing — make sure you fully quit and relaunched Claude Desktop. A window close is not a restart.Database connection error — verify the.env file is in the repo root and all NA_PG_* values are set. Run python3 -c "import dotenv; dotenv.load_dotenv(); import os; print(os.getenv('NA_PG_HOST'))" to confirm the env loads correctly.Import errors — run pip install -r requirements.txt again from inside the repo directory.MCP Tools
Once connected, your AI assistant has access to 15 tools across 6 domains. Procurementsearch_contracts— Search federal contracts by vendor, department, value range, and date. Returns paginated contract records from CanadaBuys and TBS.search_vendors— Browse distinct vendor name strings to resolve ambiguous vendor names before profiling. Use beforeget_vendor_profile.get_vendor_profile— Aggregated procurement profile for a named vendor: total contract value, top departments, contract count, and recent awards.get_department_profile— Aggregated procurement profile for a federal department: total spend, top vendors, and event type breakdown.
search_grants— Search across three grant datasets. Specifydataset:federal_grants(TBS),research_grants(NSERC/SSHRC), orinfrastructure_projects(Infrastructure Canada).search_grant_recipients— Browse distinct recipient name strings to resolve ambiguous institution names before profiling. Use beforeget_grant_recipient_profile.get_grant_recipient_profile— Aggregated grants profile for a recipient: total value received, top funding departments, and recent grants.
search_lobbying— Search lobbying registrations — what organizations are registered to lobby, on what subjects, and targeting which institutions.get_lobbying_communications— Search actual communication records: who lobbyists met with, when, and on what subject.get_client_profile— Aggregated lobbying profile for a client organization: total communication count, top institutions lobbied, and top subject areas.
search_contributions— Search Elections Canada reviewed political contributions by contributor name, party, year, province, and monetary amount.
search_bills— Search parliamentary bills by keyword, session, status, sponsor, and sector tag.search_politicians— Search current and historical MPs. Use to resolve a name to its slug before callingget_politician_profile.get_politician_profile— Full politician profile: election history, committee memberships, lobbying interactions as a designated public office holder (DPOH), and bill sponsorships.
search_permits— Search building permits across 17 Canadian municipalities. Supports proximity search by latitude, longitude, and radius in kilometres.
Authentication
The MCP server authenticates using your NorthAxium Data API key. The key is read from the.env file in the repo root at server startup — it is never sent over the network directly by the MCP layer.
MCP access is gated by plan:
| Tier | MCP Access |
|---|---|
| Free | ❌ |
| Developer ($29 CAD / mo) | ✅ stdio — Claude Desktop and compatible clients |
| Pro ($99 CAD / mo) | ✅ stdio + Hosted SSE (coming soon) |
| Enterprise | ✅ Hosted SSE + priority rate limits |
Example Usage
After connecting, try asking Claude questions like:- “What has Palantir lobbied for in Canada?”
- “Who are the top vendors for the Department of National Defence by contract value?”
- “What federal contracts has Shopify won?”
- “Find all new construction permits in Calgary over $1M issued in the last year”
- “Which companies are lobbying most actively on mining and natural resources?”
- “Show me Mark Carney’s lobbying interactions as a DPOH before he entered politics”
- “How much has the University of Toronto received in NSERC grants over the last 10 years?”
- “Compare lobbying activity for the top three defence contractors”

