Provides real-time LTA DataMall data including bus arrivals, traffic, and train updates for MCP clients.
Configuration
View docs{
"mcpServers": {
"arjunkmrm-lta-mcp": {
"url": "https://example-mcp.lta.example.com/mcp",
"headers": {
"LTA_API_KEY": "YOUR-API-KEY"
}
}
}
}You can use this MCP server to access Singapore’s LTA DataMall API data in real time, including bus arrivals, traffic conditions, and train service updates. It exposes these data sources as configurable tools you can query from your MCP client for practical transportation insights.
To use this server, connect your MCP client to the local, stdio-based MCP server configuration. You will run the provided command to launch the server, then issue queries through your client to retrieve real-time bus arrivals, station crowding, train alerts, carpark availability, travel times, traffic incidents, and crowd forecasts.
Prerequisites: You need Node.js and npm installed on your system to run MCP servers via npx. Ensure you have internet access to fetch the MCP package.
Step 1: Install the MCP server using Smithery (optional helper) by running this command in your terminal.
npx -y @smithery/cli install @arjunkmrm/mcp-sg-lta --client claudeGet your LTA API key by signing up for an account on LTA DataMall, subscribing to the API services, and retrieving the key from your account dashboard.
Configure your Claude Desktop client to use this MCP server by adding the following JSON snippet to your claude_desktop_config.json. This sets up the local MCP server and passes your API key to the server.
{
"mcpServers": {
"lta": {
"command": "npx",
"args": [
"-y",
"arjunkmrm/mcp-sg-lta"
],
"env": {
"LTA_API_KEY": "YOUR-API-KEY"
}
}
}
}The MCP server supports these tools for querying data:
- bus_arrival: Get real-time bus arrival information for specific bus stops using busStopCode and optional serviceNo.
- station_crowding: Get real-time crowding levels at MRT/LRT stations with trainLine as input.
- train_alerts: Retrieve real-time train service alerts, including disruptions and shuttle services.
- carpark_availability: Check real-time parking availability for HDB, LTA, and URA carparks.
- travel_times: Get estimated travel times on expressway segments.
- traffic_incidents: View current road incidents like accidents and roadworks.
- station_crowd_forecast: Get forecasted station crowdedness in 30-minute intervals.
Protect your API key and never expose it in public client configurations. Use environment variables to keep keys out of source control.
If you do not see expected data, verify your API key is valid and that the MCP server process is running. Check your client’s connection settings to ensure it is pointing to the local MCP server and that the command and environment variables are correctly set.
Get real-time bus arrival information for specific bus stops.
Get real-time crowding levels at MRT/LRT stations (updates every 10 minutes).
Get real-time train service alerts including disruptions and shuttle services.
Get real-time availability of parking lots for HDB, LTA, and URA carparks (updates every minute).
Get estimated travel times on expressway segments (updates every 5 minutes).
Get current road incidents including accidents, roadworks, and heavy traffic (updates every 2 minutes).
Get forecasted MRT/LRT station crowdedness levels in 30-minute intervals.