🚌 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 |
---|---|---|
list_routes | Get all bus routes | None |
search_stops | Find stops by name/ID | query: string |
next_arrivals | Get upcoming arrivals at a stop | stop_id: string , horizon_minutes?: int |
vehicle_positions | Track buses on a route | route_id: string |
trip_alerts | Get service alerts | route_id?: string |
💻 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.server
starts successfully- Static GTFS data loads on startup
- Realtime polling begins automatically
list_routes_tool
returns CATA routessearch_stops_tool
finds stops by querynext_arrivals_tool
returns predictions with delaysvehicle_positions_tool
shows bus locationstrip_alerts_tool
displays active alerts- Tests pass with
pytest
- Type checking passes with
mypy
Version: 0.1.0
Status: Production Ready
Last Updated: 2024
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Provides real-time and scheduled bus data for the Centre Area Transportation Authority (CATA) in State College, PA. Enables users to track live bus positions, get arrival predictions, search stops, view routes, and receive service alerts through natural language queries.
Related MCP Servers
- AsecurityFlicenseAqualityFacilitates 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 -26
- -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 -