TfNSW Realtime Alerts MCP Server
by piddlingtuna
A Model Context Protocol server for Transport for NSW's (TfNSW) Realtime Alerts API. This server provides tools to access and interact with real-time transport alerts and information via Large Language Models.
Last updated: N/A
TfNSW Realtime Alerts MCP Server
A Model Context Protocol server for Transport for NSW's (TfNSW) Realtime Alerts API. This server provides tools to access and interact with real-time transport alerts and information via Large Language Models.
Overview
This TypeScript-based MCP server implements integration with Transport for NSW's Realtime Alerts system. It enables AI assistants to access up-to-date information about transport disruptions, planned works, and other important alerts across the NSW transport network.
Features
Resources
- List and access transport alerts via
nsw-transport://
URIs - Filter alerts by transport mode (buses, trains, ferries, etc.)
- Plain text format for easy consumption by AI assistants
Tools
get-transport-alerts
- Retrieve current transport alerts- Filter by transport mode
- Returns formatted alert information including affected routes, time periods, and impact details
Prompts
transport-disruption-summary
- Generate a summary of current transport alerts- Includes relevant alert details as embedded resources
- Returns structured prompt for LLM summarisation of major disruptions
Transport Modes
The following transport modes are supported:
all
- All transport modesbuses
- Sydney Metro and Outer Metro Bus servicesferries
- Sydney Ferries and Newcastle Transport ferrieslightrail
- Light Rail servicesmetro
- Sydney Metronswtrains
- NSW Trains regional trains and coachesregionbuses
- Regional Bus servicessydneytrains
- Sydney Trains suburban and intercity network
Authentication
This server requires authentication with the TfNSW Open Data API. You will need to register for an API key at the TfNSW Open Data Hub.
Installation
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"tfnsw-realtime-alerts": {
"command": "npx",
"args": [
"-y",
"tfnsw-realtime-alerts-mcp-server"
],
"env": {
"NSW_TRANSPORT_API_KEY": "your_api_key_here"
}
}
}
}
Replace "your_api_key_here"
with your TfNSW API key from the TfNSW Open Data Hub.
Development
Configure your API key as an environment variable in your .env
file:
NSW_TRANSPORT_API_KEY="your_api_key_here"
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Debugging
You can use the MCP Inspector for debugging, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
License
This project is licensed under the MIT License - see the LICENSE file for details.