mcpField
P
Portugal (public data)

Portugal (public data)

本地服务
thiagolannes.com法律与政务1今天更新

关于 Portugal (public data)

Portugal (public data) 是只读 MCP 服务,将葡萄牙多个官方和开放数据源汇集为面向 AI 助手的查询工具。它涵盖天气、统计、议会、医疗、能源和交通等领域,回答标明来源与日期,且无需 API 密钥或账户。

主要功能

  1. 01查询天气、预警及火险
  2. 02检索统计、经济与议会数据
  3. 03查询公共合同和开放数据集
  4. 04获取医疗与药品公开信息
  5. 05查找燃油价格和电动车充电桩
  6. 06查询公交及铁路时刻表

适用场景

  1. 01查询葡萄牙天气和火险预报
  2. 02了解失业率或 Euribor 的变化
  3. 03查找附近燃油站或充电桩
  4. 04查询公交到站和跨城直达班次

MCP 相关

该项目是供 MCP 客户端使用的只读 MCP 服务,提供查询葡萄牙公开数据的工具。支持 stdio,也可通过 Streamable HTTP 提供服务;无需 API 密钥或账户。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"thiagojacoblannes-portugal": {
"command": "uvx",
"args": [
"portugal-mcp"
],
"env": {
"PORTUGAL_MCP_FEATURES": "<PORTUGAL_MCP_FEATURES>"
}
}
}
}
启动命令uvx portugal-mcp
需要配置的环境变量
PORTUGAL_MCP_FEATURESOptional comma list of features to load (e.g. clima,geo,ine) or to drop (-contratos). Default: all.

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

安装包
pypiportugal-mcp0.2.0

工具

47

收录的工具列表 · 更新于 1 周前

参数类型必填说明
latany否
lonany否
placeany否

详细介绍

portugal-mcp

CI Live sources PyPI

通过一个 MCP 服务,为 AI 助手提供葡萄牙公共数据。 向 Claude(或任何 MCP 客户端)询问天气和预警、邮政编码、失业或通胀、Euribor、议会投票结果、公共合同中标者、急诊室繁忙程度、药品是否短缺、附近最便宜的燃油、下一班开往波尔图的火车何时出发,或本火灾季节有多少土地被烧毁。

只读,无需 API 密钥,无需账户。 每个回答都来自官方或公共开放数据源,并注明来源及数据日期。与任何数据源均无关联。

葡萄牙语: 提供葡萄牙公共数据的 MCP 服务(IPMA、INE、Banco de Portugal、Parlamento、Portal BASE、dados.gov.pt、SNS、Infarmed、DGEG、MOBI.E、Carris Metropolitana、CP 时刻表、Metro de Lisboa、Carris 和 Fertagus、EFFIS 火灾数据)。只读,无需密钥。工具接受葡萄牙语提问。

涵盖内容

功能工具来源
climaweather_forecast、weather_warnings、fire_risk、sea_forecast、earthquakesIPMA
geopostal_code、where_is、municipality、public_holidaysGeoAPI.pt(CAOP、CTT、INE 人口普查);节假日根据《劳动法典》计算
ineine_search、ine_indicatorINE 指标 API
bpstatbpstat_search、bpstat_seriesBanco de Portugal BPstat
parlamentoparliament_search、parliament_initiative、parliament_votes、parliament_deputies葡萄牙共和国议会开放数据
contratospublic_contracts、public_contracts_summaryIMPIC / Portal BASE
dadosopen_data_search、open_data_dataset、open_data_previewdados.gov.pt
saudesns_find_institutions、sns_emergency_stats、sns_surgery_wait_stats、sns_consultation_wait_stats、sns_search_datasets、sns_query_datasetSNS 透明度门户
medicamentosmedicine_availability、pharmacies、find_medicine_near、medicine_helpInfarmed 公共页面、值班药房
energiafuel_prices、fuel_station_detail、fuel_types、ev_chargers、ev_charger_detailDGEG、MOBI.E
transportesbus_find_stops、bus_next_arrivals、bus_line_info、bus_service_alerts、bus_vehicle_positionsCarris Metropolitana API
transittransit_operators、transit_find_stops、transit_departures、transit_trips_betweenCP、Metro de Lisboa、Carris 和 Fertagus 的官方 GTFS 时刻表
incendioswildfiresEFFIS(Copernicus,CC BY 4.0)

总共有 47 个工具。如果你的客户端难以处理这么多工具,可以通过 PORTUGAL_MCP_FEATURES(见下文)仅加载所需工具。

须知
  • 统计数据有时效性。 INE、BPstat 和 SNS 的数据属于官方统计序列,带有参考时段,通常会滞后几个月。回答会注明统计时段。
  • 医疗与药品:提供信息,不构成建议。 SNS 数据是月度统计,并非急诊室的实时排队情况。葡萄牙不公开各药房的库存,因此工具不会声称某家药房有某种药品。遇到紧急情况请拨打 112;需要医疗建议请拨打 SNS 24, 808 24 24 24。
  • 议会: 投票按议会党团记录,与议会公布的方式一致。首次调用会下载约 100 MB 的数据(大约需要一分钟),之后缓存一天。
  • 公共合同: BASE 年度文件大小为 15-55 MB,因此首次查询某一年的数据需要一两分钟。金额是采购方报告的不含 VAT 的合同价格。个人的税号(NIF)会被隐藏;公司和公共机构的 NIF 会显示。
  • 燃油 / 电动汽车: 首次查询电动汽车数据时会加载 MOBI.E 全国数据源(约 80 秒),之后会缓存。
  • 时刻表是计划时刻,不是实时信息。 CP、Metro de Lisboa、Carris 和 Fertagus 会发布官方 GTFS 时刻表;首次使用时,每份时刻表都会加载到本地 SQLite 文件中(Carris 约需 20 秒),并在运营方发布新版时更新。transit_trips_between 仅查找直达班次(不包含换乘)。Metro do Porto 和 STCP 未发布当前的官方数据源。
  • 野火数据是卫星绘制的过火区域(EFFIS),通常会滞后一日或更久,并非实时火情。要查询今日火险,请使用 fire_risk;遇到紧急情况请拨打 112。

安装

需要 Python 3.10+。使用 uv 时无需其他依赖:

uvx portugal-mcp --list-tools

也可以使用 pip:pip install portugal-mcp。

Claude Code
claude mcp add portugal -- uvx portugal-mcp
Claude Desktop

将以下内容添加到 claude_desktop_config.json(也见 claude_desktop_config.snippet.json):

{
  "mcpServers": {
    "portugal": {
      "command": "uvx",
      "args": ["portugal-mcp"]
    }
  }
}
Codex 和其他 MCP 客户端

任何可运行 stdio 服务的客户端都适用:命令为 uvx,参数为 ["portugal-mcp"]。如需使用 HTTP,请运行 portugal-mcp --http,它会在 127.0.0.1:8000 上提供可流式传输的 HTTP 服务(可通过 MCP_HOST / MCP_PORT 修改)。

配置

变量默认值功能
PORTUGAL_MCP_FEATURESall以逗号分隔的要加载功能列表(clima,geo,ine),或要排除的功能列表(-contratos,-parlamento)。
PORTUGAL_MCP_CACHE_DIROS cache dir下载文件的缓存位置。
PORTUGAL_MCP_LOG_LEVELINFO日志级别;日志输出到 stderr。

portugal-mcp --refresh 会预先下载大型文件(议会数据、本年度合同、电动汽车充电桩、时刻表),然后退出。

示例问题

  • “波尔图这周会下雨吗?有预警吗?”
  • “今天 Monchique 的火险等级如何?”
  • “葡萄牙最新一个月的失业率是多少?”
  • “过去 12 个月 6 个月期 Euribor 如何变化?”
  • “本月议会对住房问题进行了哪些投票,各党派分别如何投票?”
  • “2026 年金额最大的直接采购合同有哪些?里斯本市政厅今年签订了多少合同?”
  • “我在 Coimbra 需要布洛芬——是否断货?哪些药房在值班?”
  • “Setúbal 附近最便宜的柴油” / “Marquês 附近的快速充电桩”
  • “Cais do Sodré 站下一班公交车什么时候到?”
  • “明天上午从 Lisboa Oriente 到 Porto 的直达火车有哪些?” / “Prazeres 下一班 28 路有轨电车是什么时候?”
  • “今年 Algarve 有多少面积被烧毁?”

开发

python -m venv .venv && .venv/bin/pip install -e ".[dev]"
pytest              # offline unit tests (fixtures, no network)
pytest -m live      # hits every real source; CI runs this daily
ruff check .

CONTRIBUTING.md 介绍了功能的组织方式以及添加数据源的规则。SECURITY.md 介绍了如何报告漏洞。

维护
  • CI: 每次推送和拉取请求都会在 Linux 和 Windows 上运行 lint 和单元测试,并执行 pip-audit。
  • 实时数据源: 每天运行一次,检查真实 API;当数据源更改格式时,会创建一个 issue。
  • Dependabot: 提议更新依赖项和 GitHub Actions。Actions 使用提交 SHA 固定版本。
  • 发布: 仅从版本标签发布,且仅在测试通过后进行。发布通过 PyPI trusted publishing 和官方 MCP Registry 完成,不存储令牌。

替代项目

此软件包合并了同一作者之前开发的四个服务,这些服务现已弃用:sns-portugal-mcp、portugal-medicines-mcp、portugal-fuel-ev-mcp 和 carris-metropolitana-mcp。它们的工具现已整合到此处。SNS、药品和公交工具现在带有前缀(sns_、medicine_、bus_),以便在 47 个工具中明确区分。

许可证

MIT。数据归其发布者所有,使用时遵循其开放数据条款;重新使用时请注明来源。

评论

支持 Markdown

第一次接触 MCP?

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

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