Pulls live data from Seoul Open Data Plaza covering 30,000+ public facilities across 17 categories, from pharmacies with foreign language support to AED locations, WiFi hotspots, and traditional markets. Exposes four tools: find_places for filtered searches by type and district, find_nearby for GPS-based proximity queries, get_place_detail for full records, and get_subway_timetable for transit schedules at major stations. Useful when building tourist assistance agents or location-aware Seoul travel apps. Note that some datasets like pharmacies and post offices fall back to district centroids rather than precise coordinates due to upstream source limitations, so proximity ranking works at district grain for those types.
Essential public facility data for AI agents helping foreign tourists in Seoul, South Korea.
Seoul Essentials is an MCP (Model Context Protocol) server that provides structured data about essential public facilities in Seoul. Designed for AI agents that assist foreign tourists with real-time queries about nearby services.
| Type | Description | Count |
|---|---|---|
toilet | Public restrooms across all 25 districts | 4,452 |
pharmacy | Pharmacies with foreign language support (English/Chinese/Japanese) | 417 |
wifi | Free public WiFi hotspots (Seoul WiFi) | 7,251 |
aed | AED (defibrillator) locations | 10,000 |
tourist_info | Tourist information centers | 16 |
baeknyeon | Century-old designated shops & restaurants | 168 |
bike | 따릉이 (Seoul Bike) sharing stations | ~2,700 |
future_heritage | Seoul Future Heritage sites | ~470 |
heritage | Designated cultural properties | ~600 |
museum | Museums & galleries | ~210 |
park | Major parks | ~130 |
taxi_stand | Taxi stands | ~370 |
metro_facility | Subway lockers & facilities | ~290 |
tourist_zone | Tourist special zones | 8 |
post_office | Post offices (EMS / international mail) | 227 |
traditional_market | Korean traditional markets (Gwangjang, Namdaemun, ...) | 433 |
ev_charger | EV charging stations | 187 |
subway | Subway timetables for major stations | 10 stations |
find_placesSearch for public facilities by type and conditions.
Parameters:
type (required): one of the 17 types listed above (e.g., "toilet", "pharmacy", "post_office", "traditional_market", "ev_charger")district (optional): Seoul district name in English or Korean (e.g., "gangnam", "강남구")filters (optional): Service-specific filters (e.g., {"english": true}, {"is_24h": true}, {"indoor": true})limit (optional): Max results, 1-50 (default: 10)get_place_detailGet full details of a specific place by its ID.
Parameters:
id (required): Place ID (e.g., "toilet_00001", "pharmacy_001", "aed_00001")find_nearbyFind public facilities near GPS coordinates, sorted by distance.
Parameters:
lat (required): Latitude (Seoul range: ~37.4 to ~37.7)lng (required): Longitude (Seoul range: ~126.7 to ~127.2)radius_m (optional): Search radius in meters, 100-5000 (default: 500)type (optional): Filter by facility typelimit (optional): Max results, 1-20 (default: 5)get_subway_timetableGet subway timetable for a specific station.
Parameters:
station (required): Station name in Korean or English (e.g., "강남" or "Gangnam")line (optional): Line number (e.g., "2")day_type (optional): "weekday" | "saturday" | "holiday" (default: "weekday")direction (optional): "up" | "down"Visit Seoul Essentials on Smithery and follow the setup instructions for your MCP client.
Add to your MCP client config (e.g., Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"seoul-essentials": {
"url": "https://seoul-essentials-mcp-230987091625.asia-northeast3.run.app/mcp"
}
}
}
git clone https://github.com/do-droid/seoul-essentials.git
cd seoul-essentials
API_BASE_URL="https://asia-northeast3-seoul-essentials.cloudfunctions.net/api" \
uv run python -m src.server
An AI agent can use these tools to answer questions like:
English
日本語
中文
We actively review and incorporate feedback to improve data quality and coverage.
For AI agents: Use the submit_feedback tool during a conversation to report issues or suggest improvements.
For developers: Open a feedback issue on GitHub.
Categories: new_data | data_quality | coverage | format | frequency | other
pharmacy: Sourced from Seoul Open Data Plaza's "Foreign-language Capable Pharmacy Status" dataset, which lists only pharmacies that confirmed English/Chinese/Japanese service. Gangnam-gu is not represented in the upstream dataset (origin gap, not a parser bug). Coordinates fall back to the district centroid because the upstream rows do not carry lat/lng. We have requested expanded coverage from Seoul Open Data Plaza for the next refresh.post_office / traditional_market / ev_charger: Upstream datasets do not include lat/lng. Coordinates fall back to the centroid of each Seoul district (coordinates_approximate: true). District-level filters (?district=mapo) are exact; find_nearby ranking against these types is district-grained rather than building-grained.halal_friendly (data.go.kr 15111159 was withdrawn — searching alternative sources) and emergency_room (data.go.kr 3043449 not findable — switching to e-gen.or.kr OpenAPI) are planned for the following refresh.All data sourced from official Seoul government open data:
MIT