Direct communication channels published for automated discovery and execution:
How UTCP's direct-to-native execution transforms AI agent efficiency:
| Feature | UTCP (Direct-to-Native) | Proxy Wrappers (MCP) |
|---|---|---|
| Architecture | Direct Client-to-API | Client β Proxy β API |
| Proxy Overhead | Zero (0ms) | Requires sidecar process |
| Discovery | Declarative Manual (JSON) | Dynamic RPC Handshake |
| Transport | Native HTTP / REST | SSE / stdio Stream |
| Token Budgeting | average_response_size included | Opaque |
Test direct native UTCP tool execution in real-time. Select any Singapore tool to inspect its input schema, tags, and run a live request.
// Click 'Execute UTCP Direct Call' to test execution... // Arguments are executed directly against SingaNow backend with 0ms wrapper overhead.
# --- Option A: Using the official python-utcp client ---
import asyncio
from utcp import UtcpClient
async def main():
# Discover and connect directly to SingaNow UTCP Manual
client = UtcpClient()
await client.load_manual("https://singanow.com/utcp")
# Call any Singapore tool natively with zero proxy tax
result = await client.call_tool(
"get_singapore_bus_arrivals",
{"bus_stop_code": "01012"}
)
print("Next Buses:", result)
asyncio.run(main())
# --- Option B: Native direct HTTP (No wrapper/proxy required) ---
import requests
response = requests.post(
"https://singanow.com/utcp/tools/get_singapore_bus_arrivals",
json={"bus_stop_code": "01012"}
)
print(response.json())
// --- Option A: Using @utcp/core TypeScript SDK ---
import { UtcpClient } from "@utcp/core";
const client = new UtcpClient();
await client.registerManual("https://singanow.com/utcp");
const arrivals = await client.call("get_singapore_bus_arrivals", {
bus_stop_code: "01012"
});
console.log(arrivals);
// --- Option B: Direct Native Fetch (0ms middleware latency) ---
const res = await fetch("https://singanow.com/utcp/tools/get_singapore_bus_arrivals", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ bus_stop_code: "01012" })
});
const data = await res.json();
console.log(data);
# 1. Fetch Declarative UTCP Manual
curl -s -X GET "https://singanow.com/utcp" -H "Accept: application/json"
# 2. Directly Call Tool via UTCP Native Endpoint
curl -s -X POST "https://singanow.com/utcp/tools/get_singapore_bus_arrivals" \
-H "Content-Type: application/json" \
-d '{"bus_stop_code": "01012"}'
# 3. Call via Universal UTCP Runner
curl -s -X POST "https://singanow.com/utcp/call" \
-H "Content-Type: application/json" \
-d '{"name": "get_singapore_bus_arrivals", "arguments": {"bus_stop_code": "01012"}}'
{
"utcp_manuals": [
{
"name": "singanow",
"url": "https://singanow.com/utcp",
"cache_ttl_seconds": 3600,
"auth_type": "none"
}
]
}
This standardized JSON manifest is served directly at https://singanow.com/utcp and https://singanow.com/.well-known/utcp.json.
{
"utcp_version": "1.0.1",
"manual_version": "1.0.0",
"info": {
"title": "SingaNow Real-Time Singapore Intelligence",
"description": "Universal Tool Calling Protocol (UTCP) Manual for live Singapore transit, bus arrival countdowns, EV charging vacancy, carpark availability, highway traffic cameras, 24-hr PSI/PM2.5/UV environment nowcasts, and ACRA corporate registry.",
"version": "1.0.0",
"contact": {
"name": "SingaNow",
"url": "https://singanow.com/about",
"email": "contact@singanow.com"
},
"license": {
"name": "Open Access / CC-BY-4.0",
"url": "https://singanow.com/legal"
},
"documentation_url": "https://singanow.com/docs",
"discovery_endpoint": "https://singanow.com/utcp"
},
"tools": [
{
"name": "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.",
"inputs": {
"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"
]
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"transit",
"bus",
"arrivals",
"lta",
"crowding",
"singapore"
],
"average_response_size": 2400,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_bus_arrivals",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
}
},
{
"name": "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.",
"inputs": {
"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"
]
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"transit",
"routing",
"bus",
"planner",
"itinerary",
"singapore"
],
"average_response_size": 3800,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/plan_singapore_bus_journey",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
}
},
{
"name": "find_nearby_singapore_bus_stops",
"description": "Find closest public bus stops from GPS coordinates in Singapore, sorted by walking distance with calling bus services.",
"inputs": {
"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"
]
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"transit",
"bus-stops",
"geospatial",
"gps",
"nearby",
"singapore"
],
"average_response_size": 2900,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/find_nearby_singapore_bus_stops",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
}
},
{
"name": "search_singapore_bus_stops",
"description": "Search Singapore bus stops by road name, landmark name, or 5-digit stop code.",
"inputs": {
"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"
]
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"transit",
"bus-stops",
"search",
"landmarks",
"singapore"
],
"average_response_size": 2200,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/search_singapore_bus_stops",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
}
},
{
"name": "get_singapore_bus_service_details",
"description": "Retrieve full route details, operating operators, directions, and ordered stop sequences for a specific Singapore bus service.",
"inputs": {
"type": "object",
"properties": {
"service_no": {
"type": "string",
"description": "Bus service number (e.g. \"190\", \"65\", \"14\", \"960e\")."
}
},
"required": [
"service_no"
]
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"transit",
"bus-routes",
"operators",
"service-info",
"singapore"
],
"average_response_size": 1800,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_bus_service_details",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
}
},
{
"name": "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.",
"inputs": {
"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"
]
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"transit",
"bus-sequence",
"timetables",
"operating-hours",
"singapore"
],
"average_response_size": 3100,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_bus_route_stops",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
}
},
{
"name": "get_singapore_planned_bus_changes",
"description": "Retrieve scheduled future bus route diversions, road closures, and route adjustments across Singapore.",
"inputs": {
"type": "object",
"properties": {}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"transit",
"bus-diversions",
"road-closures",
"advisories",
"singapore"
],
"average_response_size": 1500,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_planned_bus_changes",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_planned_bus_changes",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "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).",
"inputs": {
"type": "object",
"properties": {}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"environment",
"weather",
"climate",
"nowcast",
"forecast",
"singapore"
],
"average_response_size": 4500,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_weather",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_weather",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "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.",
"inputs": {
"type": "object",
"properties": {}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"environment",
"air-quality",
"psi",
"pm25",
"uv-index",
"singapore"
],
"average_response_size": 1200,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_environment_air_quality",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_environment_air_quality",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "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).",
"inputs": {
"type": "object",
"properties": {}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"traffic",
"cameras",
"expressways",
"causeway",
"tuas-checkpoint",
"singapore"
],
"average_response_size": 5200,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_traffic_cameras",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_traffic_cameras",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "get_singapore_carpark_availability",
"description": "Check live parking lot vacancy and distance across 2,600+ HDB, URA, and LTA shopping mall carparks in Singapore.",
"inputs": {
"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)."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"parking",
"carparks",
"hdb",
"ura",
"malls",
"vacancy",
"singapore"
],
"average_response_size": 4200,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_carpark_availability",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_carpark_availability",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "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.",
"inputs": {
"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."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"ev",
"electric-vehicles",
"chargers",
"sp-mobility",
"cdg-engie",
"tesla",
"singapore"
],
"average_response_size": 3600,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_ev_charging_points",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_ev_charging_points",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "search_singapore_acra_entity",
"description": "Search Singapore registered companies, businesses, LLPs, societies, and healthcare institutions across ACRA regulatory registries by entity name or UEN.",
"inputs": {
"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"
]
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"corporate",
"acra",
"uen",
"companies",
"business-registry",
"singapore"
],
"average_response_size": 2600,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/search_singapore_acra_entity",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
}
},
{
"name": "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.",
"inputs": {
"type": "object",
"properties": {
"refresh": {
"type": "boolean",
"description": "Bypass cache and query live LTA DataMall feed."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"transit",
"mrt",
"lrt",
"alerts",
"disruptions",
"delays",
"bus-bridging",
"singapore"
],
"average_response_size": 1800,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_train_service_alerts",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_train_service_alerts",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "get_singapore_station_crowd_forecast",
"description": "Retrieve 24-hour forecasted station platform crowdedness level at 30-minute intervals for Singapore MRT & LRT stations.",
"inputs": {
"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."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"transit",
"mrt",
"lrt",
"crowd",
"forecast",
"predictor",
"hourly",
"singapore"
],
"average_response_size": 4500,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_station_crowd_forecast",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_station_crowd_forecast",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "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).",
"inputs": {
"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."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"transit",
"mrt",
"lrt",
"crowd",
"crowd-density",
"trains",
"singapore"
],
"average_response_size": 3200,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_station_crowd_density",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_station_crowd_density",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "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).",
"inputs": {
"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."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"traffic",
"expressway",
"travel-times",
"commute",
"segments",
"singapore"
],
"average_response_size": 2800,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_expressway_travel_times",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_expressway_travel_times",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "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.",
"inputs": {
"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."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"traffic",
"vms",
"emas",
"advisories",
"signboards",
"alerts",
"singapore"
],
"average_response_size": 2100,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_vms_traffic_advisories",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_vms_traffic_advisories",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "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.",
"inputs": {
"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."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"traffic",
"speed-bands",
"congestion",
"flow",
"arterials",
"singapore"
],
"average_response_size": 4800,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_traffic_speed_bands",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_traffic_speed_bands",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "get_singapore_traffic_incidents",
"description": "Retrieve live incidents currently occurring on Singapore roads: Accidents, Vehicle Breakdowns, Road Works, Obstacles, Heavy Traffic, Diversions, etc.",
"inputs": {
"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."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"traffic",
"incidents",
"accidents",
"breakdowns",
"roadworks",
"hazards",
"singapore"
],
"average_response_size": 2200,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_traffic_incidents",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_traffic_incidents",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "get_singapore_faulty_traffic_lights",
"description": "Retrieve alerts of traffic lights across Singapore currently faulty (blackout or flashing yellow) or undergoing scheduled maintenance.",
"inputs": {
"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."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"traffic",
"traffic-lights",
"faults",
"maintenance",
"blackout",
"singapore"
],
"average_response_size": 1100,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_faulty_traffic_lights",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_faulty_traffic_lights",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "get_singapore_planned_road_openings",
"description": "Retrieve planned new road openings across Singapore with contractor details, start dates, and end dates.",
"inputs": {
"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."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"traffic",
"road-openings",
"construction",
"infrastructure",
"planning",
"singapore"
],
"average_response_size": 2400,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_planned_road_openings",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_planned_road_openings",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
},
{
"name": "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.",
"inputs": {
"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."
}
}
},
"outputs": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "True if tool executed successfully without upstream error."
},
"utcp_version": {
"type": "string",
"description": "Target UTCP protocol version (1.0.1)."
},
"tool": {
"type": "string",
"description": "Name of the executed tool."
},
"execution_time_ms": {
"type": "number",
"description": "Execution latency in milliseconds without proxy overhead."
},
"timestamp": {
"type": "string",
"description": "ISO-8601 timestamp in Asia/Singapore (SGT)."
},
"data": {
"type": "object",
"description": "Real-time payload containing live data."
}
},
"required": [
"success",
"tool",
"data"
]
},
"tags": [
"traffic",
"road-works",
"maintenance",
"construction",
"infrastructure",
"singapore"
],
"average_response_size": 2600,
"tool_call_template": {
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_approved_road_works",
"http_method": "POST",
"content_type": "application/json",
"headers": {
"Accept": "application/json",
"User-Agent": "SingaNow-UTCP-Client/1.0"
}
},
"alternative_transports": [
{
"call_template_type": "http",
"url": "https://singanow.com/utcp/tools/get_singapore_approved_road_works",
"http_method": "GET",
"headers": {
"Accept": "application/json"
}
}
]
}
]
}