关于 SNS Portugal
SNS Portugal 是面向 MCP 客户端的只读服务,提供葡萄牙国家卫生服务的官方公开月度统计。它支持按机构、地区或全国查询急诊、手术和门诊等数据,但不提供实时排队信息。
主要功能
- 01按名称或坐标查找医院与 ULS
- 02查询急诊就诊及分诊统计
- 03查询手术等候与手术量
- 04查询门诊及等待时限数据
- 05搜索并查询透明度门户数据集
适用场景
- 01比较不同机构或地区的急诊量
- 02查看手术等候名单及手术统计
- 03查找附近提供急诊服务的机构
- 04检索特定主题的 SNS 公开数据集
MCP 相关
作为 MCP 服务,向客户端提供查询机构、月度统计和 SNS 透明度门户数据集的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 6 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| lat | any | 否 | |
| lon | any | 否 | |
| limit | integer | 否 | |
| query | any | 否 | |
| emergency_only | boolean | 否 |
详细介绍
原文在翻译后有更新,译文可能不是最新。
sns-portugal-mcp
为 葡萄牙国家卫生服务(SNS)的官方开放数据统计 提供的 MCP 服务,让 Claude(或任何 MCP 客户端)可以回答“圣玛丽亚医院急诊科有多忙?”“北部地区有多少人在等待手术?”或“我附近有哪些 SNS 医院?”等问题。
只读,无需密钥或账户。 仅使用公开开放数据。与 SNS、SPMS 或葡萄牙卫生部无关联。
统计数据,不是实时排队情况。 这些数据是官方月度统计;最新月份通常滞后 2–3 个月,且为暂定数据。此服务不显示急诊室实时等候时间。有关实时等候时间,请访问 tempos.min-saude.pt。
不构成医疗建议。 如遇紧急情况,请拨打 112。如需健康建议,请拨打 SNS 24:808 24 24 24。
工具
find_institutions
按名称查找 SNS 医院和地方卫生单位(ULS),或按坐标查找距离最近的单位。每条结果都会说明该单位是否提供急诊、门诊和手术数据,并给出统计中使用的名称 stats_entity。统计数据按 ULS 或医院集团发布,而非按单栋建筑发布。
参数:query(名称,不区分重音符号)、lat / lon(按距离排序)、emergency_only、limit。
emergency_stats
按月统计急诊就诊量,按类型(普通、儿科、产科、精神科)和曼彻斯特分诊颜色(红、橙、黄、绿、蓝、白、未分诊)分类,并列出各颜色占当月的比例。可查询单家机构、一个地区或全国的数据。
参数:institution、region(Norte | Centro | LVT | Alentejo | Algarve)、period("YYYY-MM",纳入统计的最新月份)、months(默认值为 6)。
surgery_wait_stats
按月统计手术服务情况:
- 月末手术等待名单(LIC)人数;
- 仍在法定最长保证时间(TMRG)内等待的患者比例;
- 从入院到手术的平均天数(计划住院手术);
- 已完成手术:计划手术(住院手术和日间手术)及紧急手术。
参数与 emergency_stats 相同。开放数据不提供按专科分类的细分数据。
consultation_wait_stats
按月统计医院门诊就诊量(初诊和复诊),以及在 TMRG 内完成的初次专科门诊就诊(由家庭医生转诊)比例。参数与上文相同。
search_datasets
按关键词搜索 SNS 透明门户中的 149 个数据集。数据集标题为葡萄牙语,因此使用葡萄牙语关键词效果最佳:"ocupação"、"partos"、"rastreios"、"SNS 24"、"INEM"。返回每个数据集的 ID、描述和字段名称。
query_dataset
对门户中的任意数据集执行 ODSQL 查询(where、select、group_by、order_by、limit、offset)。可用于查询上述工具未覆盖的内容。
年初至今的数值
大多数医院活动数据集发布的是年初至今的累计数值,因此 12 月的数据就是全年总量。专用工具会同时返回年初至今的数值和推算出的 in_month 数值(本月数值减去上月数值)。如果直接使用 query_dataset,需自行计算差值。
安装
最快方式(需要 uv):无需克隆,可直接从 PyPI 运行。
claude mcp add sns-portugal -- uvx sns-portugal-mcp
对于 Claude Desktop,请使用 "command": "uvx", "args": ["sns-portugal-mcp"]。
从源代码安装:
需要 Python 3.10+。
git clone https://github.com/ThiagoJacobLannes/sns-portugal-mcp
cd sns-portugal-mcp
python -m pip install -e .
在 Windows 上,如果代码存放在云同步文件夹(Google Drive、OneDrive)中,请在该文件夹之外创建虚拟环境。同步客户端会将 desktop.ini 文件放入文件夹,这可能导致软件包启动时崩溃。
添加到 Claude Code
claude mcp add sns-portugal -- python -m sns_portugal_mcp.server
添加到 Claude Desktop
将 claude_desktop_config.snippet.json 合并到 Claude Desktop 的 claude_desktop_config.json 中,然后重启 Claude Desktop:
{
"mcpServers": {
"sns-portugal": {
"command": "python",
"args": ["-m", "sns_portugal_mcp.server"]
}
}
}
数据来源
| 来源 | 提供内容 | 访问方式 | 许可证/条款 |
|---|---|---|---|
| SNS Transparency portal(Opendatasoft Explore API v2.1) | 由 SNS Executive Direction(DE-SNS)发布的 149 个 SNS 月度统计数据集 | 开放访问,无需密钥 | 任何数据集的元数据中都未设置许可证(于 2026-10-31 检查)。门户网站的条款允许依据葡萄牙公共部门信息法(Lei n.º 26/2016)再利用数据:注明来源,保持数据的完整性和上下文,并标明所做的任何更改。部分相同的数据集也镜像在 dados.gov.pt 上;其中一些副本标注为 CC-BY,另一些则标注为“未指定”。 |
| tempos.min-saude.pt/institutions.json | 医院和 ULS 列表,包含坐标以及各机构上报的数据 | 公开静态文件,无需密钥 | 未注明许可证。 |
精选工具使用的数据集:
| 工具 | 数据集 |
|---|---|
emergency_stats | atendimentos-por-tipo-de-urgencia-hospitalar-link、atendimentos-em-urgencia-triagem-manchester |
surgery_wait_stats | inscritos-em-lic-dentro-do-tmrg-180-dias、demora-media-antes-da-cirurgia、intervencoes-cirurgicas |
consultation_wait_stats | consultas-em-tempo-real、01_sica_evolucao-mensal-das-consultas-medicas-hospitalares |
根据这些来源派生的数据遵循来源的条款。本仓库中的代码采用 MIT 许可证。
此服务不做什么。 它不会调用 tempos.min-saude.pt/api/*:该 API 需要使用嵌入网站自身 Web 应用中的密钥,而此服务不会使用他人的密钥。它也不会抓取实时等候时间报告(嵌入式 Power BI 报告)。
工作原理
此服务使用 httpx 调用门户的公开 Explore API,并在查询本身中进行聚合(group_by tempo、sum(...)),因此区域和全国总计由服务端计算。医院名称匹配时不区分重音符号。借助机构列表,“Hospital de Faro”这类医院会映射到其所属的 ULS(“ULS do Algarve”)。数据集目录、机构列表和机构名称会缓存在内存中 6 小时。如果上游调用失败或查询格式错误,工具会返回明确的 {"error": ...},不会进行猜测。
环境变量覆盖项(可选):SNS_ODS_BASE_URL、SNS_INSTITUTIONS_URL。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。