🇸🇬 Singapore MCP by Olano
MCP serverDatabases & dataSingapore public data, transport, rail, property, business, economy, weather, and analytics.
Unavailable. This server has no hosted endpoint yet, so ahel can't serve it.
Connect ahel once, and every AI you use reads what you have installed.
From the project's README
As published by olano-ai/mcp-singapore in README.md.
Ask Claude or Codex questions about Singapore property, MRT/LRT, buses, companies, weather, the economy, public services, and official financial reference data.
291 read-only tools · 8 Agent Skills · 7 plugins · stdio and Streamable HTTP
Try it right now, without installing anything. Message @OlanoSGBot on Telegram and ask a Singapore question in plain English. It is free to use and needs no API key. See Try it on Telegram.
Built and maintained in Singapore by Olano — the olano.ai platform for applied AI, and olano.sg, our Singapore AI studio. Singapore MCP is the studio's open contribution to the local AI community, and it is free to use under the MIT licence.
Singapore MCP is an independent community project. It is not affiliated with, endorsed by, or an official product of the Singapore Government or any government agency. “Official” below describes an upstream data source, not this software.
Overview
Singapore MCP is a read-only bridge between an AI client and Singapore's official public data: data.gov.sg, OneMap, LTA DataMall, and SingStat. Every answer keeps its source agency, dataset identifier, observation period, units, and freshness caveats, so you can check the work. Most of it runs with no API key at all.
The monorepo separates provider access, reusable analysis, and user-facing workflows. Install the aggregate server for the complete experience or a focused executable when you only need one provider.
| Package | Role | Credentials |
|---|---|---|
@olano/mcp-singapore | Aggregate server: every provider, catalog, insight, rail, finance, analytics, prompt, resource, and cross-agency workflow | Depends on the selected tool |
@olano/mcp-datagov | data.gov.sg catalog, metadata, rows, and real-time feeds | Optional data.gov.sg key |
@olano/mcp-onemap | OneMap address search, reverse geocoding, and routing | OneMap token |
@olano/mcp-lta | LTA DataMall bus arrivals, traffic, parking, and taxi feeds | LTA DataMall Account Key |
@olano/mcp-weather | Forecasts, temperature, rainfall, and PSI | Optional data.gov.sg key |
@olano/mcp-catalog | Curated Singapore datasets, 27 ACRA entity shards, and SingStat tables | Optional data.gov.sg key |
@olano/mcp-insights-sg | Prompt discovery, semantic routing, period-aware comparisons, and derived public-data insights | Depends on the routed source |
@olano/mcp-rail-sg | MRT/LRT stations, codes, lines, exits, interchanges, and nearest-location tools | None; OneMap token for address lookup |
@olano/mcp-finance-sg | Official mortgage reference-rate history and transparent local mortgage calculations | Optional data.gov.sg key |
@olano/mcp-analytics | Deterministic local statistics, comparisons, correlations, and text sparklines | None |
@olano/mcp-core | Shared transport, safe HTTP client, caching, retries, and MCP result helpers | None |
@olano/sg-cli | Search, inspect, route, and invoke the complete suite from a terminal | Depends on the selected tool |
Focused stdio/HTTP executables are available for the aggregate, data.gov.sg, OneMap, LTA, weather, and rail packages. The other packages are reusable registration libraries composed by the aggregate server.
Example questions
Ask these in an MCP client, or use olano-sg examples [category] to browse the packaged prompt
catalog. Results depend on upstream coverage and, for a few tools, on the optional keys in
Credentials and caching. Not installed yet? Ask a few of these on
Telegram first with @OlanoSGBot, or go straight to
Quick start.
Companies and ACRA
- “Find the official public ACRA records matching
Olanoand show the UEN and entity status.” - “Look up this exact UEN across all ACRA shards; make any match uncertainty explicit.”
- “Compare monthly business formations and cessations, then calculate net formations.”
- “How have formations changed for two SSIC sectors over matched periods?”
HDB and private property
- “Show recent 4-room HDB resale transactions in Bedok and calculate the median and quartiles.”
- “Compare HDB resale price per square metre between Tampines and Jurong East.”
- “Find HDB carparks whose address contains
Bishanand group them by carpark type.” - “Show bounded private-property transaction evidence for a project or district.”
- “Build a property-area brief for Queenstown with OneMap location context.”
The first example is a single MCP operation. hdb_resale_stats applies the exact town and flat-type
filters, selects the latest available matching month by default, returns the transaction rows, and
calculates the range, median, Q1, Q3, and price per square metre inside the server:
npx -y @olano/sg-cli tool hdb_resale_stats '{"town":"BEDOK","flatType":"4 ROOM"}'
Use latestMonths, startMonth, or endMonth to choose a different period. A direct dataset
download is not required. This operation is available in the aggregate server's all and
property profiles; it is not part of the focused @olano/mcp-datagov row-reader package.
COE, buses, roads, parking, and taxis
- “What is the latest Category B COE premium, quota, number of bids, and bid-to-quota ratio?”
- “Show the last 12 Category A bidding exercises and changes from the prior premium.”
- “When are the next buses arriving at this bus stop?”
- “List current traffic incidents and nearby traffic-camera images.”
- “Show live LTA carpark availability and taxi availability.”
MRT and LRT
- “What are the MRT/LRT codes and line connections for Paya Lebar?”
- “List every station on the Thomson-East Coast Line.”
- “Which official station exits belong to City Hall?”
- “Find the five nearest rail stations to latitude 1.29027, longitude 103.851959.”
- “Find rail stations near
1 Fullerton Roadand state whether distance is straight-line or walking.” - “List MRT/LRT interchanges and show the date of each bundled source snapshot.”
Weather, PSI, rainfall, and dengue
- “Show the current two-hour forecast for Singapore areas.”
- “What are the latest temperature and rainfall readings by station?”
- “Show the 24-hour forecast, four-day outlook, and latest PSI readings.”
- “Find current dengue-cluster records and include the dataset freshness.”
Education and childcare
- “Find MOE schools matching
Nanyangand show the official dataset fields.” - “Find ECDA childcare centres in an area and summarise any published vacancy fields.”
- “Resolve this address with OneMap before comparing nearby school or childcare records.”
GDP, prices, labour, income, FX, tax, and trade
- “Show the latest GDP growth observations and compare selected industries.”
- “Calculate year-on-year CPI change using the same month, not adjacent months.”
- “Compare retail-sales year-on-year change with CPI over matched monthly periods.”
- “Show median-income history, employment by sector, and calculated employment growth.”
- “Show unemployment and resident labour-force participation history.”
- “Find official MAS exchange-rate observations and preserve each published unit.”
- “Show IRAS tax-collection history and calculate category shares only where units match.”
- “Show Singapore merchandise-trade history from SingStat.”
Tourism, population, health, energy, crime, and hawkers
- “Rank visitor-arrival source markets for the latest published period.”
- “Show tourism receipts history and warn me if the curated dataset is stale.”
- “Compare population, live births, deaths, marriages, and divorces over available periods.”
- “Show disease-case history, its last observation, and a clear frozen-data warning if applicable.”
- “Show electricity-generation history and the source agency.”
- “Compare like-for-like recorded-crime series without inferring neighbourhood or individual risk.”
- “Find NEA hawker centres matching
Maxwelland profile the published fields.”
Mortgage reference rates
- “Show the latest official SORA and published housing-loan reference-rate series.”
- “Show 24 months of official mortgage reference-rate context and identify the latest period.”
- “At a user-supplied illustrative rate, calculate the monthly payment on a S$600,000 mortgage.”
- “Stress-test that mortgage at 2.5%, 3.5%, and 4.5%, with assumptions shown.”
These are official reference-rate statistics and educational calculations, not live lender offers, credit decisions, or personal financial advice.
Cross-series analysis and discovery
- “Align these quarterly GDP and monthly CPI series to annual periods and explain the aggregation.”
- “Compare two matched series and return observations, Pearson correlation, and calculation notes.”
- “Create a text sparkline and chart-ready points for these observations.”
- “Which Olano tool should answer: ‘How competitive was the latest COE bidding exercise?’”
- “List prompt categories, then show examples for rail and property.”
- “Show the compatibility record for
sg_cross_dataset.”
Advanced: multi-step and cross-agency questions
These are where the eight packaged Agent Skills and the analytics tools earn their keep. Each one spans several agencies or several periods, so the answer has to align units, match periods, and keep every source attached. Ask them in a client that has the Agent Skills installed — the Claude Code plugin or the Claude Desktop extension — and Claude will chain the tools itself.
Property and affordability
- “Build a Queenstown property brief: recent 4-room resale medians and quartiles, the nearest MRT stations with walking versus straight-line distance stated, nearby schools and childcare, and an illustrative mortgage at 3.5% on the median price. Show every assumption and source.”
- “Compare HDB resale price per square metre across Tampines, Bedok, and Jurong East over matched months, then test whether the ranking survives switching to a different flat type.”
- “Stress-test a S$600,000 mortgage at 2.5%, 3.5%, and 4.5% against the latest published SORA and housing-loan reference rates, and say plainly which parts are official statistics and which are my own illustrative assumptions.”
Economy and cross-series analysis
- “Align quarterly GDP with monthly CPI to annual periods, explain the aggregation you used, then report the Pearson correlation with its calculation notes and any period you had to drop.”
- “Compare retail sales year-on-year against CPI year-on-year over exactly matched months, and flag any month where the two series use different bases or units.”
- “Track median income, employment by sector, and resident labour-force participation over the longest matched window available, and calculate employment growth per sector.”
Business and sector research
- “Profile the ACRA records matching a company name, resolve the UEN across all 27 shards, make any match uncertainty explicit, then put it in context with formations and cessations for its SSIC sector over matched periods.”
- “Compare net business formations across two SSIC sectors, then check whether the pattern lines up with retail sales and visitor arrivals for the same periods.”
Mobility and location
- “Plan a comparison of three addresses for a new office: resolve each with OneMap, list rail stations within walking distance, show live carpark availability nearby, and summarise the trade-offs without inferring anything the data does not support.”
- “Show the last 12 Category A and Category B COE bidding exercises with premium changes, quota, bids, and bid-to-quota ratio, and say which exercises were most competitive and why.”
Data quality and method
- “Answer using only tools that disclose their source agency and observation period, and list any part of my question you could not answer within that constraint.”
- “Show me which Olano tool you would use for this question and why, before you run it.”
- “Repeat that analysis, but this time show the freshness of every dataset you touched and warn me about any that is stale or frozen.”
Try it on Telegram
The fastest way to see what this server does is to ask it something. @OlanoSGBot is a free Telegram bot, built by Olano and backed by the Singapore MCP tools in this repository. No install, no Node.js, no API key, and no account beyond the Telegram one you already have.
- Open t.me/OlanoSGBot, or search
@OlanoSGBotinside Telegram. - Press Start.
- Ask a question in plain English.
Questions that work well in a chat window:
- “What is the two-hour weather forecast and the latest PSI?”
- “What is the latest Category B COE premium?”
- “Show recent 4-room HDB resale prices in Bedok.”
- “Which MRT stations are nearest to 1 Fullerton Road?”
- “When is the next bus at stop 01012?”
Answers keep their source agency and observation period, the same as they do in an MCP client. The
bot remembers your conversation so that follow-up questions work; send /forget whenever you
want it to delete the memory and conversation data it holds for you.
The bot is a hosted service rather than a local install. It runs as an Olano-hosted agent on a server in Singapore; each user's conversation and memory is stored separately, scoped to their account on the messaging platform, so no user — and no agent session — can reach another user's data. Composing a reply sends the relevant message content to a third-party language-model provider, which may process it outside Singapore. Read Privacy before sending anything sensitive.
For everyday use, for the complete 291-tool suite, and for the eight Agent Skills, install the server in your own AI client with Quick start. That route runs on your own machine and sends nothing to Olano.
Quick start
New to MCP? An MCP server is a small helper program that your AI app runs on your own computer so it can look things up for you. You install it once, and after that you just ask questions in plain English. This one runs locally and reads official Singapore public data; it has no Olano account, telemetry, or analytics. See Privacy.
Find your app in the table and follow only that section. The default install gives you the complete Olano Singapore suite. You do not need to pick a category, and you do not need an API key.
| Your app | Follow this | How |
|---|---|---|
| Claude Desktop app — the Chat tab | Claude Desktop app | Download one file, click it |
| Claude Code — terminal or the Code tab | Claude Code | Two /plugin commands |
| Codex app | Codex app | Add a server in Settings |
| Codex CLI | Codex CLI | One codex mcp add command |
Just want to see it work first? You do not have to install anything at all — message @OlanoSGBot on Telegram instead. See Try it on Telegram.
Not sure which one you have? If you type questions into a chat window, you are using the Claude
Desktop app. If you run claude in a terminal, or you use the Code tab inside the desktop app,
you are using Claude Code. Claude Code gets the better install, because it can load the Agent Skills
as well as the tools.
Before you start
Installing the Claude Desktop extension? Nothing to install first. Claude Desktop ships its own Node.js runtime and the extension carries everything else. Skip straight to Claude Desktop app.
Every other route runs the server with npx, which comes with Node.js. You need Node.js 20 or
newer.
-
Download the LTS installer from nodejs.org and run it.
-
Open a terminal — Terminal on macOS, PowerShell on Windows — and check the version:
node --version
You should see v20. or higher, for example v22.14.0. If you get "command not found" or "not
recognized", close the terminal, open a new one, and try again. If it still fails, Node.js did not
install correctly.
You do not need to download this repository, clone anything, or run npm install. npx fetches
the published package for you the first time it runs.
Claude Desktop app
This section is for the Chat tab of the Claude Desktop app. If you use the Code tab, follow Claude Code instead — you get the eight Agent Skills there too.
Route A — install the extension (recommended)
One file, one click, no terminal and no Node.js.
-
Download the extension.
⬇ Download olano-singapore.mcpb
It is about 2 MB and contains the whole server. Every published version is also listed on the releases page.
-
Install it. Double-click the downloaded file. Claude Desktop opens a review dialog showing what the extension adds. Select Install.
If double-clicking does nothing, open Claude Desktop and drag the file onto the Settings window, or go to Settings → Extensions → Advanced settings → Install Extension… and pick it.
Claude Desktop will note that the extension is not signed. That is expected for this project.
-
Leave every setting blank and finish. The four optional boxes are for free government API keys you probably do not have yet. Everything works without them, and you can add them later from Settings → Extensions.
-
Ask a question. No restart needed.
Show me the latest two-hour weather forecast for Singapore, with timestamps.
That is it, can already. To update later, download the file again and install it over the top.
Route B — let an AI agent set it up for you
Already have Claude Code, Codex, Cursor, or another coding agent that can edit files on your computer? Paste this and it will do the whole job:
Please add the Olano Singapore MCP server to my Claude Desktop configuration.
1. Open my Claude Desktop config file, creating it if it does not exist:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
- Linux: ~/.config/Claude/claude_desktop_config.json
2. Inside the "mcpServers" object, add an entry named "singapore" that runs the
command "npx" with the arguments ["-y", "@olano/mcp-singapore"]. On Windows use
the command "cmd" with ["/c", "npx", "-y", "@olano/mcp-singapore"] instead.
3. Keep every server that is already in the file and keep the JSON valid.
4. Do not add any API keys. Show me the final file and tell me to fully quit and
reopen Claude Desktop.
This route needs Node.js on your computer. Route A does not.
Route C — edit the configuration file yourself
-
Open the settings file. In Claude Desktop, open Settings → Developer → Edit Config. That button opens
claude_desktop_config.jsonin your text editor and creates it if it is missing.System File macOS ~/Library/Application Support/Claude/claude_desktop_config.jsonWindows %APPDATA%\Claude\claude_desktop_config.jsonLinux ~/.config/Claude/claude_desktop_config.jsonOn macOS the Settings window opens from Claude in the menu bar, not from the chat window. On Windows, check the Claude icon in the system tray. If the file does not exist, create it.
-
Paste the configuration.
If the file is empty or brand new, paste this entire block — the outer
{and}matter:{ "mcpServers": { "singapore": { "command": "npx", "args": ["-y", "@olano/mcp-singapore"] } } }If the file already has other servers, keep them and add only the
singaporeentry, with a comma between entries:{ "mcpServers": { "some-server-you-already-had": { "command": "npx", "args": ["-y", "some-other-package"] }, "singapore": { "command": "npx", "args": ["-y", "@olano/mcp-singapore"] } } }The same file is available at
examples/claude-desktop.json.Windows installs
npxas a.cmdscript, which some builds of Claude Desktop cannot start directly. If the plain version above shows an error, wrap it incmd /c:{ "mcpServers": { "singapore": { "command": "cmd", "args": ["/c", "npx", "-y", "@olano/mcp-singapore"] } } } -
Save the file and fully restart Claude Desktop. Closing the window is not enough. Quit the app completely — Claude → Quit on macOS, or right-click the tray icon and choose Quit on Windows — then open it again.
-
Confirm it worked. Click the + button next to the message box and look under Connectors. You should see
singaporelisted with its tools. Then ask a question:Show me the latest two-hour weather forecast for Singapore, with timestamps.
Shortened here. Read the whole README on GitHub.
Signals
- GitHub stars
- 5
- Last commit
- Sep 2026
Advanced
- Delivery
- mcp-singapore MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
- Catalog kind
- mcp-server
- Gateway key
io-github-olano-ai-mcp-singapore- Source
- github.com/olano-ai/mcp-singapore