Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DriveBC MCP ServerWhat are the current conditions on Highway 1?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 buildUsage
Running the Server
npm startThe server runs on stdio transport and is designed to be used with MCP-compatible AI clients like Claude Desktop.
Development Mode
npm run devConfiguration
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 conditions2. 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 Mainland3. get_road_closures
List all current road closures and major restrictions.
Parameters:
region(optional): Filter by BC regionhighway(optional): Filter by specific highwayseverityMinimum(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 regionalertType(optional): Type of alert (WEATHER_CONDITION, ROAD_CONDITION, INCIDENT)severityMinimum(optional): Minimum severity level (default: MINOR)
Example:
Show weather alerts for Northern BCData 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.mdDevelopment
Type Checking
npm run type-checkBuilding
npm run buildBC Regions
The server supports the following BC regions:
Lower Mainland
Vancouver Island
Thompson Okanagan
Kootenay Rockies
Cariboo
Northern BC
License
MIT