π CATA Bus MCP Server
A Model Context Protocol (MCP) server that provides live and static schedule data for the Centre Area Transportation Authority (CATA) bus system in State College, PA.
π Features
Real-time vehicle positions - Track buses live on their routes
Trip updates - Get delay information and predicted arrivals
Service alerts - Stay informed about detours and disruptions
Static schedule data - Access routes, stops, and scheduled times
Fast in-memory storage - No database required, pure Python performance
π Quick Start
Installation
Running the Server
The HTTP server will be available at http://localhost:7000
π οΈ Available Tools
Tool | Description | Parameters |
| Get all bus routes | None |
| Find stops by name/ID |
|
| Get upcoming arrivals at a stop |
,
|
| Track buses on a route |
|
| Get service alerts |
|
π» API Examples
Using with cURL (HTTP mode)
Integration with ChatGPT
Install the MCP client in ChatGPT
Add this server configuration:
Ask questions like:
"When is the next N route bus from the HUB?"
"Are there any service alerts for the V route?"
"Show me all buses currently on the W route"
Integration with Claude Desktop
Add to your Claude Desktop configuration:
π§ͺ Development
Running Tests
Code Quality
π Data Sources
This server uses official CATA data feeds:
Static GTFS: https://catabus.com/wp-content/uploads/google_transit.zip
GTFS-Realtime Vehicle Positions: https://realtime.catabus.com/InfoPoint/GTFS-Realtime.ashx?Type=VehiclePosition
GTFS-Realtime Trip Updates: https://realtime.catabus.com/InfoPoint/GTFS-Realtime.ashx?Type=TripUpdate
GTFS-Realtime Alerts: https://realtime.catabus.com/InfoPoint/GTFS-Realtime.ashx?Type=Alert
Data is cached locally and updated:
Static GTFS: Daily
Realtime feeds: Every 15 seconds
ποΈ Architecture
β‘ Performance
Warm cache response time: < 100ms for all queries
Memory usage: ~50MB with full GTFS data loaded
Rate limiting: Respects CATA's 10-second minimum between requests
π License
MIT License - See LICENSE file
π Attribution
Transit data provided by Centre Area Transportation Authority (CATA). This project is not affiliated with or endorsed by CATA.
π€ Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Write tests for new functionality
Ensure all tests pass
Submit a pull request
π Support
Issues: GitHub Issues
Discussions: GitHub Discussions
π― Roadmap
Add trip planning capabilities
Support for accessibility features
Historical data analysis
Geospatial queries (nearest stop)
Multi-agency support
β Manual Acceptance Checklist
pip install -e .completes without errorspython -m catabus_mcp.serverstarts successfullyStatic GTFS data loads on startup
Realtime polling begins automatically
list_routes_toolreturns CATA routessearch_stops_toolfinds stops by querynext_arrivals_toolreturns predictions with delaysvehicle_positions_toolshows bus locationstrip_alerts_tooldisplays active alertsTests pass with
pytestType checking passes with
mypy
Version: 0.1.0
Status: Production Ready
Last Updated: 2024
Related MCP Servers
- Asecurity-licenseAqualityFacilitates real-time access to Singapore's Land Transport Authority (LTA) transportation data, offering insights into bus arrivals, train services, traffic conditions, and more through integration with the LTA DataMall API.Last updated -73
- -securityAlicense-qualityProvides real-time access to Bangalore's public transportation information including bus tracking, schedules, routes, and service updates to improve passenger experience.Last updated -3MIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that provides real-time Caltrain schedule information, allowing AI assistants to look up train departures between any stations and access station information using GTFS data.Last updated -27
- -securityFlicense-qualityAn MCP server for accessing college basketball statistics through the SportsData.io CBB v3 Stats API, enabling AI agents to retrieve and analyze college basketball data through natural language interactions.Last updated -