mcpField
S
SNS Portugal

SNS Portugal

本地服务
thiagolannes.com健康医疗06 天前更新

关于 SNS Portugal

SNS Portugal 是面向 MCP 客户端的只读服务,提供葡萄牙国家卫生服务的官方公开月度统计。它支持按机构、地区或全国查询急诊、手术和门诊等数据,但不提供实时排队信息。

主要功能

  1. 01按名称或坐标查找医院与 ULS
  2. 02查询急诊就诊及分诊统计
  3. 03查询手术等候与手术量
  4. 04查询门诊及等待时限数据
  5. 05搜索并查询透明度门户数据集

适用场景

  1. 01比较不同机构或地区的急诊量
  2. 02查看手术等候名单及手术统计
  3. 03查找附近提供急诊服务的机构
  4. 04检索特定主题的 SNS 公开数据集

MCP 相关

作为 MCP 服务,向客户端提供查询机构、月度统计和 SNS 透明度门户数据集的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"thiagojacoblannes-sns-portugal": {
"command": "uvx",
"args": [
"sns-portugal-mcp"
]
}
}
}
启动命令uvx sns-portugal-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypisns-portugal-mcp0.1.1

工具

6

收录的工具列表 · 更新于 6 天前

参数类型必填说明
latany否
lonany否
limitinteger否
queryany否
emergency_onlyboolean否

详细介绍

原文在翻译后有更新,译文可能不是最新。

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_statsatendimentos-por-tipo-de-urgencia-hospitalar-link、atendimentos-em-urgencia-triagem-manchester
surgery_wait_statsinscritos-em-lic-dentro-do-tmrg-180-dias、demora-media-antes-da-cirurgia、intervencoes-cirurgicas
consultation_wait_statsconsultas-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

评论

支持 Markdown

第一次接触 MCP?

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

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