mcpField
P
Portugal Medicines

Portugal Medicines

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

关于 Portugal Medicines

Portugal Medicines 是只读 MCP 服务,可查询 Infarmed 发布的药品供应信息,并查找葡萄牙正在营业或值班的药房。它提供联系信息和求助热线,但不提供药房库存信息或医疗建议。

主要功能

  1. 01查询 Infarmed 药品短缺相关清单
  2. 02查找当前营业或值班药房
  3. 03按值班、营业状态和距离排序
  4. 04提供药房地址和电话号码
  5. 05列出药品与药房求助热线

适用场景

  1. 01检查药品是否出现在已发布的短缺清单中
  2. 02查找某个市镇的值班药房
  3. 03按坐标查找附近营业药房
  4. 04获取药品相关求助电话

MCP 相关

向 MCP 客户端提供药品供应情况、药房搜索、附近药房查询和求助热线工具;不查询药房库存。

配置

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

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

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

安装包
pypiportugal-medicines-mcp0.1.1

工具

4

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

参数类型必填说明
limitinteger否
medicinestring是

详细介绍

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

portugal-medicines-mcp

MCP 服务,帮助回答在葡萄牙「我需要城市 Y 的药品 X,该怎么办?」的问题,让 Claude(或任何 MCP 客户端)能够告知药品是否有短缺报告、哪些药房正在值班或目前营业,以及该拨打哪个电话。

**只读,无需密钥,无需账户。**仅使用公开来源。与 Infarmed、SNS、SPMS、Associação Nacional das Farmácias 或 farmaciasdeservico.net 均无关联。

**葡萄牙的药房库存信息不公开。**只有药房和分销商可以查看。本服务绝不会声称某家药房有某种药品:请致电药房,或拨打 Linha 1400 确认。

**不构成医疗建议。**本服务仅提供信息。未经药剂师或医生同意,切勿更换、停用或替代药品。如遇紧急情况,请拨打 112。如需健康建议,请拨打 SNS 24:808 24 24 24。

工具

find_medicine_near

一站式查询结果。检查药品的供应情况,列出城市中今日值班的药房和目前营业的药房(如果提供位置,则按距离从近到远排列),并提供求助热线和后续步骤。

参数:medicine、city(或 lat / lon)、limit。

availability

药品是否短缺?按商品名或有效成分搜索(使用葡萄牙语名称效果最佳,例如 "quetiapina"、"Ozempic"、"ácido acetilsalicílico";添加剂量或剂型可缩小范围)。它会检查 Infarmed 在 www.infarmed.pt 上公布的三类信息:

  • 正在监测的短缺:Infarmed 正在积极跟进的情况,以及相关建议和通告;
  • 暂时暂停出口:每月公布的药品清单,这些药品因葡萄牙出现短缺或供应风险,其出口或向其他欧盟国家的分销已暂停;
  • 事先通知清单(LNP):每季度公布的存在供应问题或属于关键药品的清单。

系统会自动在 Infarmed 的供应情况页面查找最新清单。status 的值为以下一项或多项:monitored_shortage、export_suspended、prior_notification、no_issue_in_published_lists。「未发现问题」并不能证明药品有货:请参阅本服务不提供的内容。

参数:medicine、limit。

pharmacies

查询某个市镇(concelho)内的药房,提供地址、电话、坐标、今日营业时间、每家药房是否目前营业以及是否今日值班(官方值班表,值班时间为当日 09:00 至次日 09:00),并注明值班类型(例如「Permanente - Aberta 24h」)。排序方式:值班药房优先,其次是目前营业的药房,然后按距离排序。

参数:city(市镇、城镇或堂区,例如 "Lisboa"、"Porto"、"Alvalade, Lisboa")、lat / lon(添加 distance_km;如果未提供城市,则根据坐标查找市镇)、radius_km、on_duty_only、open_now_only、limit。每次调用只覆盖一个市镇。

where_to_get_help

以下求助热线,并附上核实信息时查看的页面。

帮助热线

热线号码用途核查来源
急救(INEM)112有生命危险或情况严重时拨打gov.pt:A minha saúde
SNS 24808 24 24 24非紧急情况下获取健康建议gov.pt:A minha saúde
Linha 14001400由药房协会(ANF)运营。帮助查找能够供应供应量较少药品的药房;也会告知值班药房。全天 24 小时服务。19:00 至 09:00、周末及全国法定节假日免费;09:00 至 19:00 每分钟收费 EUR 0.10。在线表单:1400safe.pt。1400safe.pt(热线自有网站;在 SNS、Infarmed 或 gov.pt 页面上均未找到相关信息)
Infarmed,药品热线(Linha do Medicamento)800 222 444Infarmed 药品信息中心(CIMI)Infarmed 通告的联系信息栏(未注明服务时间)

安装

最快方式(需要 uv):无需克隆,直接从 PyPI 运行。

claude mcp add portugal-medicines -- uvx portugal-medicines-mcp

对于 Claude Desktop,请使用 "command": "uvx", "args": ["portugal-medicines-mcp"]。

从源代码安装:

需要 Python 3.10+。

git clone https://github.com/ThiagoJacobLannes/portugal-medicines-mcp
cd portugal-medicines-mcp
python -m pip install -e .

在 Windows 上,如果代码存放在云同步文件夹(Google Drive、OneDrive)中,请在该文件夹之外创建虚拟环境。同步客户端会将 desktop.ini 文件放入文件夹,可能导致软件包在启动时崩溃。

添加到 Claude Code

claude mcp add portugal-medicines -- python -m portugal_medicines_mcp.server

添加到 Claude Desktop

将 claude_desktop_config.snippet.json 合并到 Claude Desktop 的 claude_desktop_config.json 中,然后重启 Claude Desktop:

{
  "mcpServers": {
    "portugal-medicines": {
      "command": "python",
      "args": ["-m", "portugal_medicines_mcp.server"]
    }
  }
}

数据来源

来源提供内容访问方式条款
Infarmed:药品供应情况管理(Gestão da disponibilidade do medicamento)正在监测的短缺情况;提供现行清单的链接公开页面;www.infarmed.pt 的 robots.txt 允许抓取页面未注明开放数据许可。属于公共部门信息;请注明 Infarmed 为来源。
Infarmed 导出清单(.xlsx,链接见上方页面)暂停出口的药品(每月);事先通知清单(每季度)公开下载同上。
farmaciasdeservico.net各市镇的所有药房,包括地址、电话、地图位置、当日营业时间和值班安排公开页面;robots.txt 允许所有访问由 1000 Empresas, Lda. 所有。其条款允许注明来源后转载内容,并说明信息可能不完整或已过时。该网站还出售面向商业用途的付费 Web 服务;本服务仅按需读取公开页面,供个人使用。
OpenStreetMap Nominatim将坐标转换为市镇(仅在你提供纬度/经度而未提供城市时使用)公开 API;每秒最多 1 个请求,并须提供可识别的 User-Agent数据 © OpenStreetMap 贡献者,ODbL。使用政策。

这些来源的数据遵循各自来源的条款。本仓库中的代码采用 MIT 许可证。

本服务不提供的功能

  • 不提供药店库存。 这类信息不公开,本服务也不会尝试获取。
  • 不提供 Infomed,也不提供完整的短缺查询。 Infarmed 的药品数据库(Infomed)以及按药品查询短缺和停产情况的功能位于 extranet.infarmed.pt,该主机的 robots.txt 对所有自动化客户端都设置了 Disallow: /。在线版 Prontuário Terapêutico(app10.infarmed.pt/prontuario/)也禁止访问。因此,本服务不会搜索药品、列出包装规格、价格、报销信息或仿制药,也不会查询完整的短缺数据库。请在浏览器中使用这些网站。如果 Infarmed 发布开放数据集或允许自动访问,可以添加这些功能。
  • 不使用从他人的应用或网页获取的密钥,也不绕过机器人防护。

工作原理

本服务使用 httpx,通过一个会话发起请求,User-Agent 中注明本项目名称,并将对每个网站的请求频率限制为每秒最多一次。它会读取 Infarmed 的供应情况页面及其链接的两个电子表格(每 6 小时重新读取一次,因此会自动获取新的月度清单),还会读取 farmaciasdeservico.net 上某个市镇的页面(两个页面,缓存 15 分钟)。匹配药品名称时不区分重音符号或大小写。如果页面或电子表格的结构发生变化,工具会清晰地返回 {"error": ...},而不会猜测。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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