{
    "openapi": "3.1.0",
    "info": {
        "title": "SingaNow Singapore Real-Time AI Intelligence Actions",
        "description": "Comprehensive real-time Singapore data actions for ChatGPT and OpenAI: live bus arrivals, transit routes, NEA weather nowcast, air quality (PSI/PM2.5), expressway traffic cameras, carpark vacancy, EV charging, and ACRA entity registry.",
        "version": "1.0.0",
        "contact": {
            "name": "SingaNow",
            "url": "https://singanow.com"
        }
    },
    "servers": [
        {
            "url": "https://singanow.com",
            "description": "SingaNow Production MCP & API Server"
        }
    ],
    "paths": {
        "/mcp/tools/get_singapore_bus_arrivals": {
            "post": {
                "operationId": "get_singapore_bus_arrivals",
                "summary": "Execute get_singapore_bus_arrivals",
                "description": "Fetch real-time live arrival countdowns, passenger capacity load (SEA: Seats Available, SDA: Standing Available, LSD: Limited Standing), vehicle deck type (SD: Single Deck, DD: Double Deck, BD: Bendy), and wheelchair accessibility for the next 3 arriving buses at any 5-digit Singapore bus stop.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeBusArrivalsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/plan_singapore_bus_journey": {
            "post": {
                "operationId": "plan_singapore_bus_journey",
                "summary": "Execute plan_singapore_bus_journey",
                "description": "Plan a public bus journey in Singapore between any two locations. Resolves 5-digit stop codes, GPS lat/lng coordinates, or landmark/stop names. Returns direct and 1-transfer itineraries with duration, stop count, and live arrival times for the first boarding leg.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PlanSingaporeBusJourneyRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/find_nearby_singapore_bus_stops": {
            "post": {
                "operationId": "find_nearby_singapore_bus_stops",
                "summary": "Execute find_nearby_singapore_bus_stops",
                "description": "Find closest public bus stops from GPS coordinates in Singapore, sorted by walking distance with calling bus services.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FindNearbySingaporeBusStopsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/search_singapore_bus_stops": {
            "post": {
                "operationId": "search_singapore_bus_stops",
                "summary": "Execute search_singapore_bus_stops",
                "description": "Search Singapore bus stops by road name, landmark name, or 5-digit stop code.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SearchSingaporeBusStopsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_bus_service_details": {
            "post": {
                "operationId": "get_singapore_bus_service_details",
                "summary": "Execute get_singapore_bus_service_details",
                "description": "Retrieve full route details, operating operators, directions, and ordered stop sequences for a specific Singapore bus service.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeBusServiceDetailsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_bus_route_stops": {
            "post": {
                "operationId": "get_singapore_bus_route_stops",
                "summary": "Execute get_singapore_bus_route_stops",
                "description": "Retrieve the sequential list of bus stops, cumulative kilometer distance, and weekday/weekend operating timetables for a bus line and direction.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeBusRouteStopsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_planned_bus_changes": {
            "post": {
                "operationId": "get_singapore_planned_bus_changes",
                "summary": "Execute get_singapore_planned_bus_changes",
                "description": "Retrieve scheduled future bus route diversions, road closures, and route adjustments across Singapore.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporePlannedBusChangesRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_weather": {
            "post": {
                "operationId": "get_singapore_weather",
                "summary": "Execute get_singapore_weather",
                "description": "Retrieve live Singapore weather: 2-hour regional nowcast across 47 towns, 24-hour national forecast with sub-day periods, 4-day outlook, and live climate station readings (temperature, humidity, wind, rainfall).",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeWeatherRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_environment_air_quality": {
            "post": {
                "operationId": "get_singapore_environment_air_quality",
                "summary": "Execute get_singapore_environment_air_quality",
                "description": "Get real-time Singapore 24-hour PSI air quality ratings, 1-hour PM2.5 readings across 5 regions (North, South, East, West, Central), and current UV index with hourly trend.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeEnvironmentAirQualityRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_traffic_cameras": {
            "post": {
                "operationId": "get_singapore_traffic_cameras",
                "summary": "Execute get_singapore_traffic_cameras",
                "description": "Retrieve live expressway traffic camera image snapshot URLs and coordinates across all major expressways (PIE, CTE, AYE, BKE, etc.) and Malaysia border checkpoints (Woodlands Causeway, Tuas Second Link).",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeTrafficCamerasRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_carpark_availability": {
            "post": {
                "operationId": "get_singapore_carpark_availability",
                "summary": "Execute get_singapore_carpark_availability",
                "description": "Check live parking lot vacancy and distance across 2,600+ HDB, URA, and LTA shopping mall carparks in Singapore.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeCarparkAvailabilityRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_ev_charging_points": {
            "post": {
                "operationId": "get_singapore_ev_charging_points",
                "summary": "Execute get_singapore_ev_charging_points",
                "description": "Search real-time EV charging stations and live plug availability across SP Mobility, CDG ENGIE, Charge+, Shell Recharge, Tesla Superchargers, and HDB hubs in Singapore.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeEvChargingPointsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/search_singapore_acra_entity": {
            "post": {
                "operationId": "search_singapore_acra_entity",
                "summary": "Execute search_singapore_acra_entity",
                "description": "Search Singapore registered companies, businesses, LLPs, societies, and healthcare institutions across ACRA regulatory registries by entity name or UEN.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SearchSingaporeAcraEntityRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_train_service_alerts": {
            "post": {
                "operationId": "get_singapore_train_service_alerts",
                "summary": "Execute get_singapore_train_service_alerts",
                "description": "Retrieve live Singapore MRT & LRT train service alerts, network disruptions, major delays, affected stations, free public bus boarding, and free MRT bridging shuttles.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeTrainServiceAlertsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_station_crowd_forecast": {
            "post": {
                "operationId": "get_singapore_station_crowd_forecast",
                "summary": "Execute get_singapore_station_crowd_forecast",
                "description": "Retrieve 24-hour forecasted station platform crowdedness level at 30-minute intervals for Singapore MRT & LRT stations.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeStationCrowdForecastRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_station_crowd_density": {
            "post": {
                "operationId": "get_singapore_station_crowd_density",
                "summary": "Execute get_singapore_station_crowd_density",
                "description": "Retrieve real-time platform crowdedness level (Low, Moderate, High, NA) for Singapore MRT and LRT train stations across network lines (EWL, NSL, NEL, CCL, CEL, CGL, DTL, TEL, BPL, SLRT, PLRT).",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeStationCrowdDensityRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_expressway_travel_times": {
            "post": {
                "operationId": "get_singapore_expressway_travel_times",
                "summary": "Execute get_singapore_expressway_travel_times",
                "description": "Retrieve estimated travel times in minutes for expressway segments across Singapore (AYE, PIE, CTE, ECP, BKE, KJE, SLE, TPE, MCE, KPE).",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeExpresswayTravelTimesRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_vms_traffic_advisories": {
            "post": {
                "operationId": "get_singapore_vms_traffic_advisories",
                "summary": "Execute get_singapore_vms_traffic_advisories",
                "description": "Retrieve real-time traffic advisories and incident messages displayed on EMAS digital signboards (Variable Message Services) along Singapore expressways and arterial corridors.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeVmsTrafficAdvisoriesRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_traffic_speed_bands": {
            "post": {
                "operationId": "get_singapore_traffic_speed_bands",
                "summary": "Execute get_singapore_traffic_speed_bands",
                "description": "Retrieve current vehicle speeds expressed in speed bands (Band 1: 0-9km/h to Band 8: 70+km/h) across Singapore expressways and major arterial road segments.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeTrafficSpeedBandsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_traffic_incidents": {
            "post": {
                "operationId": "get_singapore_traffic_incidents",
                "summary": "Execute get_singapore_traffic_incidents",
                "description": "Retrieve live incidents currently occurring on Singapore roads: Accidents, Vehicle Breakdowns, Road Works, Obstacles, Heavy Traffic, Diversions, etc.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeTrafficIncidentsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_faulty_traffic_lights": {
            "post": {
                "operationId": "get_singapore_faulty_traffic_lights",
                "summary": "Execute get_singapore_faulty_traffic_lights",
                "description": "Retrieve alerts of traffic lights across Singapore currently faulty (blackout or flashing yellow) or undergoing scheduled maintenance.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeFaultyTrafficLightsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_planned_road_openings": {
            "post": {
                "operationId": "get_singapore_planned_road_openings",
                "summary": "Execute get_singapore_planned_road_openings",
                "description": "Retrieve planned new road openings across Singapore with contractor details, start dates, and end dates.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporePlannedRoadOpeningsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/tools/get_singapore_approved_road_works": {
            "post": {
                "operationId": "get_singapore_approved_road_works",
                "summary": "Execute get_singapore_approved_road_works",
                "description": "Retrieve approved road works being carried out or scheduled on roads in Singapore with contractor department details and start/end dates.",
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/GetSingaporeApprovedRoadWorksRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation response from Singapore data provider.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object",
                                            "description": "Real-time tool output"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid parameters supplied."
                    },
                    "500": {
                        "description": "Provider error or upstream timeout."
                    }
                }
            }
        },
        "/mcp/openai/call": {
            "post": {
                "operationId": "executeSingaNowTool",
                "summary": "Execute any SingaNow Tool in OpenAI Tool Call Format",
                "description": "Universal execution endpoint that accepts either OpenAI function calling payload or direct tool execution arguments.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "name"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Target tool name (e.g. \"get_singapore_bus_arrivals\", \"get_singapore_weather\")."
                                    },
                                    "arguments": {
                                        "type": "object",
                                        "description": "Key-value map of arguments for the tool."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Tool execution output.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "tool": {
                                            "type": "string"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "GetSingaporeBusArrivalsRequest": {
                "type": "object",
                "properties": {
                    "bus_stop_code": {
                        "type": "string",
                        "description": "5-digit zero-padded Singapore Bus Stop Code (e.g. \"01012\", \"09048\", \"67009\")."
                    },
                    "service_no": {
                        "type": "string",
                        "description": "Optional specific bus service number to filter (e.g. \"190\", \"65\", \"10\")."
                    },
                    "refresh": {
                        "type": "boolean",
                        "description": "Set to true to bypass cache and fetch latest LTA DataMall feed."
                    }
                },
                "required": [
                    "bus_stop_code"
                ]
            },
            "PlanSingaporeBusJourneyRequest": {
                "type": "object",
                "properties": {
                    "origin": {
                        "type": "string",
                        "description": "Starting location: 5-digit bus stop code (e.g. \"01012\"), coordinates (\"1.2968,103.8525\"), or landmark/road name (\"Victoria St\", \"City Hall\")."
                    },
                    "destination": {
                        "type": "string",
                        "description": "Destination location: 5-digit bus stop code (e.g. \"09048\"), coordinates (\"1.3045,103.8331\"), or landmark/road name (\"Orchard Stn\", \"Tang Plaza\")."
                    }
                },
                "required": [
                    "origin",
                    "destination"
                ]
            },
            "FindNearbySingaporeBusStopsRequest": {
                "type": "object",
                "properties": {
                    "latitude": {
                        "type": "number",
                        "description": "WGS84 Latitude between 1.15 and 1.48 (e.g. 1.2968)."
                    },
                    "longitude": {
                        "type": "number",
                        "description": "WGS84 Longitude between 103.58 and 104.05 (e.g. 103.8525)."
                    },
                    "radius_km": {
                        "type": "number",
                        "description": "Search radius in km (default 1.2, max 10.0)."
                    },
                    "limit": {
                        "type": "integer",
                        "description": "Maximum number of bus stops to return (default 20, max 50)."
                    }
                },
                "required": [
                    "latitude",
                    "longitude"
                ]
            },
            "SearchSingaporeBusStopsRequest": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string",
                        "description": "Search term (e.g. \"Orchard\", \"Bedok Int\", \"Victoria St\", \"01012\")."
                    },
                    "limit": {
                        "type": "integer",
                        "description": "Max results to return (default 30, max 100)."
                    }
                },
                "required": [
                    "query"
                ]
            },
            "GetSingaporeBusServiceDetailsRequest": {
                "type": "object",
                "properties": {
                    "service_no": {
                        "type": "string",
                        "description": "Bus service number (e.g. \"190\", \"65\", \"14\", \"960e\")."
                    }
                },
                "required": [
                    "service_no"
                ]
            },
            "GetSingaporeBusRouteStopsRequest": {
                "type": "object",
                "properties": {
                    "service_no": {
                        "type": "string",
                        "description": "Bus service number (e.g. \"65\")."
                    },
                    "direction": {
                        "type": "integer",
                        "description": "Direction 1 (outbound) or 2 (inbound). Default: 1."
                    }
                },
                "required": [
                    "service_no"
                ]
            },
            "GetSingaporePlannedBusChangesRequest": {
                "type": "object",
                "properties": {},
                "required": []
            },
            "GetSingaporeWeatherRequest": {
                "type": "object",
                "properties": {},
                "required": []
            },
            "GetSingaporeEnvironmentAirQualityRequest": {
                "type": "object",
                "properties": {},
                "required": []
            },
            "GetSingaporeTrafficCamerasRequest": {
                "type": "object",
                "properties": {},
                "required": []
            },
            "GetSingaporeCarparkAvailabilityRequest": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string",
                        "description": "Filter by carpark code, mall/building name, or estate."
                    },
                    "lat": {
                        "type": "number",
                        "description": "User GPS latitude for nearby distance ranking."
                    },
                    "lng": {
                        "type": "number",
                        "description": "User GPS longitude for nearby distance ranking."
                    },
                    "radius": {
                        "type": "number",
                        "description": "Search radius in km (0.1 to 15.0 km, default 1.5)."
                    },
                    "agency": {
                        "type": "string",
                        "description": "Filter by agency: \"ALL\", \"HDB\", \"LTA\", \"URA\"."
                    },
                    "lot_type": {
                        "type": "string",
                        "description": "Vehicle type: \"C\" (Cars), \"Y\" (Motorcycles), \"H\" (Heavy)."
                    }
                },
                "required": []
            },
            "GetSingaporeEvChargingPointsRequest": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string",
                        "description": "Station name, shopping mall, operator, or 6-digit postal code."
                    },
                    "operator": {
                        "type": "string",
                        "description": "Filter operator (\"ALL\", \"SP_MOBILITY\", \"CDG_ENGIE\", \"CHARGE_PLUS\", \"SHELL\", \"TESLA\", etc.)."
                    },
                    "speed": {
                        "type": "string",
                        "description": "Filter charging speed: \"ALL\", \"ULTRA_FAST\", \"FAST_DC\", \"AC_NORMAL\"."
                    },
                    "connector": {
                        "type": "string",
                        "description": "Filter connector type: \"ALL\", \"CCS2\", \"TYPE2\", \"TESLA\"."
                    },
                    "lat": {
                        "type": "number",
                        "description": "GPS latitude for nearby distance ranking."
                    },
                    "lng": {
                        "type": "number",
                        "description": "GPS longitude for nearby distance ranking."
                    },
                    "radius": {
                        "type": "number",
                        "description": "Search radius in km (default 2.5)."
                    },
                    "available_only": {
                        "type": "boolean",
                        "description": "Only return stations with at least 1 currently available plug."
                    }
                },
                "required": []
            },
            "SearchSingaporeAcraEntityRequest": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string",
                        "description": "Company name or UEN (e.g. \"DBS Bank\", \"Grab\", \"201812345A\")."
                    },
                    "page": {
                        "type": "integer",
                        "description": "Page number (24 entities per page, default: 1)."
                    }
                },
                "required": [
                    "query"
                ]
            },
            "GetSingaporeTrainServiceAlertsRequest": {
                "type": "object",
                "properties": {
                    "refresh": {
                        "type": "boolean",
                        "description": "Bypass cache and query live LTA DataMall feed."
                    }
                },
                "required": []
            },
            "GetSingaporeStationCrowdForecastRequest": {
                "type": "object",
                "properties": {
                    "train_line": {
                        "type": "string",
                        "description": "Train line code (e.g. \"NSL\", \"EWL\", \"NEL\", \"CCL\", \"DTL\", \"TEL\", \"BPL\", \"SLRT\", \"PLRT\"). Default: \"NSL\"."
                    },
                    "station": {
                        "type": "string",
                        "description": "Optional station code (e.g. \"NS1\", \"EW24\", \"DT1\")."
                    },
                    "refresh": {
                        "type": "boolean",
                        "description": "Bypass cache and query live LTA DataMall feed."
                    }
                },
                "required": []
            },
            "GetSingaporeStationCrowdDensityRequest": {
                "type": "object",
                "properties": {
                    "train_line": {
                        "type": "string",
                        "description": "Train network line code (e.g. \"EWL\", \"NSL\", \"CCL\", \"DTL\", \"TEL\", \"NEL\", or \"ALL\"). Default: \"ALL\"."
                    },
                    "station": {
                        "type": "string",
                        "description": "Optional MRT/LRT station code to filter (e.g. \"EW13\", \"NS1\", \"DT19\")."
                    },
                    "refresh": {
                        "type": "boolean",
                        "description": "Bypass cache and query live LTA DataMall feed."
                    }
                },
                "required": []
            },
            "GetSingaporeExpresswayTravelTimesRequest": {
                "type": "object",
                "properties": {
                    "expressway": {
                        "type": "string",
                        "description": "Expressway code to filter (e.g. \"AYE\", \"PIE\", \"CTE\", \"ECP\"). Leave empty for all."
                    },
                    "direction": {
                        "type": "integer",
                        "description": "Direction of travel: 1 (East->West / South->North) or 2 (West->East / North->South)."
                    },
                    "refresh": {
                        "type": "boolean",
                        "description": "Bypass cache and query live LTA DataMall feed."
                    }
                },
                "required": []
            },
            "GetSingaporeVmsTrafficAdvisoriesRequest": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string",
                        "description": "Filter by message keyword, equipment ID, or expressway."
                    },
                    "active_only": {
                        "type": "boolean",
                        "description": "Only return signboards currently displaying active warning messages (default: false)."
                    },
                    "refresh": {
                        "type": "boolean",
                        "description": "Bypass cache and query live LTA DataMall feed."
                    }
                },
                "required": []
            },
            "GetSingaporeTrafficSpeedBandsRequest": {
                "type": "object",
                "properties": {
                    "road": {
                        "type": "string",
                        "description": "Search by road name (e.g. \"Serangoon\", \"Orchard\", \"CTE\")."
                    },
                    "category": {
                        "type": "integer",
                        "description": "Road category: 1 (Expressways), 2 (Major Arterials), 3 (Arterials), etc."
                    },
                    "band": {
                        "type": "integer",
                        "description": "Speed band number (1 to 8)."
                    },
                    "slow_only": {
                        "type": "boolean",
                        "description": "Filter only heavy or slow traffic segments (speed bands 1, 2, and 3)."
                    },
                    "limit": {
                        "type": "integer",
                        "description": "Max number of road segments to return (default: 50)."
                    },
                    "refresh": {
                        "type": "boolean",
                        "description": "Bypass cache and query live LTA DataMall feed."
                    }
                },
                "required": []
            },
            "GetSingaporeTrafficIncidentsRequest": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "Filter by incident type: \"Accident\", \"Vehicle breakdown\", \"Roadwork\", \"Heavy Traffic\", \"Weather\", etc."
                    },
                    "query": {
                        "type": "string",
                        "description": "Keyword search in description message or road name."
                    },
                    "refresh": {
                        "type": "boolean",
                        "description": "Bypass cache and query live LTA DataMall feed."
                    }
                },
                "required": []
            },
            "GetSingaporeFaultyTrafficLightsRequest": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "integer",
                        "description": "Filter by technical alarm type: 4 (Blackout) or 13 (Flashing Yellow)."
                    },
                    "node_id": {
                        "type": "string",
                        "description": "Specific traffic light junction node ID."
                    },
                    "refresh": {
                        "type": "boolean",
                        "description": "Bypass cache and query live LTA DataMall feed."
                    }
                },
                "required": []
            },
            "GetSingaporePlannedRoadOpeningsRequest": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string",
                        "description": "Search by road name or service department."
                    },
                    "status": {
                        "type": "string",
                        "description": "Status filter: \"upcoming\", \"in_progress\", \"past\", or \"all\" (default: \"all\")."
                    },
                    "limit": {
                        "type": "integer",
                        "description": "Max records to return (default: 50)."
                    },
                    "refresh": {
                        "type": "boolean",
                        "description": "Bypass cache and query live LTA DataMall feed."
                    }
                },
                "required": []
            },
            "GetSingaporeApprovedRoadWorksRequest": {
                "type": "object",
                "properties": {
                    "query": {
                        "type": "string",
                        "description": "Search by road name or contractor department."
                    },
                    "status": {
                        "type": "string",
                        "description": "Status filter: \"in_progress\", \"upcoming\", \"past\", or \"all\" (default: \"all\")."
                    },
                    "limit": {
                        "type": "integer",
                        "description": "Max records to return (default: 50)."
                    },
                    "refresh": {
                        "type": "boolean",
                        "description": "Bypass cache and query live LTA DataMall feed."
                    }
                },
                "required": []
            }
        }
    }
}