mcpField
S
Seoul Essentials

Seoul Essentials

本地服务
github.com/do-droid地图与出行06 周前更新

关于 Seoul Essentials

Seoul Essentials 是为协助外国游客的 AI Agent 提供首尔公共设施与交通信息的 MCP 服务。它采用政府官方开放数据,可按设施类型、位置和特定服务条件查询。

主要功能

  1. 01搜索 17 类设施
  2. 02按 GPS 坐标查找附近设施
  3. 03按 ID 获取地点详情
  4. 04查询地铁时刻表
  5. 05按区和服务条件筛选
  6. 06提交数据质量反馈

适用场景

  1. 01查找附近的公共厕所或 AED
  2. 02寻找提供语言服务的药店
  3. 03查询车站地铁时刻表
  4. 04搜索免费 WiFi 或公共设施

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"(电动汽车充电站)。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} 可筛选支持英语的药店,{"is_24h": true} 可筛选 24 小时开放的卫生间,{"indoor": true} 可筛选室内 WiFi。
limitinteger否返回结果的最大数量(1-50,默认值为 10)。

详细介绍

首尔出行必备 — MCP 服务

为帮助韩国首尔外国游客的 AI Agent 提供必备公共设施数据。

seoul-essentials MCP server

这是什么?

Seoul Essentials 是一个 MCP(Model Context Protocol)服务,提供首尔必备公共设施的结构化数据。专为协助外国游客实时查询附近服务的 AI Agent 设计。

可用数据(37,900+ 个地点,17 种类型)

数量为截至 2026-08-04 的 Firestore 实时文档数。

类型说明数量
wifi免费公共 WiFi 热点(Seoul WiFi)12,008
aedAED 所在地点;包含多台设备的站点为一条记录,并带有 aed_count 和 unit_locations7,890
pharmacy遍布 25 个区的药店;?filter.english=true 可筛选出约 400 家经过调查、提供英语/中文/日语服务的药店5,849
toilet遍布 25 个区的公共厕所(其中 2,008 个全天 24 小时开放)4,416
bike따릉이(Seoul Bike)共享单车站点3,340
heritage指定文化遗产2,009
future_heritage首尔未来遗产景点485
traditional_market韩国传统市场(广藏市场、南大门市场……)433
metro_facility地铁储物柜和设施340
taxi_stand出租车乘车点255
post_office邮局(EMS/国际邮件)227
ev_charger电动汽车充电站187
museum博物馆和美术馆171
baeknyeon百年历史的指定商店和餐厅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

示例查询

AI Agent 可以使用这些工具回答以下问题:

英语

  • “在江南站附近找一家会说英语的药店”
  • “离我最近的公共厕所在哪里?”
  • “明洞站的地铁时刻表是什么?”
  • “在弘大一带找免费 WiFi 热点”
  • “离梨泰院最近的 AED 在哪里?”

日本語

  • 「在明洞找一家会说日语的药店」
  • 「弘大附近哪里可以使用免费 Wi-Fi?」
  • 「请告诉我江南站周边的 EV 充电点」

中文

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

反馈

我们会积极审查并采纳反馈,以提高数据质量和覆盖范围。

面向 AI Agent: 在对话期间使用 submit_feedback 工具报告问题或提出改进建议。

面向开发者: 在 GitHub 上提交反馈问题。

类别: new_data | data_quality | coverage | format | frequency | other

已知的数据限制

  • pharmacy:分为两层。417 条记录来自首尔开放数据广场的“外语服务药店情况”调查,包含 services.english / chinese / japanese;江南区完全未纳入该上游调查(这是来源数据缺失,并非解析器错误),因此 ?filter.english=true&district=gangnam 仍不会返回任何结果。其余 5,455 条来自 MOIS LOCALDATA 许可登记,覆盖全部 25 个区,并提供精确坐标和电话号码。来源于许可登记的记录带有 services.language_support: "not surveyed",且刻意省略语言相关键值——它们不会被标记为可提供英语服务,且会被 ?filter.english=true 排除。
  • post_office / traditional_market / ev_charger:上游数据集不包含纬度/经度。坐标使用各首尔行政区的中心点作为备用值(coordinates_approximate: true)。按行政区筛选(?district=mapo)结果精确;使用 find_nearby 对这些类型进行排序时,精度以行政区为单位,而非具体建筑。
  • toilet:开放时间来自自由文本字段,共有 234 种不同格式。2,008 条记录确认全天 24 小时开放;445 条记录未提供可用的开放时间,而是包含说明性 hours.note,不包含开放/关闭时间。
  • 一般开放时间:只有来源支持时才会出现 is_24h: true——适用类型包括厕所、따릉이 停车点、户外 WiFi、EV 充电桩和旅游区。其他所有类型的数据源均未发布开放时间,因此这些记录带有 is_24h: false,并通过 hours.note 说明实际已知信息。因此,筛选 ?filter.is_24h=true 只会返回已确认全天开放的地点。
  • address_en:71.9% 的记录包含通过修订罗马字标记法生成的英文道路地址(后端仓库中的 scripts/romanize.py)。建筑编号、道路和行政区信息准确;少数外来语道路名称按读音转写,而非采用官方拼写(올림픽로 → “Ollimpik-ro”,官方拼写为 “Olympic-ro”)。地号地址(지번)不包含道路名称,因此留空而不猜测。
  • 路线图(下一轮):halal_friendly(data.go.kr 15111159 已撤回——正在搜索替代来源)和 emergency_room(无法找到 data.go.kr 3043449——将改用 e-gen.or.kr OpenAPI)计划在下一次刷新时加入。两者均已在 0.4.0 中从工具架构移除——它们曾被列为有效类型,但对应文档数为零,因此每次调用都会返回空结果。

数据来源

所有数据均来自首尔政府官方开放数据:

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。