Skip to main content
Glama
mcp-singapore
by Hug0x0

mcp-singapore

A TypeScript MCP server for Singapore public data: specialized tools, catalog discovery, official statistics, real-time feeds, and controlled dataset exports. Uses the stdio transport and requires Node.js 22.12 or later.

64 tools · 22 specialized datasets · 4664 datasets · 74 agencies. Snapshot: 2026-10-21.

The bundled index contains dataset metadata, not a copy of every observation. Records are retrieved on demand. Coverage dates, update frequency, formats, and definitions vary by provider. See COVERAGE.md for the generated inventory.

Data coverage

Domain

Available data

Housing

HDB resale transactions since 2017, rentals, median rents, private property indices, HDB population

Business

UEN/ACRA entity registry and detailed alphabetical ACRA partitions

Education

School directory, preschool locations, catalog and SingStat education statistics

Food

Hawker centres and closure dates

Health

Infectious disease bulletins and healthcare schemes

Culture and sports

Museum attendance and sports facilities

Tourism

Visitor arrivals and hotel statistics

Environment

Recycling, greenhouse gas emissions, annual air quality

Weather

Temperature, rain, humidity, wind, 2-hour/24-hour/four-day forecasts, PSI, PM2.5, UV

Transport

Available taxis, parking spaces, traffic cameras; authenticated LTA bus and traffic feeds

Geography

OneMap geocoding, geographic exports, nearby facilities, SVY21/WGS84 conversion

Economy and society

Unemployment, government spending, SingStat tables

International comparisons

World Bank indicators for Singapore and up to five comparison countries

The full catalog also covers census data, incomes, trade, energy, CPF, infrastructure, urban planning, and other topics. Historical observations are not presented as current measurements.

Related MCP server: OneMap MCP Server

Dataset reference library

Browse 288 dataset guides across 74 agencies for publisher descriptions, snapshot coverage, source links, and schema-validated MCP request examples. The selection includes all 22 specialized datasets. Guides describe discovery and access; live data availability must be checked with the provider.

Install from source

git clone https://github.com/Hug0x0/mcp-singapore.git
cd mcp-singapore
npm ci
npm run build
npm test

Configure a compatible MCP client with an absolute path to the cloned project:

{
  "mcpServers": {
    "singapore": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-singapore/dist/index.js"]
    }
  }
}

The package name is @hug0x0/mcp-singapore. Publication to npm has not been performed; use the source installation until a published version is explicitly verified.

Credentials

Public data.gov.sg, SingStat, and World Bank endpoints support public exploration subject to provider quotas. A data.gov.sg API key is recommended for production use. LTA and OneMap require their own credentials.

Environment variable

Purpose

DATA_GOV_SG_API_KEY

Optional data.gov.sg key, sent in x-api-key

LTA_ACCOUNT_KEY

Required for LTA DataMall bus arrivals and other LTA tools

ONEMAP_TOKEN

Required for OneMap address search and reverse geocoding

Set variables in the MCP client's env configuration or in the server process environment. .env.example is a template; the server does not automatically load .env files. Credentials are sent in request headers, never in tool arguments or request URLs.

{
  "mcpServers": {
    "singapore": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-singapore/dist/index.js"],
      "env": {
        "DATA_GOV_SG_API_KEY": "your-data-gov-sg-key",
        "LTA_ACCOUNT_KEY": "your-lta-key",
        "ONEMAP_TOKEN": "your-onemap-token"
      }
    }
  }
}

Request credentials from data.gov.sg, LTA DataMall, and OneMap. Configure only the services you use. Renew expired OneMap tokens with the provider.

Research workflow

  1. Use singapore_find_relevant_tools to route an English question to relevant tools.

  2. Use singapore_search_catalog to search the bundled index by English keywords, agency, format, status, and coverage.

  3. Use singapore_inspect_dataset to inspect current metadata and normalized field names. Field metadata is paginated; include_raw includes the original column mapping.

  4. Use singapore_query_dataset or a specialized tool to retrieve records with filters, field searches, sorting, projection, and pagination.

  5. Use singapore_download_dataset to initiate and poll an export when Datastore does not support the dataset.

Example catalog query:

{"query":"resale flat prices","limit":5}

Then query singapore_query_hdb_resale:

{"filters":{"town":"ANG MO KIO","flat_type":"4 ROOM"},"sort":"month desc","limit":10,"offset":0}

Filters use exact equality and preserve the provider's representation. Column search uses an object such as {"school_name":"RAFFLES"}. Inspect field names first. Numeric values may be strings; missing-value markers are preserved.

For SingStat, search {"query":"population"}, inspect resource M810001, then call singapore_get_statistics with {"resource_id":"M810001","series_contains":"Total Population","period_limit":5}. Series and period filtering occur locally after table retrieval; period can restrict the upstream request to an exact period.

Analysis and nearby searches

singapore_compare_hdb_prices scans the complete official CSV export before calculating medians, quartiles, and prices per square metre. It reports exclusions and coverage rather than extrapolating from a single page.

singapore_find_nearby_facilities supports HDB carparks with live availability, hawker centres, preschools, park facilities, and sports facilities. Unsupported geometries and missing coordinates are counted. Preschool coverage does not include primary or secondary schools.

singapore_convert_coordinates converts SVY21 easting/northing to WGS84 longitude/latitude and back within supported Singapore bounds.

MCP resources and results

Resources: singapore://sources, singapore://coverage, singapore://usage, singapore://topics.

Prompt: research-singapore, with a question argument.

Results contain ok, served_at, data, and sources, in both structuredContent and JSON text. served_at is the response emission time; HTTP provenance includes actual fetched_at, cache use, and cache age. Provider observation and update timestamps remain authoritative for the data itself.

The server bounds page sizes, request queues, output size, HTTP responses, and caches. It preserves continuation parameters and rejects oversized outputs explicitly. Requests use fixed provider origins and reject redirects. Credentials and request bodies are not sent to telemetry services.

Maintenance and verification

npm run build
npm test
npm run docs:generate
npm run docs:check
npm run check:schema
npm run test:smoke
npm run test:smoke -- --all
npm run test:smoke -- --mode=auth
npm run test:package
npm audit
npm run refresh:catalog

Live verification is separate from ordinary pull-request tests. Authenticated checks are explicitly skipped when credentials are absent. The latest report is in docs/live-verification.json. Successful checks do not guarantee future provider availability.

Catalog refresh validates complete pagination, dataset integrity, and required fields before replacing the index. Manual workflows provide catalog refresh proposals and provider verification artifacts. The source catalog and provider responses can change independently of this server.

Documentation

Sources

License

MIT for the server code. Data remains subject to its providers' terms and attribution requirements. See the Singapore Open Data Licence and individual dataset metadata.

Available Tools

64 tools
singapore_catalog_summaryA
Read-onlyIdempotent

List dataset counts by publishing agency and file format, with catalog snapshot date.

Inputs: no named parameters. Returns: ok, data, error, status, +11 more

singapore_compare_hdb_pricesA
Read-onlyIdempotent

Compare HDB resale prices across towns and a bounded month interval using the entire official CSV export (64 MiB maximum). Does not extrapolate from a Datastore page. Exports may still be processing: retry on EXPORT_PENDING.

Inputs: towns (required), to_month (required), from_month (required), flat_type. Returns: ok, data, error, status, +11 more

singapore_convert_coordinatesA
Read-onlyIdempotent

Convert SVY21 easting/northing metres to WGS84 longitude/latitude or the reverse within Singapore. Uses SLA projection parameters; no API key.

Inputs: x (required), y (required), from (required). Returns: ok, data, error, status, +11 more

singapore_download_datasetA
Read-only

Start or poll a dataset export. Call initiate once, then poll on later calls. Returns provider download URL (may expire), never downloads large files into the conversation. Suitable for CSV/GeoJSON/KML and datasets without datastore support.

Inputs: dataset_id (required), action. Returns: ok, data, error, status, +11 more

singapore_find_nearby_bus_stopsB
Read-onlyIdempotent

Search a bounded set of LTA bus-stop pages near WGS84 coordinates. Requires LTA_ACCOUNT_KEY. Complete is true only after an upstream short page; continuation identifies the next unscanned page.

Inputs: latitude (required), longitude (required), limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_find_nearby_facilitiesA
Read-onlyIdempotent

Find nearby HDB carparks with live availability, hawker centres, preschools, park facilities or sport facilities. Reads a bounded full official export (64 MiB max). Only Point geometries with validated WGS84 coordinates are considered; omitted geometries are counted. No arbitrary download URL input.

Inputs: category (required), latitude (required), longitude (required), limit, +3 more. Returns: ok, data, error, status, +11 more

singapore_find_relevant_toolsA
Read-onlyIdempotent

Route an English question to tools and datasets. Deterministic keyword matching; suggestions are not evidence or computed facts. Search catalog with English keywords.

Inputs: question (required), limit. Returns: ok, data, error, status, +11 more

singapore_get_air_temperatureB
Read-onlyIdempotent

NEA temperature (degrees Celsius). Singapore local dates; latest if omitted. Local limits apply to timestamp groups. Consume local offsets before continuing the preserved upstream pagination token.

Inputs: area, date, limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_get_bus_arrivalsA
Read-onlyIdempotent

Live next buses at a bus stop, estimated arrival, load and accessibility. Requires LTA_ACCOUNT_KEY. Bus stop codes retain leading zeros.

Inputs: bus_stop_code (required), service_no. Returns: ok, data, error, status, +11 more

singapore_get_capabilitiesC
Read-onlyIdempotent

Local configuration and source availability. Reports only whether credentials are configured, never their values. No network requests.

Inputs: no named parameters. Returns: ok, data, error, status, +11 more

singapore_get_carpark_availabilityA
Read-onlyIdempotent

HDB/URA carpark live available lots by carpark number. Does not include coordinates: join with carpark directory to locate carparks.

Inputs: limit, offset, date_time, carpark_number. Returns: ok, data, error, status, +11 more

singapore_get_collectionB
Read-onlyIdempotent

Get a collection and its child dataset metadata to discover related historical series or ACRA partitions.

Inputs: collection_id (required). Returns: ok, data, error, status, +11 more

singapore_get_forecast_24hC
Read-onlyIdempotent

NEA 24-hour weather forecast. Singapore local dates; latest if omitted. Local limits apply to timestamp groups. Consume local offsets before continuing the preserved upstream pagination token.

Inputs: area, date, limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_get_forecast_2hB
Read-onlyIdempotent

NEA 2-hour area forecasts. Singapore local dates; latest if omitted. Local limits apply to timestamp groups. Consume local offsets before continuing the preserved upstream pagination token.

Inputs: area, date, limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_get_forecast_4dayC
Read-onlyIdempotent

NEA four-day outlook. Singapore local dates; latest if omitted. Local limits apply to timestamp groups. Consume local offsets before continuing the preserved upstream pagination token.

Inputs: area, date, limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_get_indicatorA
Read-onlyIdempotent

World Bank historical indicator for Singapore, optionally comparing up to five ISO3 countries. Latest years first; null values are preserved. Definitions and publication lag can differ from SingStat. No key required.

Inputs: indicator (required), page, limit, to_year, +2 more. Returns: ok, data, error, status, +11 more

singapore_get_pm25B
Read-onlyIdempotent

NEA PM2.5 (micrograms per cubic metre). Singapore local dates; latest if omitted. Local limits apply to timestamp groups. Consume local offsets before continuing the preserved upstream pagination token.

Inputs: area, date, limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_get_psiB
Read-onlyIdempotent

NEA PSI and pollutants by region. Singapore local dates; latest if omitted. Local limits apply to timestamp groups. Consume local offsets before continuing the preserved upstream pagination token.

Inputs: area, date, limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_get_rainfallC
Read-onlyIdempotent

NEA rainfall (mm). Singapore local dates; latest if omitted. Local limits apply to timestamp groups. Consume local offsets before continuing the preserved upstream pagination token.

Inputs: area, date, limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_get_relative_humidityC
Read-onlyIdempotent

NEA humidity (%). Singapore local dates; latest if omitted. Local limits apply to timestamp groups. Consume local offsets before continuing the preserved upstream pagination token.

Inputs: area, date, limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_get_sourcesB
Read-onlyIdempotent

List connected official data sources, documentation and API key requirements. This server reads public information; no account mutation tools.

Inputs: no named parameters. Returns: ok, data, error, status, +11 more

singapore_get_statisticsA
Read-onlyIdempotent

Read SingStat time series, retaining unit and footnotes. Fetches table (or one exact upstream period), then filters series locally and keeps the last N upstream periods per series. Values remain strings to preserve missing-value markers. Use series_offset to paginate series.

Inputs: resource_id (required), order, period, to_period, +5 more. Returns: ok, data, error, status, +11 more

singapore_get_taxi_availabilityA
Read-onlyIdempotent

Available taxi coordinates from data.gov.sg, optionally within a radius sorted by distance. Latest unless date_time supplied. Coordinates use WGS84; returns a bounded sample and total match count.

Inputs: limit, offset, latitude, date_time, +2 more. Returns: ok, data, error, status, +11 more

singapore_get_traffic_imagesB
Read-onlyIdempotent

Traffic camera image URLs, coordinates and timestamps. Optional radius filter. Image URLs are returned, never fetched by this server.

Inputs: limit, offset, latitude, camera_id, +3 more. Returns: ok, data, error, status, +11 more

singapore_get_uv_indexC
Read-onlyIdempotent

NEA UV index. Singapore local dates; latest if omitted. Local limits apply to timestamp groups. Consume local offsets before continuing the preserved upstream pagination token.

Inputs: area, date, limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_get_wind_directionB
Read-onlyIdempotent

NEA wind direction (degrees). Singapore local dates; latest if omitted. Local limits apply to timestamp groups. Consume local offsets before continuing the preserved upstream pagination token.

Inputs: area, date, limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_get_wind_speedB
Read-onlyIdempotent

NEA wind speed (knots). Singapore local dates; latest if omitted. Local limits apply to timestamp groups. Consume local offsets before continuing the preserved upstream pagination token.

Inputs: area, date, limit, offset, +3 more. Returns: ok, data, error, status, +11 more

singapore_inspect_datasetB
Read-onlyIdempotent

Get live dataset metadata, schema, format, coverage and last update. Field IDs may be internal: use columnMetadata.map/metaMapping names for datastore filters.

Inputs: dataset_id (required), include_raw, fields_limit, fields_offset. Returns: ok, data, error, status, +11 more

singapore_inspect_statisticsB
Read-onlyIdempotent

Get SingStat table metadata, frequency, units, definitions, notes, series and coverage before reading observations.

Inputs: resource_id (required), include_raw, series_limit, series_offset. Returns: ok, data, error, status, +11 more

singapore_list_catalog_pageA
Read-onlyIdempotent

List a current live page of data.gov.sg catalog (upstream page size). Use search_catalog for fast search of the bundled snapshot.

Inputs: page. Returns: ok, data, error, status, +11 more

singapore_list_collectionsB
Read-onlyIdempotent

List a live page of data.gov.sg collections and their child dataset IDs. Page size is controlled by the provider.

Inputs: page. Returns: ok, data, error, status, +11 more

singapore_list_curated_datasetsB
Read-onlyIdempotent

Browse curated datasets and tool names by topic. Includes coverage dates: some series are historical. The full catalog is searchable separately.

Inputs: topic. Returns: ok, data, error, status, +11 more

singapore_list_indicatorsA
Read-onlyIdempotent

Curated World Bank indicators for Singapore. Other valid indicator codes work with get_indicator.

Inputs: no named parameters. Returns: ok, data, error, status, +11 more

singapore_list_weather_stationsB
Read-onlyIdempotent

Discover weather stations, IDs and WGS84 coordinates by observed measure; search by ID/name. No observations omitted from a claimed national inventory.

Inputs: limit, query, offset, measure. Returns: ok, data, error, status, +11 more

singapore_lookup_datasetA
Read-onlyIdempotent

Resolve an exact dataset ID in the bundled snapshot. No network; a missing entry may exist in the live catalog.

Inputs: dataset_id (required). Returns: ok, data, error, status, +11 more

singapore_query_air_quality_annualA
Read-onlyIdempotent

Query Air Quality, Annual (Singapore Department of Statistics). Topic: environment. Inspect dataset d_b733fb074ed97f4d322525467b0fa457 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_businessesA
Read-onlyIdempotent

Query Entities Registered with ACRA (Accounting and Corporate Regulatory Authority). Topic: economy. Inspect dataset d_3f960c10fed6145404ca7b821f263b87 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_carpark_directoryA
Read-onlyIdempotent

Query HDB Carpark Information (Housing & Development Board). Topic: transport. Inspect dataset d_23f946fa557947f93a8043bbef41dd09 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_datasetA
Read-onlyIdempotent

Query any tabular data.gov.sg dataset. Exact filters, column text search, projection, sorting and pagination. Preserve upstream values/units; no SQL. Non-tabular or unsupported datasets can be downloaded instead.

Inputs: dataset_id (required), q, sort, limit, +3 more. Returns: ok, data, error, status, +11 more

singapore_query_government_expenditureA
Read-onlyIdempotent

Query Government Total Expenditure (Ministry of Finance). Topic: finance. Inspect dataset d_00f95040967791729d51bd7cd6af2355 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_greenhouse_emissionsA
Read-onlyIdempotent

Query Greenhouse Gas Emissions By Sector, Annual (Singapore Department of Statistics). Topic: environment. Inspect dataset d_1b8dcef6bf32ece26deca60e59d99f71 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_hawker_centresB
Read-onlyIdempotent

Query List of Government Markets Hawker Centres (National Environment Agency). Topic: food. Inspect dataset d_68a42f09f350881996d83f9cd73ab02f first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_hawker_closuresB
Read-onlyIdempotent

Query Dates of Hawker Centres Closure (National Environment Agency). Topic: food. Inspect dataset d_bda4baa634dd1cc7a6c7cad5f19e2d68 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_hdb_median_rentA
Read-onlyIdempotent

Query Median Rent By Town And Flat Type (Housing & Development Board). Topic: housing. Inspect dataset d_23000a00c52996c55106084ed0339566 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_hdb_populationA
Read-onlyIdempotent

Query HDB Resident Population by Geographical Distribution (Housing & Development Board). Topic: population. Inspect dataset d_0a6c6d71f6fa14e2d27e406f1d018439 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_hdb_rentalsA
Read-onlyIdempotent

Query Renting Out of Flats from Jan 2021 (Housing & Development Board). Topic: housing. Inspect dataset d_c9f57187485a850908655db0e8cfe651 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_hdb_resaleA
Read-onlyIdempotent

Query Resale flat prices based on registration date from Jan-2017 onwards (Housing & Development Board). Topic: housing. Inspect dataset d_8b84c4ee58e3cfc0ece0d773c8ca6abc first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_healthcare_schemesA
Read-onlyIdempotent

Query Healthcare Schemes and Subsidies (Ministry of Health). Topic: health. Inspect dataset d_586ee0cbc5c79ff8167a46132a405239 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_hotel_statisticsA
Read-onlyIdempotent

Query Monthly Gazetted Hotels Statistics (Singapore Tourism Board). Topic: tourism. Inspect dataset d_1db0bd2ffd95ac09c66db600e60d3400 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_infectious_diseasesA
Read-onlyIdempotent

Query Weekly Infectious Disease Bulletin Cases (Ministry of Health). Topic: health. Inspect dataset d_ca168b2cb763640d72c4600a68f9909e first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_land_areaA
Read-onlyIdempotent

Query Land Area (As At December), Annual (Singapore Department of Statistics). Topic: geography. Inspect dataset d_0b2c034da121ef8efc71949af1694b4d first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_ltaB
Read-onlyIdempotent

LTA lists and alerts. Requires LTA_ACCOUNT_KEY. Stop/service filters are allowed only on provider endpoints supporting them. Offsets apply only to paginated datasets.

Inputs: dataset (required), limit, offset, service_no, +1 more. Returns: ok, data, error, status, +11 more

singapore_query_museum_visitorsA
Read-onlyIdempotent

Query Visitorship to National Museums and Heritage Institutions (Ministry of Culture, Community and Youth). Topic: culture. Inspect dataset d_618a1224b896b436ce650be1f77c804e first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_private_property_pricesA
Read-onlyIdempotent

Query Price Indices Of Non-Landed Private Residential Properties By Locality (1st Quarter 2009 = 100), Quarterly (Singapore Department of Statistics). Topic: housing. Inspect dataset d_65f5bf43d377db3939d93eb6f744d950 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_recycling_ratesA
Read-onlyIdempotent

Query Recycling Rate By Waste Type (National Environment Agency). Topic: environment. Inspect dataset d_9740df787da2b59a0b5bd76a6c33453d first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_schoolsA
Read-onlyIdempotent

Query General information of schools (Ministry of Education). Topic: education. Inspect dataset d_688b934f82c1059ed0a6993d2a829089 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_sport_facilitiesA
Read-onlyIdempotent

Query Sport Facilities (Sport Singapore). Topic: culture. Inspect dataset d_2cfb0867cdeb2b7303068995699dc33b first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_unemploymentA
Read-onlyIdempotent

Query Average Resident Unemployment Rate By Sex, Age And Highest Qualification Attained (HQA), Annual (Singapore Department of Statistics). Topic: employment. Inspect dataset d_11a640f1e61c1a680efeac8c775cdcb5 first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_query_visitor_arrivalsA
Read-onlyIdempotent

Query International Visitor Arrivals By Place Of Residence, Monthly (Singapore Department of Statistics). Topic: tourism. Inspect dataset d_7e7b2ee60c6ffc962f80fef129cf306e first for filter fields. Supports exact filters, column text search, fields, sort and pagination. Returns source coverage from the bundled catalog; fetch metadata for current coverage.

Inputs: q, sort, limit, fields, +2 more. Returns: ok, data, error, status, +11 more

singapore_reverse_geocodeB
Read-onlyIdempotent

OneMap reverse geocoding of Singapore WGS84 coordinates to nearby addresses. Requires ONEMAP_TOKEN.

Inputs: latitude (required), longitude (required), radius_m. Returns: ok, data, error, status, +11 more

singapore_search_acraB
Read-onlyIdempotent

Search one detailed ACRA partition by entity name or UEN. Select A-Z or Others explicitly; no automatic scan of all partitions. Inspect returned schema for provider field names.

Inputs: partition (required), uen, name, limit, +1 more. Returns: ok, data, error, status, +11 more

singapore_search_addressA
Read-onlyIdempotent

OneMap official address/building/postal-code geocoding (WGS84 plus SVY21). Requires ONEMAP_TOKEN. Search pages are provider pages, usually 10 results.

Inputs: query (required), page. Returns: ok, data, error, status, +11 more

singapore_search_catalogA
Read-onlyIdempotent

Search the bundled full data.gov.sg catalog by English keywords, agency and format. No network needed. Results include snapshot date. Use inspect_dataset then query_dataset; non-tabular datasets may require download. Use list_catalog_page for updates since the snapshot.

Inputs: limit, query, agency, format, +5 more. Returns: ok, data, error, status, +11 more

singapore_search_statisticsA
Read-onlyIdempotent

Search SingStat Table Builder across all official economic, population, labour, trade, health and social tables. Returns resource IDs to use with inspect_statistics/get_statistics. Use English terms.

Inputs: query (required), limit, offset. Returns: ok, data, error, status, +11 more

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 64 tools

    Disambiguation3/5

    The core pattern is clear: generic catalog tools (search_catalog, inspect_dataset, query_dataset, download_dataset) plus per-dataset convenience wrappers. However, ~20 singapore_query_<topic> tools overlap heavily with singapore_query_dataset, and discovery is split across search_catalog, list_catalog_page, list_curated_datasets, catalog_summary, and find_relevant_tools, so an agent can hesitate between near-equivalent entry points. Descriptions do a good job steering (e.g. compare_hdb_prices vs query_hdb_resale, find_nearby_bus_stops vs get_bus_arrivals), which keeps it from being worse.

    Naming Consistency5/5

    Every tool uses the singapore_ prefix plus a consistent snake_case verb_noun form (query_*, get_*, list_*, search_*, inspect_*, find_nearby_*, convert_*). Verb choice maps predictably to intent: query for tabular data, get for live readings, list/search for discovery.

    Tool Count2/5

    64 tools is far beyond a comfortable surface for a single server, even a broad national data portal. Much of the bulk comes from per-dataset query wrappers that duplicate query_dataset's capability and could be replaced by a curated dataset list.

    Completeness4/5

    Coverage is broad and coherent: catalog discovery, metadata inspection, tabular querying, export/download, live weather, transport, SingStat, geocoding, World Bank, and capability/source introspection, with a consistent read-only posture. Gaps are minor — e.g. some discovery paths (curated topics) versus the live catalog could be unified, and a few domain areas rely on single datasets.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Provides comprehensive access to Singapore's OneMap APIs, enabling AI assistants to perform location searches, routing, and coordinate conversions. It features over 35 tools for accessing thematic layers, population statistics, and public transport data.
      1
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables access to Singapore government open data and real-time environment/transport feeds including weather, air quality, taxi availability, and traffic incidents.
      97 npm
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Provides AI agents with live, structured access to Singapore government open data including weather, transport, property, and company registry via 35 well-described tools.
      1
      -