Skip to content
Agentmart
Submit a tool

Sgdata MCP

Singapore government data for AI agents: ACRA, HDB, COE, URA, SingStat, MAS, IRAS.

Connector by sypherin · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Chalk Labs

Need help deploying Sgdata MCP?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/sypherin-sgdata-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Singapore government data for AI agents: ACRA, HDB, COE, URA, SingStat, MAS, IRAS. 87 tools.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
41 read · 2 write · 0 delete · 46 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 89

Read from the source code; the running server may list different tools.

Read 41 · Look things up without changing anything.

  • sg_acra_formations_by_ssic
  • sg_acra_get_entity
  • sg_acra_search_entities
  • sg_ask
  • sg_births_latest
  • sg_cessations_monthly
  • sg_coe_latest
  • sg_crime_compare
  • sg_crime_latest
  • sg_cross_dataset
  • sg_dataset_query
  • sg_dataset_schema
Show 29 more tools
  • sg_disease_latest
  • sg_disease_list
  • sg_ecda_centres_near
  • sg_ecda_search_centres
  • sg_electricity_latest
  • sg_formations_compare
  • sg_formations_history
  • sg_formations_latest
  • sg_formations_monthly
  • sg_gdp_industry_compare
  • sg_gdp_latest
  • sg_hawker_search
  • sg_hawker_stats
  • sg_hdb_carpark_lookup
  • sg_hdb_resale_search
  • sg_hdb_resale_stats
  • sg_iras_collection
  • sg_list_datasets
  • sg_median_income_lookup
  • sg_moe_schools_near
  • sg_moe_search_schools
  • sg_net_formations
  • sg_population_latest
  • sg_search_datasets
  • sg_tool_catalog
  • sg_tourism_latest
  • sg_unemployment_latest
  • sg_visualize
  • sg_weather_forecast

Write 2 · Create, change, send or run things.

  • sg_dispatch
  • sg_hdb_carparks_by_type

Not yet classified 46 · We could not tell from the name and description.

  • sg_air_temperature
  • sg_births_history
  • sg_carpark_availability
  • sg_coe_demand_supply
  • sg_coe_history
  • sg_cpi_history
  • sg_cpi_latest
  • sg_cpi_yoy
  • sg_crime_history
  • sg_deaths
  • sg_dengue_clusters
  • sg_disease_trend
Show 34 more tools
  • sg_divorces
  • sg_ecda_vacancy_summary
  • sg_electricity_history
  • sg_employment_by_sector
  • sg_employment_growth
  • sg_employment_sector_history
  • sg_fx_basket
  • sg_fx_history
  • sg_fx_rate
  • sg_gdp_history
  • sg_hdb_carparks_by_address
  • sg_household_income
  • sg_iras_collection_history
  • sg_iras_tax_mix
  • sg_labour_force
  • sg_marriages
  • sg_median_income_history
  • sg_moe_school_by_name
  • sg_population_history
  • sg_psi
  • sg_rainfall
  • sg_retail_sales_history
  • sg_retail_sales_latest
  • sg_retail_sales_yoy
  • sg_tourism_history
  • sg_trade
  • sg_unemployment_history
  • sg_ura_new_sale_pipeline
  • sg_ura_private_txn_history
  • sg_ura_private_txn_latest
  • sg_visitors_history
  • sg_visitors_latest
  • sg_visitors_top_sources
  • sg_wages

Files it touches

  • Any path the agent passes to its tools

Tools (89)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • sg_acra_formations_by_ssic

    Count ACRA corporate entity formations for a given SSIC prefix and calendar year. Useful for macro questions like 'how many fintech (SSIC 64) companies were incorporated in 2025'. Returns the match count plus a 25-row sample sorted by incorporation date.

  • sg_acra_get_entity

    Look up a single ACRA corporate entity by exact UEN via a server-side datastore_search exact-match query (no local ingest). Returns the full row including entity name, type, status, SSIC, and address, or `found: false` if no match.

  • sg_acra_search_entities

    Search the curated ACRA corporate registry resource server-side (via datastore_search; no local ingest). Filters: free-text substring on entity_name (`query`), SSIC prefix (`ssic_prefix`, e.g. '62' for IT), exact entity status (`status`, e.g. 'Live Company'), incorporation date window (`incorporated_after` / `incorporated_before`, YYYY-MM-DD), and postal code prefix (`postal_code_prefix`). query+status are pushed server-side; SSIC/postal/date predicates are refined client-side on the bounded fetched subset. Multi-word queries default to match:'all' (every token must appear in entity_name, rank…

  • sg_air_temperature

    Live air temperature readings (deg C) from NEA weather stations across Singapore, with each station's name, coordinates and current value, plus an island-wide min/max/avg summary. Updated roughly every minute.

  • sg_ask

    Ask a natural language question about Singapore government data. Automatically routes to the best matching tool. Examples: 'What is Singapore's GDP growth?', 'How many dengue cases?', 'Latest COE prices', 'Crime statistics'.

  • sg_births_history

    Monthly live-birth count time series for a category (e.g. 'Total Live-Births'). Returns oldest-to-newest.

  • sg_births_latest

    Get the most recent month's live-birth counts by sex and ethnic group. Optionally filter by category (e.g. 'Total', 'Males', 'Chinese').

  • sg_carpark_availability

    Live HDB/LTA carpark lot availability across Singapore (updated every minute). Returns each carpark's number, available vs total lots, lot type, and update time. Use `carpark_number` for a substring match on the carpark id (e.g. 'HE12', 'BM'), and `limit` to cap the number of carparks returned (default 50). Without filters the list is large (~1900 carparks).

  • sg_cessations_monthly

    Get monthly business cessation (closure/deregistration) counts for a specific industry or all industries (Total). Returns monthly time series from Jan 1990 to present. Data from ACRA via SingStat Table Builder.

  • sg_coe_demand_supply

    COE oversubscription ratio (bids_received / quota) for a single vehicle category over the last N months. Values > 1.0 indicate bids exceeded quota.

  • sg_coe_history

    COE premium time series for a single vehicle category. Returns bidding exercises in chronological order (oldest first), optionally trimmed to the last N months.

  • sg_coe_latest

    Get the most recent COE bidding result per vehicle category. If vehicle_class is supplied (e.g. 'Category A'), returns just that one; otherwise returns the latest exercise across all categories.

  • sg_cpi_history

    Monthly CPI time series for a single sub-index (substring match on DataSeries). Returns oldest-to-newest, trimmed to last N months if months_back is given.

  • sg_cpi_latest

    Most recent CPI index value and YoY change for a matching sub-index (substring match on DataSeries). Defaults to 'All Items'.

  • sg_cpi_yoy

    Year-on-year inflation rate for a single CPI sub-index in a given month. If month is omitted, uses the most recent month. Month format: '2026Feb' or '2026-Feb'.

Show 74 more tools
  • sg_crime_compare

    Rank all crime types by case count for a given year. Returns every crime type sorted descending by number of cases.

  • sg_crime_history

    Annual crime case count time series for a specific crime type (e.g. 'Total Crimes', 'Cheating'). Returns oldest-to-newest.

  • sg_crime_latest

    Get the most recent year's crime case counts by type. Optionally filter by crime type (substring match, e.g. 'Robbery', 'Cheating', 'Scam').

  • sg_cross_dataset

    Compare two Singapore datasets side-by-side over time. Joins both datasets on their time dimension (year/quarter/month) and returns aligned rows for correlation analysis. Examples: compare GDP vs unemployment, CPI vs retail sales, births vs population. Use dataset short IDs like 'gdp_yoy', 'unemployment', 'cpi_monthly', 'crime', etc.

  • sg_dataset_query

    Query any data.gov.sg dataset by ID with simple exact-match and substring (LIKE) filters, paginated. Automatically downloads and caches the dataset locally on first use, refreshing if the cache is older than 30 days. Filter keys must be the human column labels from sg_dataset_schema.

  • sg_dataset_schema

    Fetch the column schema and metadata for any data.gov.sg dataset by ID. Returns the human column labels (use these as filter keys for sg_dataset_query), agency, format, size, and last updated timestamp. Cheap call — does not download the dataset itself.

  • sg_deaths

    Singapore mortality indicators: crude death rate and infant mortality rate. Annual, from DOS via SingStat (M810481). Use `indicator` to choose ('Crude Death Rate' or 'Infant Mortality Rate'); defaults to crude death rate.

  • sg_dengue_clusters

    Active NEA dengue clusters in Singapore (live). The legacy realtime endpoint is decommissioned (HTTP 403), so this pulls NEA's official 'Dengue Clusters (GEOJSON)' dataset and returns each cluster's locality, case count and centroid, sorted by case size, plus totals. Optional `min_cases` filters to larger clusters.

  • sg_disease_latest

    Get the most recent week's infectious disease case counts. Optionally filter by disease name (substring match, e.g. 'Dengue', 'HFMD', 'Tuberculosis'). KNOWN ISSUE: upstream MOH feed on data.gov.sg appears frozen since 2022-W52 — check the returned `data_freshness.level` field; `frozen` means cross-check moh.gov.sg.

  • sg_disease_list

    List all diseases tracked in the Weekly Infectious Disease Bulletin with their total case counts across all weeks.

  • sg_disease_trend

    Weekly case count trend for a specific disease (e.g. 'Dengue Fever', 'HFMD'). Returns oldest-to-newest, optionally trimmed to last N weeks.

  • sg_dispatch

    Invoke any sgdata tool by name with a JSON args object. Get the exact arg names and shapes from sg_tool_catalog first. Args are validated against the tool's real schema — a validation error tells you the expected shape.

  • sg_divorces

    Singapore divorce statistics. Defaults to total divorces & annulments; use `indicator` for other series (e.g. 'Civil Divorces', 'Muslim Divorces', 'Median Duration Of Marriage For Divorces'). Annual, from DOS via SingStat (M830201).

  • sg_ecda_centres_near

    Find childcare centres whose postal_code shares a prefix with the supplied postal_code (default prefix length 2 — postal sector).

  • sg_ecda_search_centres

    Search ECDA childcare & kindergarten centres. Filters: name substring, postal_code prefix, service_model ('Childcare', 'Kindergarten', etc.), has_infant_vacancy (true = at least one infant slot), spark_certified.

  • sg_ecda_vacancy_summary

    Aggregate vacancy count for a given level (infant/pg/n1/n2/k1/k2), optionally restricted to a postal_code prefix. Returns total vacancies, centres with vacancy, and centres reviewed.

  • sg_electricity_history

    Monthly electricity generation time series for a given source (e.g. 'Total', 'Gas Turbine / Combined Cycle'). Returns oldest-to-newest, optionally trimmed to last N months.

  • sg_electricity_latest

    Get the most recent month's electricity generation figures by source. Optionally filter by source (e.g. 'Total', 'Gas').

  • sg_employment_by_sector

    Employment counts by sector for a given year. If year is omitted, uses the most recent year. If sector is supplied, filters to rows whose DataSeries contains that substring.

  • sg_employment_growth

    Percent change in employment for a sector between two years (substring match on DataSeries).

  • sg_employment_sector_history

    Employment time series for a single sector (substring match on DataSeries), oldest-to-newest. Optionally trimmed to last N years.

  • sg_formations_compare

    Compare business formation counts across multiple industries for a given year. Great for spotting which sectors are growing fastest. Optionally filter by SSIC codes.

  • sg_formations_history

    Get the historical time series of business formations for a specific industry/SSIC code. Returns annual counts from 1990 to present. Use SSIC code (e.g. '62' for IT) or 'Total' for all industries.

  • sg_formations_latest

    Get the latest year's business formation counts by industry in Singapore. Shows how many new companies were registered in each SSIC sector. Data from ACRA via SingStat.

  • sg_formations_monthly

    Get monthly business formation counts for a specific industry or all industries (Total). Returns monthly time series from Jan 1990 to present. Data from ACRA via SingStat Table Builder.

  • sg_fx_basket

    All major SGD currency pairs for a single month. If month is omitted, uses the most recent month.

  • sg_fx_history

    Monthly SGD rate time series for a single currency. Returns oldest-to-newest, trimmed to last N months.

  • sg_fx_rate

    Monthly SGD exchange rate for a given currency. Currency is matched as a substring against DataSeries (e.g. 'U S Dollar', 'Euro', 'Japanese Yen'). If month is omitted, returns the most recent month. Note the 'Per 100' note in the DataSeries label when present.

  • sg_gdp_history

    Time series of YoY GDP growth for a single industry (substring match on DataSeries). Returns oldest-to-newest, trimmed to the last N quarters if quarters_back is given.

  • sg_gdp_industry_compare

    Rank all industries by YoY growth for a given quarter (e.g. '2025Q4', '20254Q'). Returns every industry row with its growth value, sorted descending.

  • sg_gdp_latest

    Get the most recent YoY GDP growth rate for a matching industry (substring match on DataSeries, e.g. 'Manufacturing'). Omit industry to get the headline 'GDP At Constant 2015 Market Prices'.

  • sg_hawker_search

    Search for hawker centres by name or location (substring match). Returns name, location, type, stall counts.

  • sg_hawker_stats

    Summary statistics of all hawker centres — total count, breakdown by type, total stalls nationwide.

  • sg_hdb_carpark_lookup

    Exact-match lookup for a single HDB carpark by car_park_no (e.g. 'BJ55', 'ACB'). Returns all reference columns for that carpark.

  • sg_hdb_carparks_by_address

    Substring search over HDB carpark addresses. Useful for 'find all carparks in Tampines' or 'carparks on Ang Mo Kio Ave 3'.

  • sg_hdb_carparks_by_type

    Filter HDB carparks by type (e.g. 'MULTI-STOREY CAR PARK', 'SURFACE CAR PARK'), night_parking availability, or free_parking text (e.g. 'SUN & PH FR 7AM-10.30PM').

  • sg_hdb_resale_search

    Search HDB resale flat transactions (Jan 2017+). Filters: town, flat_type (e.g. '4 ROOM'), month range (YYYY-MM), price range. Returns paginated transaction rows.

  • sg_hdb_resale_stats

    Aggregate HDB resale statistics (count, median, mean, min, max resale price) for a filtered slice. Filters: town, flat_type, month range.

  • sg_household_income

    Singapore resident household income from work. Returns the median monthly household income (or, with `indicator`, a chosen series such as average income, a specific decile, or the Gini coefficient). Annual, from DOS via SingStat (M810871).

  • sg_iras_collection

    Look up IRAS tax collection by tax_type (substring match) and/or financial_year. If both omitted, returns the most recent year's full breakdown.

  • sg_iras_collection_history

    Annual tax collection time series for a single tax_type (substring match). Oldest-to-newest, trimmed to last N years.

  • sg_iras_tax_mix

    Percentage breakdown of IRAS total collection by tax type for a given financial_year.

  • sg_labour_force

    Singapore resident labour force participation rate (LFPR), aged 15+. Defaults to the overall total rate; use `indicator` for an age band (e.g. '25 - 29 Years'). Annual (end-June), from MOM/DOS via SingStat (M182201).

  • sg_list_datasets

    List all available curated Singapore datasets with their IDs, names, and agencies. Use this to discover dataset IDs for sg_cross_dataset or other tools.

  • sg_marriages

    Singapore marriage statistics. Defaults to total marriages; use `indicator` for other series (e.g. 'First Marriages', 'Resident Marriages', 'Proportion Of Inter-Ethnic Marriages'). Annual, from DOS via SingStat (M830101).

  • sg_median_income_history

    Annual median income time series for a given sex ('Males', 'Females', or 'Total'). Returns oldest-to-newest, trimmed to last N years if years_back is given.

  • sg_median_income_lookup

    Look up median monthly income by year and/or sex. If year is omitted, returns the most recent year. sex values: 'Males', 'Females', 'Total'.

  • sg_moe_school_by_name

    Exact-match lookup for a single MOE school by full school_name. Falls back to the closest substring match if no exact hit.

  • sg_moe_schools_near

    Find schools whose postal_code shares a prefix with the supplied postal_code. Default prefix length is 2 (Singapore postal sector). Not a true geographic radius — use this as a cheap proximity proxy.

  • sg_moe_search_schools

    Search MOE-registered schools by name substring, mainlevel (PRIMARY/SECONDARY/MIXED LEVELS/JUNIOR COLLEGE/CENTRALISED INSTITUTE), zone (NORTH/SOUTH/EAST/WEST), SAP status, and Gifted Education Programme status.

  • sg_net_formations

    Get net business growth (formations minus cessations) by month for a specific industry or all industries. Positive = more companies created than closed. Data from ACRA via SingStat.

  • sg_population_history

    Annual time series for a single population indicator (e.g. 'Total Population'). Returns oldest-to-newest, optionally trimmed to last N years.

  • sg_population_latest

    Get the most recent annual population figure for a matching indicator (substring match, e.g. 'Total Population', 'Median Age', 'Dependency Ratio'). Omit indicator to get all.

  • sg_psi

    Live NEA Pollutant Standards Index (PSI) for Singapore. Returns the national headline 24-hour PSI (the highest regional reading, per NEA convention) plus a per-region breakdown (north/south/east/west/central) of 24-hour PSI and 24-hour PM2.5 concentration. Updated hourly.

  • sg_rainfall

    Live 5-minute rainfall readings (mm) from NEA stations across Singapore. Returns every station's current reading plus the subset of stations that are actually reporting rain (value > 0). Updated every ~5 minutes.

  • sg_retail_sales_history

    Monthly retail sales index time series for a sub-industry. Defaults to 'Total'. Returns oldest-to-newest, trimmed to last N months if given.

  • sg_retail_sales_latest

    Most recent retail sales index value for a matching sub-industry (substring match on DataSeries). Defaults to 'Total'.

  • sg_retail_sales_yoy

    Year-on-year percent change in retail sales index for a sub-industry in a given month (defaults to most recent month).

  • sg_search_datasets

    Search data.gov.sg for datasets matching a free-text keyword query. Returns dataset IDs and high-level metadata (name, agency, format, row count, last updated). Use this to discover datasets when no curated sg_* tool exists, then pass the datasetId into sg_dataset_schema or sg_dataset_query. Supports optional agency and format filters.

  • sg_tool_catalog

    List all sgdata tools with descriptions and full JSON input schemas, on demand. Optional case-insensitive substring filter on tool name or description (e.g. 'acra', 'hdb', 'carpark'). Call this FIRST when you need Singapore government data — then invoke the tool you found via sg_dispatch.

  • sg_tourism_history

    Tourism receipts time series for a specific component (e.g. 'Shopping', 'Accommodation', 'Food & Beverage'). Returns annual data oldest-to-newest.

  • sg_tourism_latest

    Get the most recent year's tourism receipts breakdown by component (shopping, accommodation, F&B, transport, etc.).

  • sg_trade

    Singapore total merchandise trade (imports + exports) by commodity section, monthly, in thousand dollars. Defaults to total trade; use `segment` to pick a sub-series: 'total' | 'oil' | 'non-oil' | 'petroleum' | 'oil-bunkers'. From EnterpriseSG/DOS via SingStat (M451001). Monthly series are fetched per-segment to avoid the API's cell limit.

  • sg_unemployment_history

    Unemployment rate time series for a given residential status (e.g. 'Overall', 'Residents', 'Citizens'). Returns quarterly data oldest-to-newest, optionally trimmed to last N quarters.

  • sg_unemployment_latest

    Get the most recent quarterly unemployment rates for Singapore. Returns seasonally adjusted and unadjusted rates by residential status (overall, residents, citizens).

  • sg_ura_new_sale_pipeline

    New sale volume only, quarter-by-quarter, for pipeline analysis. Returns summed units per quarter across all sale_status values.

  • sg_ura_private_txn_history

    URA private residential transaction volumes over time, optionally filtered to a single type_of_sale ('New Sale', 'Sub-Sale', 'Resale'). Oldest-to-newest, optionally trimmed.

  • sg_ura_private_txn_latest

    Latest quarter of URA private residential transactions, broken down by type_of_sale and sale_status.

  • sg_visitors_history

    Monthly visitor arrivals time series for a source country. Defaults to 'Total International' if no country given. Returns oldest-to-newest, trimmed to last N months.

  • sg_visitors_latest

    Most recent monthly visitor arrivals for a matching source country (substring match). Defaults to 'Total International Visitor Arrivals'.

  • sg_visitors_top_sources

    Top N source countries by visitor arrivals for a given month. If month is omitted, uses the most recent month. Excludes the 'Total' row.

  • sg_visualize

    Generate an ASCII sparkline chart and summary statistics from a numeric time series. Pass labels (e.g. dates) and corresponding values. Returns sparkline, min/max/mean/latest, period-over-period change, and chart-ready JSON for frontend rendering.

  • sg_wages

    Average monthly nominal earnings per employee in Singapore (overall economy). Annual time series, from MOM/DOS via SingStat (M182941).

  • sg_weather_forecast

    NEA weather forecast for Singapore. By default returns the 2-hour nowcast per area (47 named areas, e.g. 'Ang Mo Kio', 'Bedok'). Pass horizon='24h' for the 24-hour outlook (general day/night summary, temperature & humidity ranges, wind, and per-region time-block forecasts). Optional `area` substring filter applies to the 2-hour forecast.

Signals

Stars
0
Forks
1
Open issues
0
Weekly downloads
38
Last commit
Sep 4, 2026 (1 month ago)
Last release
Jul 18, 2026 (3 months ago)
Last package publish
Sep 1, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.sypherin/sgdata-mcp
Version
0.5.2
Auth
No auth
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from sypherin

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get Sgdata MCP running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Sgdata MCP?

CallGet help
Cite this page

Sgdata MCP. Agent Mart. https://agentmart.dev/connectors/sypherin-sgdata-mcp (last updated 2026-10-24)