Singapore MCP by Olano
NPM · @OLANO/MCP-SINGAPORE · SCANNED SEP 20
Singapore public data, transport, rail, property, business, economy, weather, and analytics.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 0 of 15 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to olano-ai/mcp-singapore). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 29 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability78
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 12412 tokens (~42/item across 294 items; 291 tools + 3 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage68
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 4% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 291 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 293 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the Singapore MCP by Olano server?
Singapore MCP by Olano runs locally as an npm package, launched with npx -y @olano/mcp-singapore. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @olano/mcp-singapore
claude mcp add olano-ai-mcp-singapore -- npx -y @olano/mcp-singapore
{
"mcpServers": {
"olano-ai-mcp-singapore": {
"command": "npx",
"args": [
"-y",
"@olano/mcp-singapore"
]
}
}
} {
"servers": {
"olano-ai-mcp-singapore": {
"command": "npx",
"args": [
"-y",
"@olano/mcp-singapore"
]
}
}
} codex mcp add olano-ai-mcp-singapore -- npx -y @olano/mcp-singapore
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"olano-ai-mcp-singapore": {
"type": "local",
"command": [
"npx",
"-y",
"@olano/mcp-singapore"
],
"enabled": true
}
}
} openclaw mcp add olano-ai-mcp-singapore --command npx --arg -y --arg @olano/mcp-singapore
mcp_servers:
olano-ai-mcp-singapore:
command: "npx"
args: ["-y", "@olano/mcp-singapore"] {
"McpServers": {
"olano-ai-mcp-singapore": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@olano/mcp-singapore"
]
}
}
} assistant mcp add olano-ai-mcp-singapore -t stdio -c npx -a -y @olano/mcp-singapore
{
"mcpServers": {
"olano-ai-mcp-singapore": {
"command": "npx",
"args": [
"-y",
"@olano/mcp-singapore"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 0
- Stability: 0.97 → pass security
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.
- 9 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 7 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 5 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/@olano/mcp-singapore@0.4.1
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | olano-ai/mcp-singapore |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/olano-ai/mcp-singapore/.github/workflows/publish.yml@refs/heads/main |
| Rekor log index | 2546700080 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:187935bd999d6e663557ad3bd88671375fc8fd848d6027c5f4d2c5e764d2a21610ad0425f9079cdb32b6c742391da3210a65e26a11291fcbad6f45ed0 |
Background: How many MCP packages publish verified provenance →
Dependencies 15 packages
| Packages resolved | 15 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
sg_ask Compatibility: route a Singapore data question ~31
Compatibility alias for singapore_ask. Returns recommendations; never executes arbitrary tools.
| Name | Type | Req | Description |
|---|---|---|---|
| question | string | yes | – |
No output schema declared.
No examples provided.
sg_births_history Compatibility route: sg_births_history ~25
Official published history. Canonical Olano tool: live_births_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_births_latest Compatibility route: sg_births_latest ~27
Official live-birth indicators. Canonical Olano tool: live_births_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_carpark_availability Compatibility route: sg_carpark_availability ~33
Requires LTA_DATAMALL_API_KEY. Canonical Olano tool: lta_carpark_availability.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_cessations_monthly Compatibility route: sg_cessations_monthly ~32
Official cessation series. Canonical Olano tool: singstat_business_cessations_monthly_history.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_coe_demand_supply Compatibility: Analyse COE demand and supply ~44
Compare bids received, quota and successful bids for a COE category using reproducible ratios.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | – |
| exercises | integer | – | – |
No output schema declared.
No examples provided.
sg_coe_history Compatibility: Get COE bidding history ~39
Get a bounded, newest-first history for one official COE vehicle category.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | – |
| exercises | integer | – | – |
No output schema declared.
No examples provided.
sg_coe_latest Compatibility: Get the latest COE bidding results ~39
Summarise the latest official COE exercise, with transparent demand, success, utilisation and premium-change measures.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
No output schema declared.
No examples provided.
sg_cpi_history Compatibility route: sg_cpi_history ~30
Official wide-series rows preserve the full published history. Canonical Olano tool: cpi_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_cpi_latest Compatibility route: sg_cpi_latest ~26
Curated official CPI lookup. Canonical Olano tool: cpi_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_cpi_yoy Compatibility: Calculate Singapore CPI year-on-year change ~43
Select an official monthly CPI series and calculate same-month year-on-year index and percentage changes.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| periods | integer | – | – |
No output schema declared.
No examples provided.
sg_crime_compare Compatibility: Rank Singapore recorded-crime series for a year ~38
Rank every numeric official recorded-crime series for a requested year, preserving category definitions and structural-break warnings.
| Name | Type | Req | Description |
|---|---|---|---|
| year | string | yes | – |
No output schema declared.
No examples provided.
sg_crime_history Compatibility route: sg_crime_history ~23
Official aggregate history. Canonical Olano tool: crime_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_crime_latest Compatibility route: sg_crime_latest ~25
Official recorded-crime aggregates. Canonical Olano tool: crime_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_cross_dataset Compatibility: compare aligned series ~54
Compatibility alias for explicit period-aware Olano comparison. Supply the official observations to compare.
| Name | Type | Req | Description |
|---|---|---|---|
| aggregation | string | – | – |
| frequency | string | – | – |
| left | object | yes | – |
| right | object | yes | – |
No output schema declared.
No examples provided.
sg_dataset_query Compatibility route: sg_dataset_query ~39
Direct bounded official row retrieval; Olano does not silently download an unbounded dataset. Canonical Olano tool: datagov_list_dataset_rows.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_dataset_schema Compatibility route: sg_dataset_schema ~27
Direct official metadata lookup. Canonical Olano tool: datagov_get_dataset_metadata.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_deaths Compatibility route: sg_deaths ~26
Official deaths and rates. Canonical Olano tool: singstat_deaths_history.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_dengue_clusters Compatibility route: sg_dengue_clusters ~25
Official cluster records. Canonical Olano tool: dengue_clusters_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_disease_latest Compatibility: Get the latest cases in the published MOH disease dataset ~48
Return the last epidemiological week present in the official data.gov.sg dataset. The source is frozen around 2022 and is never presented as current surveillance.
| Name | Type | Req | Description |
|---|---|---|---|
| disease | string | – | – |
No output schema declared.
No examples provided.
sg_disease_list Compatibility: List diseases in the published MOH bulletin dataset ~33
List the actual disease labels and source-coverage totals in the official historical dataset, with an explicit frozen-data warning.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_disease_trend Compatibility: Analyse a published infectious-disease trend ~53
Aggregate exact epidemiological weeks for disease labels matching the query and expose the frozen source coverage prominently.
| Name | Type | Req | Description |
|---|---|---|---|
| disease | string | yes | – |
| weeksBack | integer | – | – |
| weeks_back | integer | – | – |
No output schema declared.
No examples provided.
sg_divorces Compatibility route: sg_divorces ~27
Official divorce indicators. Canonical Olano tool: singstat_divorces_history.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_ecda_centres_near Compatibility: Find early-childhood centres near a Singapore location ~102
Resolve an address or use WGS84 coordinates, query official OneMap kindergarten/childcare themes, and rank actual coordinates by haversine distance. Requires ONEMAP_TOKEN.
| Name | Type | Req | Description |
|---|---|---|---|
| latitude | number | – | – |
| limit | integer | – | – |
| location | string | – | – |
| longitude | number | – | – |
| postalCode | string | – | – |
| postal_code | string | – | – |
| radiusMetres | integer | – | – |
No output schema declared.
No examples provided.
sg_ecda_search_centres Compatibility route: sg_ecda_search_centres ~30
Official ECDA centre search. Canonical Olano tool: ecda_childcare_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_ecda_vacancy_summary Compatibility: Summarise published ECDA vacancy availability ~91
Summarise the official ECDA vacancy field for one programme level and forecast month, preserving categorical Available/Limited/Full values instead of pretending they are numeric counts.
| Name | Type | Req | Description |
|---|---|---|---|
| level | string | yes | – |
| month | string | – | – |
| postalPrefix | string | – | – |
| postal_prefix | string | – | – |
| query | string | – | – |
| sampleSize | integer | – | – |
No output schema declared.
No examples provided.
sg_electricity_history Compatibility route: sg_electricity_history ~24
Official published history. Canonical Olano tool: electricity_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_electricity_latest Compatibility route: sg_electricity_latest ~26
Official EMA electricity generation data. Canonical Olano tool: electricity_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_employment_by_sector Compatibility route: sg_employment_by_sector ~27
Curated sector row search. Canonical Olano tool: employment_sector_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_employment_growth Compatibility: Calculate Singapore employment growth by sector ~39
Select an official annual employment sector series and calculate absolute and percentage annual changes.
| Name | Type | Req | Description |
|---|---|---|---|
| sector | string | yes | – |
| years | integer | – | – |
No output schema declared.
No examples provided.
sg_employment_sector_history Compatibility route: sg_employment_sector_history ~26
Official wide-series history. Canonical Olano tool: employment_sector_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_formations_compare Compatibility: Compare Singapore business formations by industry ~46
Compare official formations, cessations and net formations for up to ten SingStat industry series over the same periods.
| Name | Type | Req | Description |
|---|---|---|---|
| industries | array | yes | – |
| periods | integer | – | – |
No output schema declared.
No examples provided.
sg_formations_history Compatibility route: sg_formations_history ~31
Official bounded SingStat history. Canonical Olano tool: singstat_business_formations_monthly_history.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_formations_latest Compatibility route: sg_formations_latest ~31
Official latest SingStat observations. Canonical Olano tool: singstat_business_formations_monthly_latest.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_formations_monthly Compatibility route: sg_formations_monthly ~30
Official formation series. Canonical Olano tool: singstat_business_formations_monthly_history.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_fx_basket Compatibility: Value a foreign-currency basket in SGD ~49
Apply official MAS monthly average rates to a bounded set of foreign-currency amounts with correct per-one or per-100 scaling.
| Name | Type | Req | Description |
|---|---|---|---|
| holdings | array | yes | – |
| period | string | – | – |
No output schema declared.
No examples provided.
sg_fx_history Compatibility: Get normalized MAS exchange-rate history ~37
Get a bounded official monthly exchange-rate history with explicit foreign-unit scaling.
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | yes | – |
| periods | integer | – | – |
No output schema declared.
No examples provided.
sg_fx_rate Compatibility: Get a normalized MAS exchange rate ~45
Get an official MAS average exchange-rate observation and make per-one versus per-100 foreign-currency units explicit.
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | yes | – |
| period | string | – | – |
No output schema declared.
No examples provided.
sg_gdp_history Compatibility route: sg_gdp_history ~26
Bounded official history. Canonical Olano tool: gdp_growth_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_gdp_industry_compare Compatibility: Rank Singapore industries by quarterly GDP growth ~43
Rank every numeric industry row by official year-on-year GDP growth for a requested quarter, while preserving the matched source column.
| Name | Type | Req | Description |
|---|---|---|---|
| quarter | string | yes | – |
No output schema declared.
No examples provided.
sg_gdp_latest Compatibility route: sg_gdp_latest ~27
Curated GDP growth observations. Canonical Olano tool: gdp_growth_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_hawker_search Compatibility route: sg_hawker_search ~32
Official NEA hawker-centre search. Canonical Olano tool: hawker_centres_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_hawker_stats Compatibility route: sg_hawker_stats ~28
Profiles official centre fields. Canonical Olano tool: hawker_centres_profile.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_hdb_carpark_lookup Compatibility route: sg_hdb_carpark_lookup ~31
Curated official carpark search. Canonical Olano tool: hdb_carparks_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_hdb_carparks_by_address Compatibility route: sg_hdb_carparks_by_address ~34
Pass an address fragment as the search query. Canonical Olano tool: hdb_carparks_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_hdb_carparks_by_type Compatibility route: sg_hdb_carparks_by_type ~37
Search the official type values and inspect metadata first when needed. Canonical Olano tool: hdb_carparks_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_hdb_resale_search Compatibility route: sg_hdb_resale_search ~30
Bounded official row search. Canonical Olano tool: hdb_resale_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_hdb_resale_stats Compatibility: Query and summarise HDB resale transactions ~158
Use this tool for filtered HDB resale transactions, latest-period results, price ranges, medians, quartiles and price-per-square-metre statistics. It applies exact town and flat-type filters at data.gov.sg and performs the bounded aggregation inside the MCP; a direct API download is not required.
| Name | Type | Req | Description |
|---|---|---|---|
| endMonth | string | – | – |
| flatType | string | – | – |
| latestMonths | integer | – | Number of latest available matching months to include when startMonth and endMonth are omitted. |
| sampleSize | integer | – | – |
| startMonth | string | – | – |
| street | string | – | – |
| town | string | – | – |
| transactionLimit | integer | – | Maximum selected transaction rows to return alongside the statistics. |
No output schema declared.
No examples provided.
sg_household_income Compatibility route: sg_household_income ~28
Official household income indicators. Canonical Olano tool: singstat_household_income_history.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_iras_collection Compatibility route: sg_iras_collection ~26
Official tax collection lookup. Canonical Olano tool: iras_tax_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
What is the Singapore MCP by Olano server?
Singapore MCP by Olano is listed in the public MCP registry as io.github.olano-ai/mcp-singapore. Singapore public data, transport, rail, property, business, economy, weather, and analytics. This page covers its npm package (@olano/mcp-singapore).
Is the Singapore MCP by Olano server safe to use?
Singapore MCP by Olano scores 93 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Singapore MCP by Olano server expose?
Singapore MCP by Olano exposes 291 tools: datagov_list_datasets, datagov_get_dataset_metadata, datagov_list_dataset_rows, datagov_get_realtime, onemap_search, and 286 more. Their descriptions and schemas cost roughly 12,264 tokens of context every time the server is loaded.
Is the Singapore MCP by Olano server still maintained?
Singapore MCP by Olano is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Singapore MCP by Olano server under?
Singapore MCP by Olano declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.