Skip to main content
Glama
mcpflow

Singapore LTA MCP Server

by mcpflow
README.md
# Singapore LTA MCP Server
[![smithery badge](https://smithery.ai/badge/@arjunkmrm/mcp-sg-lta)](https://smithery.ai/server/@arjunkmrm/mcp-sg-lta)

An MCP server for Singapore's Land Transport Authority (LTA) DataMall API, providing real-time access to transportation information including bus arrivals, traffic conditions, and train service updates.

### Installing via Smithery

To install Singapore LTA MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@arjunkmrm/mcp-sg-lta):

```bash
npx -y @smithery/cli install @arjunkmrm/mcp-sg-lta --client claude
```

## Tools

### bus_arrival

Get real-time bus arrival information for specific bus stops.

**Inputs:**
- `busStopCode` (string, required): The unique 5-digit bus stop code
- `serviceNo` (string, optional): Specific bus service number to filter results

### station_crowding

Get real-time crowding levels at MRT/LRT stations (Updates every 10 minutes).

**Inputs:**
- `trainLine` (string, required): Code of train network line
  - Supported values: CCL, CEL, CGL, DTL, EWL, NEL, NSL, BPL, SLRT, PLRT, TEL

### train_alerts

Get real-time train service alerts including disruptions and shuttle services.

**Inputs:** None required

### carpark_availability

Get real-time availability of parking lots for HDB, LTA, and URA carparks (Updates every minute).

**Inputs:** None required

### travel_times

Get estimated travel times on expressway segments (Updates every 5 minutes).

**Inputs:** None required

### traffic_incidents

Get current road incidents including accidents, roadworks, and heavy traffic (Updates every 2 minutes).

**Inputs:** None required

### station_crowd_forecast

Get forecasted MRT/LRT station crowdedness levels in 30-minute intervals.

**Inputs:**
- `trainLine` (string, required): Code of train network line
  - Supported values: CCL, CEL, CGL, DTL, EWL, NEL, NSL, BPL, SLRT, PLRT, TEL

## Configuration

### Getting an API Key

1. Register for an account on [LTA DataMall](https://datamall.lta.gov.sg)
2. Subscribe to the API services
3. Obtain your API key from the account dashboard

### Usage with Claude Desktop

Add this to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "lta": {
        "command": "npx", 
        "args": [
          "-y", 
          "arjunkmrm/mcp-sg-lta"
        ],
        "env": {
          "LTA_API_KEY": "YOUR-API-KEY"
        }
    }
  }
}
```

TDQS

A3.8/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct domain (bus arrivals, carpark availability, MRT crowding, traffic incidents, train alerts, travel times) with no functional overlap, making it easy for an agent to select the right tool.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with descriptive noun combinations (e.g., bus_arrival, carpark_availability), ensuring predictability and clarity.

Tool Count5/5

With 7 tools, the server covers key real-time transport data domains (bus, carpark, MRT, traffic, train, expressway) without being too sparse or overwhelming.

Completeness4/5

The tool set provides broad coverage of real-time transport data, though it lacks tools for route planning or fare information, which are secondary to the real-time focus.

Maintenance

ActivityInactive
ResponsivenessSyncing