Thank you for your interest in contributing! This server is part of the Swiss Public Data MCP Portfolio.
Use GitHub Issues to report bugs or request features.
Please include:
- Python version and OS
- Full error message or description of unexpected behaviour
- Steps to reproduce
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Make your changes and add tests
- Ensure all tests pass:
PYTHONPATH=src pytest tests/ -m "not live" - Commit using Conventional Commits:
feat: add new tool - Push and open a Pull Request against
main
- Python 3.11+
- Ruff for linting and formatting
- Type hints required for all public functions
- Tests required for new tools (
tests/test_server.py) - Follow the existing FastMCP / Pydantic v2 patterns in
server.py
This server accesses Swiss BAG (Federal Office of Public Health) data — all without authentication:
| Source | Documentation |
|---|---|
| Spezialitaetenliste (SL) | sl.bag.admin.ch |
| GGSL | BAG GGSL Info |
| MiGeL | BAG MiGeL Info |
When the BAG publishes its FHIR/IDMP API for the ePL, contributions updating the tools to use it are very welcome. The architecture is designed to make this upgrade minimal — see the FHIR_BASE_URL constant and the _sl_website_suche function in server.py.
When adding new data sources, follow the No-Auth-First principle: Phase 1 uses only open, authentication-free endpoints. Authenticated APIs are introduced in later phases with graceful degradation.
By contributing, you agree that your contributions will be licensed under the MIT License.