关于 Seoul Essentials
Seoul Essentials 是为协助外国游客的 AI Agent 提供首尔公共设施与交通信息的 MCP 服务。它采用政府官方开放数据,可按设施类型、位置和特定服务条件查询。
主要功能
- 01搜索 17 类设施
- 02按 GPS 坐标查找附近设施
- 03按 ID 获取地点详情
- 04查询地铁时刻表
- 05按区和服务条件筛选
- 06提交数据质量反馈
适用场景
- 01查找附近的公共厕所或 AED
- 02寻找提供语言服务的药店
- 03查询车站地铁时刻表
- 04搜索免费 WiFi 或公共设施
MCP 相关
向 MCP 客户端提供设施搜索、附近查询、地点详情、地铁时刻表和反馈工具。数据涵盖首尔公共设施与交通信息,来源为政府官方数据集。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/do-droid/seoul-essentials:0.2.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/do-droid/seoul-essentials:0.2.0Streamable HTTP工具
5收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | enum | 是 | 设施类型 — "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 |
| district | any | 否 | 首尔区名,可使用英文或韩文(例如 "gangnam"、"jongno"、"강남구"、"종로구")。 |
| filters | any | 否 | 特定服务的键值对过滤条件。示例:{"english": true} 可筛选支持英语的药店,{"is_24h": true} 可筛选 24 小时开放的卫生间,{"indoor": true} 可筛选室内 WiFi。 |
| limit | integer | 否 | 返回结果的最大数量(1-50,默认值为 10)。 |
详细介绍
首尔出行必备 — MCP 服务
为帮助韩国首尔外国游客的 AI Agent 提供必备公共设施数据。
这是什么?
Seoul Essentials 是一个 MCP(Model Context Protocol)服务,提供首尔必备公共设施的结构化数据。专为协助外国游客实时查询附近服务的 AI Agent 设计。
可用数据(37,900+ 个地点,17 种类型)
数量为截至 2026-08-04 的 Firestore 实时文档数。
| 类型 | 说明 | 数量 |
|---|---|---|
wifi | 免费公共 WiFi 热点(Seoul WiFi) | 12,008 |
aed | AED 所在地点;包含多台设备的站点为一条记录,并带有 aed_count 和 unit_locations | 7,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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。