Transport NSW API Client MCP
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
References swagger-client as a local dependency for integration with the Transport NSW API, enabling structured API access.
Transport NSW API Client (MCP Implementation)
A Claude MCP for interacting with the Transport NSW API using direct HTTP requests.
About
This project implements a Model Context Protocol (MCP) service for Transport NSW's API.
Setup
- Clone this repository
- Install dependencies using uv (fast Python package manager):Copy
- Create a
.env
file with your API key:Copy - (Optional) Run the MCP Inspector:And visit the server at http://localhost:5173 (port might be different).Copy
Features
- Stop Finder API: Find transport stops by name or coordinates
- Alerts API: Get information about transport alerts and disruptions
- Departure Monitor API: Get real-time departure information for transport stops
- MCP Implementation: Structured as a Model Context Protocol service
Usage Examples
MCP Examples coming soon. Standard Python examples below:
Find Transport Stops
Get Transport Alerts
Monitor Real-time Departures
Demo Script
The project includes a comprehensive demo script that showcases all API functionality:
Testing
Local Testing
Run the complete test suite with pytest:
Run with coverage reporting:
Continuous Integration
Tests automatically run on GitHub Actions for every push and pull request to the main branch. The workflow:
- Sets up Python 3.10
- Installs uv and project dependencies
- Runs tests with coverage reporting
To use this feature:
- Add your
OPEN_TRANSPORT_API_KEY
as a GitHub repository secret - Push your code to GitHub
MCP Integration
This project follows the Model Context Protocol specification, allowing AI models to access Transport NSW data through a standardized interface.
Package Management
This project uses uv, a modern Python package manager written in Rust. Dependencies are managed through:
pyproject.toml
: Defines project dependenciesuv.lock
: Locks dependency versions for reproducible environments
This server cannot be installed
An MCP service for interacting with Transport NSW's API that enables users to find transport stops around locations and retrieve information about transport alerts and disruptions.