Singapore MCP by Olano
NPM · @OLANO/MCP-SINGAPORE · SCANNED SEP 21
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 30 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 Management80
- Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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.
- 21 Sept 26 −2
- Stability: pass → 0.80 functional
- 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.
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 21 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_iras_collection_history Compatibility route: sg_iras_collection_history ~26
Official published history. Canonical Olano tool: iras_tax_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_iras_tax_mix Compatibility: Calculate Singapore tax collection mix ~39
Calculate category shares from official IRAS collections for one financial year in the published S$ thousand unit.
| Name | Type | Req | Description |
|---|---|---|---|
| financialYear | string | – | – |
No output schema declared.
No examples provided.
sg_labour_force Compatibility route: sg_labour_force ~30
Official resident labour-force participation indicators. Canonical Olano tool: singstat_labour_force_history.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_list_datasets Compatibility route: sg_list_datasets ~28
Use the richer Olano catalogue tool. Canonical Olano tool: singapore_catalog_list.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_marriages Compatibility route: sg_marriages ~25
Official marriage indicators. Canonical Olano tool: singstat_marriages_history.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_median_income_history Compatibility route: sg_median_income_history ~26
Official published income history. Canonical Olano tool: median_income_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_median_income_lookup Compatibility route: sg_median_income_lookup ~27
Curated MOM income lookup. Canonical Olano tool: median_income_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_moe_school_by_name Compatibility route: sg_moe_school_by_name ~33
Use an exact school name as the query. Canonical Olano tool: moe_schools_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_moe_schools_near Compatibility: Find schools near a Singapore location ~104
Resolve an address or use WGS84 coordinates, query official OneMap education themes within a bounding extent, and rank results by true 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_moe_search_schools Compatibility route: sg_moe_search_schools ~31
Curated official school search. Canonical Olano tool: moe_schools_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_net_formations Compatibility: Calculate net Singapore business formations ~41
Align official monthly SingStat formations and cessations for one industry and calculate net formations.
| Name | Type | Req | Description |
|---|---|---|---|
| industry | string | – | – |
| periods | integer | – | – |
No output schema declared.
No examples provided.
sg_population_history Compatibility route: sg_population_history ~22
Official published history. Canonical Olano tool: population_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_population_latest Compatibility route: sg_population_latest ~22
Official population indicators. Canonical Olano tool: population_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_psi Compatibility route: sg_psi ~23
Official PSI observations. Canonical Olano tool: weather_air_quality.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_rainfall Compatibility route: sg_rainfall ~26
Official station rainfall observations. Canonical Olano tool: weather_rainfall.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_retail_sales_history Compatibility route: sg_retail_sales_history ~26
Official wide-series history. Canonical Olano tool: retail_sales_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_retail_sales_latest Compatibility route: sg_retail_sales_latest ~28
Curated Retail Sales Index lookup. Canonical Olano tool: retail_sales_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_retail_sales_yoy Compatibility: Calculate Singapore retail sales year-on-year change ~43
Select an official monthly Retail Sales Index series and calculate same-month year-on-year changes.
| Name | Type | Req | Description |
|---|---|---|---|
| periods | integer | – | – |
| series | string | – | – |
No output schema declared.
No examples provided.
sg_search_datasets Compatibility: Search the official data.gov.sg dataset catalogue ~81
Page the official catalogue and locally match every search term against dataset name, agency, ID, description and format. The catalogue API itself exposes pagination but no reliable text-search parameter.
| Name | Type | Req | Description |
|---|---|---|---|
| agency | string | – | – |
| format | string | – | – |
| limit | integer | – | – |
| maxPages | integer | – | – |
| query | string | yes | – |
No output schema declared.
No examples provided.
sg_tourism_history Compatibility route: sg_tourism_history ~32
Official published history with a visible stale-data constraint. Canonical Olano tool: tourism_receipts_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_tourism_latest Compatibility route: sg_tourism_latest ~40
The curated receipts source may be stale; inspect freshness and cross-check current STB data. Canonical Olano tool: tourism_receipts_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_trade Compatibility route: sg_trade ~27
Official merchandise trade indicators. Canonical Olano tool: singstat_merchandise_trade_history.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_unemployment_history Compatibility route: sg_unemployment_history ~23
Official published history. Canonical Olano tool: unemployment_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_unemployment_latest Compatibility route: sg_unemployment_latest ~24
Official MOM unemployment series. Canonical Olano tool: unemployment_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_ura_new_sale_pipeline Compatibility: Summarise URA new-sale status ~40
Summarise completed and uncompleted private residential new-sale units by quarter from the official URA table.
| Name | Type | Req | Description |
|---|---|---|---|
| quarters | integer | – | – |
No output schema declared.
No examples provided.
sg_ura_private_txn_history Compatibility route: sg_ura_private_txn_history ~30
Bounded public transaction evidence. Canonical Olano tool: ura_private_property_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_ura_private_txn_latest Compatibility route: sg_ura_private_txn_latest ~30
Curated public transaction search. Canonical Olano tool: ura_private_property_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_visitors_history Compatibility route: sg_visitors_history ~25
Official published history. Canonical Olano tool: visitor_arrivals_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_visitors_latest Compatibility route: sg_visitors_latest ~30
Curated STB visitor-arrival lookup. Canonical Olano tool: visitor_arrivals_search.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_visitors_top_sources Compatibility: Rank Singapore visitor source markets ~47
Rank official monthly international visitor arrivals by country or region without mixing hierarchy levels.
| Name | Type | Req | Description |
|---|---|---|---|
| level | string | – | – |
| limit | integer | – | – |
| period | string | – | – |
No output schema declared.
No examples provided.
sg_visualize Compatibility: visualise a labelled time series ~50
Compatibility alias for the richer local Olano series visualiser.
| Name | Type | Req | Description |
|---|---|---|---|
| maxPoints | integer | – | – |
| observations | array | yes | – |
| title | string | – | – |
| unit | string | – | – |
No output schema declared.
No examples provided.
sg_wages Compatibility route: sg_wages ~26
Official nominal earnings indicators. Canonical Olano tool: singstat_wages_history.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sg_weather_forecast Compatibility route: sg_weather_forecast ~27
Official two-hour forecast. Canonical Olano tool: weather_two_hour_forecast.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
singapore_ask Route a natural-language Singapore data question ~36
Deterministically recommend canonical tool calls for a question without arbitrary execution or an external language-model call.
| Name | Type | Req | Description |
|---|---|---|---|
| question | string | yes | – |
No output schema declared.
No examples provided.
singapore_cache_info Inspect cache configuration ~20
Show whether the optional persistent public-response cache is enabled.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
singapore_capability_check Check a Singapore MCP compatibility capability ~31
Resolve an exact sg_* compatibility name or canonical Olano tool mapping.
| Name | Type | Req | Description |
|---|---|---|---|
| tool | string | yes | – |
No output schema declared.
No examples provided.
singapore_capability_registry List Singapore MCP capability mappings ~45
Return the exhaustive machine-readable mapping for the 87 audited sg_* compatibility capabilities, including constraints and sources.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | – |
| search | string | – | – |
No output schema declared.
No examples provided.
singapore_catalog_list List curated Singapore datasets ~27
List Olano curated data.gov.sg datasets and categories.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
No output schema declared.
No examples provided.
singapore_company_brief Research a Singapore company ~43
Combine official ACRA public-entity matches with current SingStat business-formation context.
| Name | Type | Req | Description |
|---|---|---|---|
| maxShards | integer | – | – |
| query | string | yes | – |
No output schema declared.
No examples provided.
singapore_dataset_search Search the official data.gov.sg dataset catalogue ~80
Page the official catalogue and locally match every search term against dataset name, agency, ID, description and format. The catalogue API itself exposes pagination but no reliable text-search parameter.
| Name | Type | Req | Description |
|---|---|---|---|
| agency | string | – | – |
| format | string | – | – |
| limit | integer | – | – |
| maxPages | integer | – | – |
| query | string | yes | – |
No output schema declared.
No examples provided.
singapore_location_brief Research a Singapore location ~31
Combine OneMap address results with the current two-hour Singapore weather forecast.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | – |
No output schema declared.
No examples provided.
singapore_market_context Get Singapore market context ~40
Retrieve bounded official observations for GDP, CPI, retail sales, employment, income and exchange rates in one call.
| Name | Type | Req | Description |
|---|---|---|---|
| observationsPerDataset | integer | – | – |
No output schema declared.
No examples provided.
singapore_prompt_categories List Singapore MCP prompt categories ~21
List discoverable example-prompt categories and their example counts.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
singapore_prompt_examples Discover Singapore MCP prompt examples ~57
Find realistic user prompts by category, keyword or canonical tool name. This is discovery, not execution.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| limit | integer | – | – |
| search | string | – | – |
| tool | string | – | – |
No output schema declared.
No examples provided.
singapore_prompt_for_tool Get example prompts for an MCP tool ~37
Find user-facing query examples that demonstrate a canonical Singapore MCP tool.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| tool | string | yes | – |
No output schema declared.
No examples provided.
singapore_property_area_brief Research a Singapore property area ~48
Combine HDB or URA public transaction evidence with optional OneMap address context.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| market | string | – | – |
| query | string | yes | – |
No output schema declared.
No examples provided.
singapore_tool_profiles Discover Singapore MCP tool profiles ~50
List the stable server-side tool profiles, their prefix contracts and exact tool counts. Optionally return the tool names for one profile.
| Name | Type | Req | Description |
|---|---|---|---|
| includeTools | boolean | – | – |
| profile | string | – | – |
No output schema declared.
No examples provided.
singstat_business_cessations_monthly_history Business cessations, monthly: history ~41
Get bounded historical observations from SingStat table M085841.
| Name | Type | Req | Description |
|---|---|---|---|
| periods | integer | – | – |
| series | string | – | – |
No output schema declared.
No examples provided.
singstat_business_cessations_monthly_latest Business cessations, monthly: latest ~34
Get the latest observations from SingStat table M085841.
| Name | Type | Req | Description |
|---|---|---|---|
| series | string | – | – |
No output schema declared.
No examples provided.
singstat_business_formations_annual_history Business formations and cessations, annual: history ~40
Get bounded historical observations from SingStat table M085851.
| Name | Type | Req | Description |
|---|---|---|---|
| periods | integer | – | – |
| series | string | – | – |
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 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 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 21 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.