DriveBC MCP Server

DriveBC MCP Server

Provides real-time access to BC highway conditions, road closures, weather alerts, and traffic incidents through the Open511-DriveBC API with smart caching.

Category
Visit Server

README

DriveBC MCP Server

An MCP (Model Context Protocol) server that provides AI assistants with access to real-time BC highway conditions, road closures, and weather alerts via the Open511-DriveBC API.

Features

  • Highway Conditions: Get current conditions for specific BC highways
  • Regional Overview: View all events within a BC region
  • Road Closures: List active closures and restrictions
  • Weather Alerts: Access weather-related incidents and warnings
  • Smart Caching: 5-minute cache to reduce API load while keeping data fresh
  • Type-Safe: Full TypeScript implementation with proper types

Installation

npm install
npm run build

Usage

Running the Server

npm start

The server runs on stdio transport and is designed to be used with MCP-compatible AI clients like Claude Desktop.

Development Mode

npm run dev

Configuration

Claude Desktop

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "drivebc": {
      "command": "node",
      "args": ["/path/to/drivebc_mcp/build/index.js"]
    }
  }
}

After adding the configuration, restart Claude Desktop.

LM Studio

LM Studio supports MCP as of version 0.3.17. Add the following to your LM Studio MCP configuration:

macOS/Linux: ~/.lmstudio/mcp.json Windows: %USERPROFILE%/.lmstudio/mcp.json

{
  "mcpServers": {
    "drivebc": {
      "command": "node",
      "args": ["/path/to/drivebc_mcp/build/index.js"]
    }
  }
}

After adding the configuration, restart LM Studio.

Available Tools

1. get_highway_conditions

Get current conditions, incidents, and closures for a specific BC highway.

Parameters:

  • highway (required): Highway number or name (e.g., "Highway 1", "99", "1")
  • severity (optional): Filter by severity level (MINOR, MODERATE, MAJOR, UNKNOWN)
  • includeScheduled (optional): Include scheduled construction (default: true)

Example:

Check Highway 1 conditions

2. get_regional_conditions

Get road conditions and events for a specific BC region.

Parameters:

  • region (required): BC region name (Lower Mainland, Vancouver Island, Thompson Okanagan, Kootenay Rockies, Cariboo, Northern BC)
  • eventType (optional): Filter by event type (CONSTRUCTION, INCIDENT, WEATHER_CONDITION, ROAD_CONDITION, SPECIAL_EVENT)
  • limit (optional): Maximum events to return (default: 50, max: 500)

Example:

Show road conditions in the Lower Mainland

3. get_road_closures

List all current road closures and major restrictions.

Parameters:

  • region (optional): Filter by BC region
  • highway (optional): Filter by specific highway
  • severityMinimum (optional): Minimum severity to include (MINOR, MODERATE, MAJOR; default: MODERATE)

Example:

Are there any road closures on Highway 1?

4. get_weather_alerts

Get active weather alerts and road condition warnings.

Parameters:

  • region (optional): Filter by BC region
  • alertType (optional): Type of alert (WEATHER_CONDITION, ROAD_CONDITION, INCIDENT)
  • severityMinimum (optional): Minimum severity level (default: MINOR)

Example:

Show weather alerts for Northern BC

Data Source

This server uses the Open511-DriveBC API which provides:

  • Real-time road events and incidents
  • Road closures and construction updates
  • Weather conditions and alerts
  • Travel advisories

The API is public and requires no authentication.

Caching

The server implements a 5-minute cache to:

  • Reduce load on the DriveBC API
  • Improve response times
  • Maintain reasonably fresh data

Cache hits and misses are logged to stderr for monitoring.

Project Structure

drivebc_mcp/
├── src/
│   ├── index.ts                    # MCP server entry point
│   ├── tools/
│   │   ├── highway-conditions.ts   # Highway-specific queries
│   │   ├── regional-conditions.ts  # Regional overview
│   │   ├── road-closures.ts        # Closures and restrictions
│   │   └── weather-alerts.ts       # Weather and incidents
│   ├── api/
│   │   ├── client.ts               # API client with caching
│   │   ├── types.ts                # TypeScript type definitions
│   │   └── constants.ts            # BC regions and highways
│   ├── cache/
│   │   └── manager.ts              # Cache implementation
│   └── utils/
│       └── formatters.ts           # Response formatting
├── package.json
├── tsconfig.json
└── README.md

Development

Type Checking

npm run type-check

Building

npm run build

BC Regions

The server supports the following BC regions:

  • Lower Mainland
  • Vancouver Island
  • Thompson Okanagan
  • Kootenay Rockies
  • Cariboo
  • Northern BC

License

MIT

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
Qdrant Server

Qdrant Server

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

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
E2B

E2B

Using MCP to run code via e2b.

Official
Featured