Canadian Building Code MCP Server

Canadian Building Code MCP Server

Enables users to search and navigate over 22,500 indexed sections across 16 Canadian building codes and user guides. It supports keyword searches, hierarchy navigation, and optional full-text extraction from user-provided PDF documents.

Category
Visit Server

README

Canadian Building Code MCP Server

PyPI version License: MIT

A Model Context Protocol (MCP) server that enables Claude to search and navigate Canadian building codes.

How It Works

This MCP server operates in two modes:

Mode Use Case PDF Required Text Extraction
Map-Only Hosted API, Quick lookup No Page numbers & coordinates only
BYOD Local MCP with full text Yes (your own) Full section text

Map-Only Mode (Default)

  • Returns page numbers, section IDs, and coordinates
  • Works everywhere (local, Vercel, Render, etc.)
  • No PDF needed - just the indexed maps

BYOD Mode (Bring Your Own Document)

  • Connect YOUR legally obtained PDF using set_pdf_path
  • Get full text extraction from sections
  • Local MCP only - not available in hosted API

Note: The hosted API at canada-aec-code-mcp.onrender.com runs in Map-Only mode. For full text extraction, run the MCP server locally and connect your own PDFs.


Quick Setup

Option A: Smithery (One-click install)

npx -y @smithery/cli@latest install davidcho/ca-building-code-mcp --client claude

Option B: uvx (Auto-updates, recommended)

Prerequisites: Install uv first (one-time setup):

# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Or via pip
pip install uv

Then add to Claude Desktop config (%APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on Mac):

{
  "mcpServers": {
    "building-code": {
      "command": "uvx",
      "args": ["building-code-mcp"]
    }
  }
}

Benefits: Automatically checks for updates on each run - always get the latest version!

Option C: pip install (Manual updates)

pip install building-code-mcp
{
  "mcpServers": {
    "building-code": {
      "command": "building-code-mcp"
    }
  }
}

To update: Run pip install --upgrade building-code-mcp


What It Does

Ask Claude questions like:

  • "Find fire separation requirements for garages in NBC"
  • "What are the stair width requirements in OBC?"
  • "Show me section 9.10.14 of the Building Code"

Claude will search 22,500+ indexed sections across 16 Canadian building codes and guides.

Supported Codes

Building Codes (13)

Code Version Sections Description
NBC 2025 2,700+ National Building Code
NFC 2025 1,000+ National Fire Code
NPC 2025 400+ National Plumbing Code
NECB 2025 450+ National Energy Code for Buildings
OBC 2024 4,100+ Ontario Building Code (Vol 1 & 2)
OFC O. Reg. 213/07 1,900+ Ontario Fire Code
BCBC 2024 2,500+ British Columbia Building Code
ABC 2023 2,800+ Alberta Building Code
QCC 2020 2,700+ Quebec Construction Code
QECB 2020 380+ Quebec Energy Code
QPC 2020 420+ Quebec Plumbing Code
QSC 2020 1,000+ Quebec Safety Code

User's Guides (3)

Guide Version Sections Description
IUGP9 2020 1,000+ Illustrated Guide - Part 9 Housing
UGP4 2020 490+ User's Guide - NBC Structural Commentaries
UGNECB 2020 160+ User's Guide - NECB

Usage Examples

Once installed, just ask Claude naturally:

"Search for egress requirements in NBC"
"What does section 3.2.4.1 say in OBC?"
"Find fire resistance ratings for walls"
"Which building code applies in Toronto?"
"List all available building codes"

API Access

REST API available at: https://canada-aec-code-mcp.onrender.com

GET /codes              - List all codes
GET /search/{query}     - Search sections
GET /section/{id}       - Get section details

Hosted API Limitation: The hosted API runs in Map-Only mode. set_pdf_path is not available - use local MCP for full text extraction.

License

MIT License - See LICENSE file.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured