Skip to main content

MCP server for Swiss Federal Office of Public Health (BAG) infectious disease surveillance — IDD API

Project description

🏥 bag-health-mcp

PyPI Python 3.11+ License: MIT Swiss Public Data MCP Portfolio

Part of the Swiss Public Data MCP Portfolio — connecting AI models to Swiss public data sources.

MCP server for the Swiss Federal Office of Public Health (BAG) Infectious Disease Dashboard (IDD). Access epidemiological surveillance data for 51 pathogens across Switzerland — including influenza, COVID-19, measles, wastewater surveillance, and more.


🎯 What You Can Do

"Wie ist die aktuelle Grippesituation im Kanton Zürich verglichen mit den letzten Wochen?"
→ bag_get_canton_situation(canton="ZH")

"Gibt es aktuell einen Masernausbruch in der Schweiz?"
→ bag_get_disease_data(series_id="measles/cases/incValue/year", canton="all")

"Wie entwickelt sich das SARS-CoV-2-Signal im Abwasser?"
→ bag_list_series(topic="wastewater_viral_load")
→ bag_get_disease_data(series_id="wastewater_viral_load/NA/value/date", ...)

"Welche Krankheitsdaten stellt das BAG aktuell bereit?"
→ bag_list_diseases()

🔧 Tools

Tool Description
bag_list_diseases List all 51 disease topics, grouped by category
bag_list_series List data series for a specific disease
bag_get_series_details Get available filter dimensions (canton, age, sex)
bag_get_disease_data Fetch time-series surveillance data
bag_get_canton_situation Situational overview for a canton (Schulamt use case)
bag_list_export_files List available complete export datasets
bag_download_export Download raw CSV/JSON export
bag_get_data_version Current data version (updated every Wednesday)

🏫 Relevance for Schools & City Administration

Schulamt / Kreisschulbehörden:

  • Monitor influenza and ARI incidence in your canton
  • Single measles case → alert for schools with low vaccination coverage
  • Pertussis tracking → protect unvaccinated infants (siblings of school children)

Stadtverwaltung / KI-Fachgruppe:

  • Public Health Reporting with structured weekly data
  • Wastewater surveillance as 1-week lead indicator before clinical cases

Synergy with portfolio:

  • bag-epl-mcp → "What treatments are listed?" (EPL medication database)
  • bag-health-mcp → "What is currently spreading?" (surveillance data)

📡 Data Source

  • IDD API: https://api.idd.bag.admin.ch — No authentication required
  • Update cycle: Every Wednesday
  • Coverage: Switzerland + Liechtenstein (FL), 26 cantons
  • Topics: 51 pathogens, 1386 data series
Architecture:
                    ┌─────────────────┐
  MCP Host          │  bag-health-mcp │
  (Claude, etc.) ──▶│  MCP SDK        │──▶ api.idd.bag.admin.ch
                    │  8 Tools        │    (IDD API, no auth)
                    └─────────────────┘

🚀 Installation

Claude Desktop (stdio)

{
  "mcpServers": {
    "bag-health": {
      "command": "uvx",
      "args": ["bag-health-mcp"]
    }
  }
}

Cloud / HTTP

pip install bag-health-mcp
python -m bag_health_mcp.server --http --port 8000

🗂️ Available Disease Topics

Category Topics
Respiratory influenza, covid19, acute_respiratory_infection, respiratory_pathogens
Enteric campylobacteriosis, salmonellosis, ehec, listeriosis, hepatitis_a/e
STI & Bloodborne hiv, aids, syphilis, gonorrhea, hepatitis_b/c, chlamydiosis
Vaccine-preventable measles, pertussis, rubella, tetanus, diphtheria, ipd, meningo
Vector-borne lyme_borreliosis, tick-borne_encephalitis, dengue, malaria, zika
Wastewater wastewater_viral_load, wastewater_sequencing

⚠️ Known Limitations

  • Beta API: IDD API is labelled v0.1 beta — schema may change without notice
  • Weekly cadence: Data is not real-time; updated Wednesdays only
  • Canton granularity: Some rare diseases have insufficient cases for canton-level data (suppressed for privacy)
  • Age groups: Available dimensions vary by disease series; use bag_get_series_details to check

📄 License

MIT — Data from BAG IDD is public domain (opendata.swiss).

🔗 Related Portfolio Servers

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bag_health_mcp-0.1.0.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bag_health_mcp-0.1.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file bag_health_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: bag_health_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bag_health_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 273ad657e766f0fce01687ade2151be22d2336964c71dc4a1ec5b140916db299
MD5 1405bb4586f9da63fae3c46838095cb4
BLAKE2b-256 285e4619787a6c5ceb8a1ced0dcbcb13200a14ef273edddcf1976c6d21fc2e0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for bag_health_mcp-0.1.0.tar.gz:

Publisher: publish.yml on malkreide/bag-health-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bag_health_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: bag_health_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bag_health_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 adf7ec1de146a74c7df13fcd588b0385486baf652abf2f5e3dc1e60299f11d89
MD5 d6a232a1b4c081a3305666e4863ac8cd
BLAKE2b-256 eeb0eb337e38b5d9b2d7d757ee5ac8294e309ead727601314e8872aa01a13264

See more details on using hashes here.

Provenance

The following attestation bundles were made for bag_health_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on malkreide/bag-health-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page