OneMap MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OneMap MCP ServerFind the nearest MRT stations to Marina Bay Sands"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OneMap MCP Server v2
A Python-based MCP (Model Context Protocol) server that provides comprehensive access to Singapore's OneMap APIs. Built with FastMCP for easy integration with AI assistants and Microsoft AI Foundry.
Features
This server exposes 35+ tools across 10 API categories:
Search - Address and location search
Reverse Geocode - Convert coordinates to addresses (WGS84 and SVY21)
Routing - Public transport, driving, walking, cycling, barrier-free routes
Coordinate Converters - EPSG 4326 (WGS84), EPSG 3414 (SVY21), EPSG 3857
Themes - Access 100+ thematic layers for locations, amenities, boundaries
Planning Area - Singapore's 55 planning area information
Population Query - Demographics and statistics by planning area
Nearby Transport - Find nearby MRT/LRT stations and bus stops
Static Map - Generate static map images with optional overlays
Related MCP server: Amap MCP Server
Prerequisites
Python 3.11+
OneMap Account (register at OneMap API)
Installation
Local Development
Clone the repository:
cd onemap-mcpCreate a virtual environment:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateInstall dependencies:
pip install -r requirements.txtCreate
.envfile with your credentials:
cp .env.example .env
# Edit .env with your OneMap credentialsRun the server:
python server.pyEnvironment Variables
Create a .env file with:
ONEMAP_EMAIL=your_email@example.com
ONEMAP_EMAIL_PASSWORD=your_passwordDocker Deployment
Build the Docker image:
docker build -t onemap-mcp .Run the container:
docker run -d \
-e ONEMAP_EMAIL="your_email@example.com" \
-e ONEMAP_EMAIL_PASSWORD="your_password" \
--name onemap-mcp \
onemap-mcpAvailable Tools
Search & Geocoding
Tool | Description |
| Search for addresses, buildings, postal codes |
| Get address from WGS84 coordinates |
| Get address from SVY21 coordinates |
Routing
Tool | Description |
| Walking, driving, cycling, barrier-free routes |
| Bus and MRT routes with fare info |
Coordinate Conversion
Tool | Description |
| WGS84 → Web Mercator |
| WGS84 → SVY21 |
| SVY21 → WGS84 |
| SVY21 → Web Mercator |
| Web Mercator → WGS84 |
| Web Mercator → SVY21 |
Themes
Tool | Description |
| List all 100+ thematic layers |
| Get info about a specific theme |
| Check if theme was updated |
| Retrieve theme data |
Planning Areas
Tool | Description |
| Get all 55 planning area polygons |
| List planning area names |
| Get planning area for a location |
Population Data
Tool | Description |
| Population by age |
| Ethnic group distribution |
| Employment statistics |
| Income distribution |
| Education levels |
... and more |
Transport
Tool | Description |
| Find nearby MRT/LRT stations |
| Find nearby bus stops |
Static Maps
Tool | Description |
| Generate map images with overlays |
Usage Examples
Search for a location
# Search for Marina Bay Sands
result = await search(search_value="Marina Bay Sands")Get route directions
# Driving route from Changi to Orchard
result = await route_walk_drive_cycle(
start_lat=1.3644,
start_lon=103.9915,
end_lat=1.3048,
end_lon=103.8318,
route_type="drive"
)Find nearby MRT stations
result = await get_nearby_mrt_stations(
latitude=1.3521,
longitude=103.8198,
radius_in_meters=1000
)Project Structure
onemap-mcp/
├── server.py # FastMCP server with all tools
├── mcp.json # MCP manifest
├── tools.json # Tool definitions for AI Foundry
├── onemap/
│ ├── __init__.py
│ └── utils.py # HTTP client and utility functions
├── .env # Your credentials (not in git)
├── .env.example # Template for credentials
├── Dockerfile
├── requirements.txt
└── README.mdDeployment to Azure
Azure Container Apps
# Build and push to Azure Container Registry
az acr build --registry <registry-name> --image onemap-mcp:latest .
# Deploy to Container Apps
az containerapp create \
--name onemap-mcp \
--resource-group <resource-group> \
--image <registry-name>.azurecr.io/onemap-mcp:latest \
--env-vars ONEMAP_EMAIL=<email> ONEMAP_EMAIL_PASSWORD=<password>Microsoft AI Foundry Integration
Deploy the server to a publicly accessible endpoint
Use the
tools.jsonfile to configure tool definitionsConfigure
ONEMAP_EMAILandONEMAP_EMAIL_PASSWORDenvironment variables
License
MIT
Resources
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides comprehensive Singapore transport routing with real-time public transport data, weather-aware journey planning, postal code resolution, and Google Maps-quality turn-by-turn navigation across MRT, LRT, buses, and walking routes.Last updated13426MIT
- Flicense-qualityDmaintenanceProvides comprehensive geographic information services and route planning for AI agents via the Amap (Gaode Maps) API. It supports geocoding, multi-modal navigation, POI searches, and administrative region queries.Last updated3

Magic Lane MCP Serverofficial
AlicenseBqualityBmaintenanceEnables AI agents to become geospatially intelligent assistants with tools for location search, smart routing, round trip planning, reverse geocoding, isochrone analysis, route visualization, geofence management, and interactive map display.Last updated8255Apache 2.0- Flicense-qualityDmaintenanceProvides map services such as geocoding, POI search, and route planning through the Amap API, enabling AI applications to interact with map data via natural language.Last updated
Related MCP Connectors
Singapore property & financial data APIs for AI agents. 27 MCP tools. x402 micropayments.
Provides AI assistants with direct access to Mapbox developer APIs and documentation.
GIS tools for AI agents: 65 free tools + 8 paid (hazard/site-scouting/GeoJSON export)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/linzele/mcp-onemap'
If you have feedback or need assistance with the MCP directory API, please join our Discord server