← Whatever Works Studio MCP Server
For Developers · AI Agents

Seoul Essentials MCP

Help AI agents help foreign tourists in Seoul.

An MCP (Model Context Protocol) server that gives any MCP-speaking AI agent structured data on 37,000+ public places in Seoul — restrooms, pharmacies, free WiFi, AEDs, bike stations, heritage sites, museums, markets and more — plus subway timetables for Lines 1–9.

GitHub Install via Smithery View on glama.ai

What's inside

37,000+ places across 17 types, plus subway timetables — all from official open data.

12,000+

Free public WiFi hotspots

wifi

7,800+

AED locations

aed

5,800+

Pharmacies, all 25 districts

pharmacy

4,400+

Public restrooms

toilet

3,300+

Seoul Bike (따릉이) stations

bike

2,000+

Designated cultural properties

heritage

480+

Seoul Future Heritage sites

future_heritage

430+

Traditional markets

traditional_market

300+

Subway lockers & facilities

metro_facility

250+

Taxi stands

taxi_stand

220+

Post offices (EMS / international mail)

post_office

180+

EV charging stations

ev_charger

170+

Museums & galleries

museum

160+

Century-old shops & restaurants

baeknyeon

130+

Major parks

park

16

Tourist information centers

tourist_info

7

Tourist special zones

tourist_zone

Lines 1–9

Subway timetables

400+ stations

The label under each tile is the type value the tools accept. Larger counts are rounded down. Sources: Seoul Open Data Plaza (data.seoul.go.kr) and the Korea Open Data Portal (data.go.kr).

MCP Tools exposed

find_places(type, district?, filters?, limit?)

Search one facility type, optionally narrowed to a district (English or Korean name) and by service filters such as {"english": true} or {"is_24h": true}. Up to 50 results, 10 by default.

get_place_detail(id)

Full record for one place by its ID (for example toilet_00001): location, services, hours and accessibility.

find_nearby(lat, lng, radius_m?, type?, limit?)

Places around a GPS point, sorted by distance. Radius 100–5,000 m (500 by default), optionally limited to one type. Up to 20 results, 5 by default.

get_subway_timetable(station, line?, day_type?, direction?, after?, full_day?, limit?)

Timetables for stations on Lines 1–9, looked up by name in Korean or English. By default it returns the upcoming departures in each direction from the current time in Seoul, with first and last trains. Leave day_type out and the server applies today's service day, Korean public holidays included.

submit_feedback(category, message, priority?)

Lets an agent report missing or inaccurate data, or suggest an improvement, from inside a conversation. Categories: new_data, data_quality, coverage, format, frequency, other.

How to connect

Option A: Smithery (recommended)

Visit Seoul Essentials on Smithery and follow the setup instructions for your MCP client.

Option B: Direct connection

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" } } }

Option C: Run locally

The server is written in Python and runs with uv.

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

Example prompts

"Where is the nearest public restroom to my location?"

"What's the subway schedule at Myeongdong Station?"

"Find free WiFi hotspots in Hongdae area"

"Where is the closest AED to Itaewon?"

日本語

「明洞で日本語が通じる薬局を探して」

中文

"在明洞附近找会说中文的药店"

Known limitations

What the data can't do yet, so your agent doesn't have to find out the hard way.

Open source. Open data.

The code is public on GitHub, and the data comes from official open data published by the Seoul and Korean governments. Issues and feedback are welcome.

Not a developer? The traveler-facing overview is on the Seoul Essentials page.