Skip to main content
Glama

travel_times

Get real-time estimated travel times for Singapore expressway segments. This tool provides updated traffic data every 5 minutes to help plan routes and avoid congestion.

Instructions

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Handler function that executes the travel_times tool by making an API request to LTA's estimated travel times endpoint and returning the response data or handling errors.
    case "travel_times": { try { const response = await axios.get('https://datamall2.mytransport.sg/ltaodataservice/EstTravelTimes', { headers: { 'AccountKey': process.env.LTA_API_KEY!, 'accept': 'application/json' } }); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] }; } catch (error) { if (axios.isAxiosError(error)) { return { content: [{ type: "text", text: `LTA API error: ${error.response?.data?.Message ?? error.message}` }], isError: true }; } throw error; } }
  • Tool schema definition including name, description, and input schema (no required parameters) returned by the ListTools handler.
    { name: "travel_times", description: "Get estimated travel times on expressway segments. Updates every 5 minutes.", inputSchema: { type: "object", properties: {} // No parameters needed } },
  • src/index.ts:47-130 (registration)
    The tool is registered by being included in the tools list returned by the ListToolsRequestSchema handler.
    this.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [{ name: "bus_arrival", description: "Get real-time bus arrival information for a specific bus stop and optionally a specific service number. Returns estimated arrival times, bus locations, and crowding levels.", inputSchema: { type: "object", properties: { busStopCode: { type: "string", description: "The unique 5-digit bus stop code" }, serviceNo: { type: "string", description: "Optional bus service number to filter results" } }, required: ["busStopCode"] } }, { name: "station_crowding", description: "Get real-time MRT/LRT station crowdedness level for a particular train network line. Updates every 10 minutes.", inputSchema: { type: "object", properties: { trainLine: { type: "string", description: "Code of train network line (CCL, CEL, CGL, DTL, EWL, NEL, NSL, BPL, SLRT, PLRT, TEL)", enum: ["CCL", "CEL", "CGL", "DTL", "EWL", "NEL", "NSL", "BPL", "SLRT", "PLRT", "TEL"] } }, required: ["trainLine"] } }, { name: "train_alerts", description: "Get real-time train service alerts including service disruptions and shuttle services. Updates when there are changes.", inputSchema: { type: "object", properties: {} // No parameters needed } }, { name: "carpark_availability", description: "Get real-time availability of parking lots for HDB, LTA, and URA carparks. Updates every minute.", inputSchema: { type: "object", properties: {} // No parameters needed } }, { name: "travel_times", description: "Get estimated travel times on expressway segments. Updates every 5 minutes.", inputSchema: { type: "object", properties: {} // No parameters needed } }, { name: "traffic_incidents", description: "Get current road incidents including accidents, roadworks, and heavy traffic. Updates every 2 minutes.", inputSchema: { type: "object", properties: {} // No parameters needed } }, { name: "station_crowd_forecast", description: "Get forecasted MRT/LRT station crowdedness levels in 30-minute intervals.", inputSchema: { type: "object", properties: { trainLine: { type: "string", description: "Code of train network line (CCL, CEL, CGL, DTL, EWL, NEL, NSL, BPL, SLRT, PLRT, TEL)", enum: ["CCL", "CEL", "CGL", "DTL", "EWL", "NEL", "NSL", "BPL", "SLRT", "PLRT", "TEL"] } }, required: ["trainLine"] } }] }; });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/arjunkmrm/mcp-sg-lta'

If you have feedback or need assistance with the MCP directory API, please join our Discord server