mcpField
S
Seoul Essentials

Seoul Essentials

ローカル
github.com/do-droid地図・旅行06 週間前に更新

Seoul Essentials について

Seoul Essentialsは、ソウルを訪れる外国人観光客を支援するAIエージェント向けのMCPサーバーです。政府の公式オープンデータを基に、施設の種類や位置、サービス条件から検索できます。

主な機能

  1. 0117種類の施設検索
  2. 02GPS座標から近隣施設を検索
  3. 03IDによる施設詳細の取得
  4. 04地下鉄時刻表の検索
  5. 05区やサービス条件での絞り込み
  6. 06データ品質に関するフィードバック

活用シーン

  1. 01近くの公衆トイレやAEDを探す
  2. 02言語対応の薬局を見つける
  3. 03駅の地下鉄時刻表を確認する
  4. 04無料Wi-Fiや公共施設を検索する

MCP 対応

施設検索、近隣検索、施設詳細、地下鉄時刻表、フィードバック用のツールをMCPクライアントに提供します。データは政府公式データセットに基づくソウルの公共施設・交通情報です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"seoul-essentials": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/do-droid/seoul-essentials:0.2.0"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/do-droid/seoul-essentials:0.2.0

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/do-droid/seoul-essentials:0.2.0

ツール

5

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
typeenumはい施設の種類 — "toilet"(公衆トイレ)、"pharmacy"(薬局。外国語対応が確認済みの施設はフィルター {"english": true} を指定)、 "wifi"(無料 WiFi ホットスポット)、"aed"(除細動器の設置場所)、 "tourist_info"(観光案内所)、"baeknyeon"(百年老舗)、 "bike"(따릉이 シェアサイクルのステーション)、"future_heritage"(ソウル未来遺産)、 "heritage"(指定文化財)、"museum"(博物館・美術館)、 "park"(主要な公園)、"taxi_stand"(タクシー乗り場)、 "metro_facility"(地下鉄のロッカー)、"tourist_zone"(観光特区)、 "post_office"(EMS/国際郵便を扱う郵便局)、 "traditional_market"(広蔵市場、南大門市場などの韓国伝統市場)、 "ev_charger"(EV 充電ステーション)。toilet | pharmacy | wifi | aed | tourist_info | baeknyeon | bike | future_heritage | heritage | museum | park | taxi_stand | metro_facility | tourist_zone | post_office | traditional_market | ev_charger
districtanyいいえソウルの区名。英語または韓国語で指定します(例:"gangnam"、"jongno"、"강남구"、"종로구")。
filtersanyいいえサービス固有のキーと値のペアによるフィルターです。例:英語対応の薬局には {"english": true}、24 時間利用可能なトイレには {"is_24h": true}、屋内 WiFi には {"indoor": true} を指定します。
limitintegerいいえ返す結果の最大数(1~50、デフォルトは 10)。

詳細

ソウルの必須施設 — MCP サーバー

韓国・ソウルを訪れる外国人観光客を支援する AI エージェント向けの、公共施設に関する基本データです。

ソウル必須施設 MCP サーバー

これは何ですか?

Seoul Essentials は、ソウルの公共施設に関する構造化データを提供する MCP(Model Context Protocol)サーバーです。近くのサービスについてリアルタイムで問い合わせる外国人観光客を支援する AI エージェント向けに設計されています。

利用可能なデータ(37,900 件以上の場所、17 種類)

件数は、2026-08-04 時点の Firestore ドキュメントのリアルタイム件数です。

種類説明件数
wifi無料の公共 WiFi スポット(Seoul WiFi)12,008
aedAED の設置場所。複数台ある施設は、aed_count と unit_locations を含む 1 レコードです7,890
pharmacy25 区すべての薬局。?filter.english=true を指定すると、英語/中国語/日本語対応状況が調査済みの約 400 件に絞り込めます5,849
toilet25 区すべての公衆トイレ(2,008 か所は 24 時間営業)4,416
bike따릉이(ソウル自転車)のシェアサイクルステーション3,340
heritage指定文化財2,009
future_heritageソウル未来遺産の施設485
traditional_market韓国の伝統市場(広蔵市場、南大門市場など)433
metro_facility地下鉄のロッカーと施設340
taxi_standタクシー乗り場255
post_office郵便局(EMS/国際郵便)227
ev_chargerEV 充電ステーション187
museum博物館・ギャラリー171
baeknyeon100 年の歴史を持つ指定店舗・レストラン168
park主要な公園133
tourist_info観光案内所16
tourist_zone観光特区7
subway地下鉄の時刻表、1~9 号線405 駅

MCP ツール

find_places

種類や条件を指定して公共施設を検索します。

パラメーター:

  • type(必須):上記 17 種類のいずれか(例:"toilet"、"pharmacy"、"post_office"、"traditional_market"、"ev_charger")
  • district(任意):ソウルの区名。英語または韓国語で指定します(例:"gangnam"、"강남구")
  • filters(任意):サービス固有のフィルター(例:{"english": true}、{"is_24h": true}、{"indoor": true})
  • limit(任意):結果の最大件数、1~50(デフォルト:10)
get_place_detail

ID を指定して施設の詳細を取得します。

パラメーター:

  • id(必須):施設 ID(例:"toilet_00001"、"pharmacy_001"、"aed_00001")
find_nearby

GPS 座標の近くにある公共施設を距離順に検索します。

パラメーター:

  • lat(必須):緯度(ソウルの範囲:約 37.4~37.7)
  • lng(必須):経度(ソウルの範囲:約 126.7~127.2)
  • radius_m(任意):検索半径(メートル)、100~5000(デフォルト:500)
  • type(任意):施設の種類で絞り込みます
  • limit(任意):結果の最大件数、1~20(デフォルト:5)
get_subway_timetable

駅を指定して地下鉄の時刻表を取得します。

パラメーター:

  • station(必須):駅名を韓国語または英語で指定します(例:"강남" または "Gangnam")
  • line(任意):路線番号(例:"2")
  • day_type(任意):"weekday" | "saturday" | "holiday"(デフォルト:"weekday")
  • direction(任意):"up" | "down"

クイックスタート

オプション A:Smithery(推奨)

Smithery の Seoul Essentials にアクセスし、お使いの MCP クライアント向けのセットアップ手順に従ってください。

オプション B:直接接続

MCP クライアントの設定(例:Claude Desktop の claude_desktop_config.json)に追加します。

{
  "mcpServers": {
    "seoul-essentials": {
      "url": "https://seoul-essentials-mcp-230987091625.asia-northeast3.run.app/mcp"
    }
  }
}
オプション C:ローカルで実行
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 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。