I've done the builds. Here's how to make AI actually useful.

🅿️ Carpark Uncle: Real-Time Lots via MCP

Carpark Uncle

The Challenge

Off the bat if you asked any AI if there are lot vacancies nearby: You would watch it struggle. Without data and processes, itw would just use the first few search result it sees. Stale. Generic. Missing the obvious useful stuff:

Bringing in Data from a data rich eco-system in Singapore would it be a hard build ?

The Solution: Carpark Uncle

Tapping on Singapore rich data, it would be fairly simple to do so at an incredibly low cost.

Key Design Elements:

  1. Tap Singapore’s public APIs directly — HDB carparks via data.gov.sg, URA carparks via URA eService, LTA
    commercial carparks via DataMall. All free, all official, all real-time. No scraping, no middlemen.

  2. Multiple interfaces, one brain — A FastAPI backend does all the work (fetching, caching, distance math, pricing logic). Possiblity for a web UI serves drivers, and an MCP server lets any AI assistant (Claude, ChatGPT, etc.) answer “where can I park near Orchard?” natively.

  3. Smart layered caching — Lot availability refreshes every 30 seconds, static carpark metadata every 24
    hours, URA pricing monthly. A stale-cache fallback keeps the service answering even when upstream APIs hiccup. Users never see an error page because the data provider had a bad minute.

  4. Graceful degradation by design — Missing API keys? Fall back to checked-in fixtures so the service still
    boots and tests still run. Upstream down? Serve stale cache. The system is built to stay useful, not to stay
    pristine.

The result: ask Carpark Uncle “any lots near Raffles Place right now, under $5/hr?” and you get a real answer, from real data, in under a second — on your phone or through your AI assistant.

Ready to find that carpark easily? Add as a connector: https://jiahelim-carpark.fastmcp.app/mcp

Logo

© 2026 Lim Jia He

LinkedIn