Seoul Essentials

io.github.do-droid由 GitHub 帳號 do-droid 發布v0.2.0更新於 Oct 24, 2026

22,000+ Seoul public facility data for tourists: restrooms, pharmacies, WiFi, AEDs, and subway.

已驗證STDIO僅桌面位置與生活檔案與儲存

概覽

AI 產生的概覽

讓助理依類型、行政區或 GPS 距離查詢首爾公共設施,例如洗手間、藥局、WiFi、AED 與地鐵時刻表。

可以做什麼
提供首爾 17 類公共設施的結構化資料,包括免費 WiFi 熱點、AED、藥局、公共洗手間、共享單車站點、傳統市場、郵局、電動車充電站、博物館、公園與旅遊諮詢中心。工具包含 find_places(依類型、行政區與英語服務、24 小時等篩選條件搜尋)、get_place_detail(依地點 ID 取得完整紀錄)、find_nearby(依經緯度距離排序尋找附近設施),以及 get_subway_timetable(1 至 9 號線依日期類型與方向查詢車站時刻表)。
適用情境
適合助理為在首爾的旅客尋找附近服務、提供英語或其他語言的藥局、洗手間、WiFi、AED 或地鐵時刻表。若基於位置的首爾設施查詢是經常性需求而非一次性問題,值得加入。
執行需求
以 stdio 本機程序執行,也可透過遠端 streamable-http 端點存取。本機方式需要 Python 與 uv,並能連線後端 API;README 也提供 MCP 用戶端的直連 URL 設定。未宣告帳號、API 金鑰或環境變數。
安裝前請注意
僅供唯讀查詢,不涉及寫入、付款或憑證。資料品質不一:郵局、傳統市場、電動車充電站等類型缺少座標,會退回行政區中心點,因此附近排序只到行政區層級;藥局語言支援僅涵蓋受調查的子集,且該調查完全缺少江南區;開放時間僅部分類型有。地址部分由機器轉寫,可能與官方拼寫不同。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Seoul Essentials,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Seoul Essentials — MCP Server

Essential public facility data for AI agents helping foreign tourists in Seoul, South Korea.

[seoul-essentials MCP server]

What is this?

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.

Available Data (37,900+ places, 17 types)

Counts are the live Firestore document counts as of 2026-08-04.

TypeDescriptionCount
wifiFree public WiFi hotspots (Seoul WiFi)12,008
aedAED locations; a site with several units is one record carrying aed_count and unit_locations7,890
pharmacyPharmacies in all 25 districts; ?filter.english=true narrows to the ~400 with surveyed English/Chinese/Japanese service5,849
toiletPublic restrooms across all 25 districts (2,008 open 24h)4,416
bike따릉이 (Seoul Bike) sharing stations3,340
heritageDesignated cultural properties2,009
future_heritageSeoul Future Heritage sites485
traditional_marketKorean traditional markets (Gwangjang, Namdaemun, ...)433
metro_facilitySubway lockers & facilities340
taxi_standTaxi stands255
post_officePost offices (EMS / international mail)227
ev_chargerEV charging stations187
museumMuseums & galleries171
baeknyeonCentury-old designated shops & restaurants168
parkMajor parks133
tourist_infoTourist information centers16
tourist_zoneTourist special zones7
subwaySubway timetables, Lines 1–9405 stations

MCP Tools

find_places

Search 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_detail

Get full details of a specific place by its ID.

Parameters:

  • id (required): Place ID (e.g., "toilet_00001", "pharmacy_001", "aed_00001")

find_nearby

Find 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 type
  • limit (optional): Max results, 1-20 (default: 5)

get_subway_timetable

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

Quick Start

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):

json
{  "mcpServers": {    "seoul-essentials": {      "url": "https://seoul-essentials-mcp-230987091625.asia-northeast3.run.app/mcp"    }  }}

Option C: Run Locally

bash
git clone https://github.com/do-droid/seoul-essentials.gitcd seoul-essentialsAPI_BASE_URL="https://asia-northeast3-seoul-essentials.cloudfunctions.net/api" \uv run python -m src.server

Example Queries

An AI agent can use these tools to answer questions like:

English

  • "Find an English-speaking pharmacy near Gangnam Station"
  • "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?"

日本語

  • 「明洞で日本語が通じる薬局を探して」
  • 「弘大の近くで無料Wi-Fiが使える場所は?」
  • 「江南駅周辺のEV充電スポットを教えて」

中文

  • "在明洞附近找会说中文的药店"
  • "弘大附近哪里有24小时便利的公共厕所?"
  • "梨泰院附近的清真餐厅在哪里?"

Feedback

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

Known Data Limitations

  • pharmacy: Two layers. 417 records come from Seoul Open Data Plaza's "Foreign-language Capable Pharmacy Status" survey and carry services.english / chinese / japanese; Gangnam-gu is absent from that upstream survey entirely (origin gap, not a parser bug), which is why ?filter.english=true&district=gangnam still returns nothing. The remaining 5,455 come from the MOIS LOCALDATA licence register and cover all 25 districts with precise coordinates and phone numbers. Licence-sourced records carry services.language_support: "not surveyed" and deliberately omit the language keys — they are never advertised as English-capable, and ?filter.english=true excludes them.
  • 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.
  • toilet: Opening hours come from a free-text field with 234 distinct formats. 2,008 records are confirmed 24-hour; 445 publish no usable hours and carry an explanatory hours.note instead of open/close times.
  • Opening hours in general: is_24h: true appears only where the source supports it — toilets, 따릉이 docks, outdoor WiFi, EV chargers and tourist zones. Every other type's source publishes no hours at all, so those records carry is_24h: false plus a hours.note saying what is actually known. Filtering ?filter.is_24h=true therefore returns only verified round-the-clock places.
  • address_en: 71.9% of records carry an English road address generated by Revised Romanization (scripts/romanize.py in the backend repo). Building number, road and district are exact; a few loanword road names romanize phonetically rather than to their official spelling (올림픽로 → "Ollimpik-ro", officially "Olympic-ro"). Lot-number (지번) addresses carry no road name and are left empty rather than guessed.
  • Roadmap (next round): 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. Both were removed from the tool schema in 0.4.0 — they had been advertised as valid types while holding zero documents, so every call returned an empty result.

Data Sources

All data sourced from official Seoul government open data:

License

MIT

來源:README.md,提交 b993bd1

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。