swiss-public-data-mcp

mcp
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 7 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

MCP servers connecting AI models to Swiss public and open data sources

README.md

swiss-public-data-mcp

swiss-public-data-mcp — 42 servers that let AI assistants query official Swiss open data. 42 servers, 41 data sources, 13 domains, 100% audited.

Active servers
Production ready
Audited MCP repos
Legacy servers
License
Python
Protocol
Data
Audit

A curated portfolio of Model Context Protocol (MCP) servers connecting AI agents to Swiss public and open data. The portfolio is maintained as an auditable inventory, not a loose list of experiments.

🇩🇪 Deutsche Version

⚠️ Disclaimer - independence of this project

This is a personal open-source project by Hayal Oezkan. It is developed in private capacity, on private time, with private infrastructure. It is not an official project of the City of Zurich, the Schulamt, the KI-Fachgruppe der Stadtverwaltung Zurich, or any other public institution. References to municipal or federal strategies are descriptive context only. They do not imply endorsement, mandate, affiliation, or production use by any institution.


Current Snapshot

Last checked: 2026-07-28

Metric Current value
Active portfolio servers 42
Production-ready active servers 42
MCP server repos with at least one audit 44
Legacy / archived MCP server repos 2
Audit tooling repos 2
opendata.swiss datasets 14'551 via package_search?rows=0
Machine-readable source of truth portfolio.json
MCP Registry entries (generated) registry/
Publishing runbook RUNBOOK.md
Promotion & distribution PROMOTION.md
Client install snippets docs/INSTALL.md
opendata.swiss showcase submission docs/SHOWCASE.md
Fixture provenance inventory (snapshot, 2026-08-07) docs/FIXTURE-PROVENANCE-2026-08-07.md
Required discovery topic swiss-public-data-mcp
Current MCP spec baseline for new audits 2025-11-25

All developed MCP server repositories in this inventory have completed at least one audit, and every active server is production ready. Two repositories are archived on GitHub (read-only) and are listed separately under Legacy / Superseded so that nothing in the active tables points at a repository that no longer accepts changes.

The portfolio intentionally distinguishes core Swiss public-data servers from adjacent context servers. Adjacent servers, such as global education or technology-signal monitoring, are useful in combined workflows but are not presented as Swiss government data sources.

Every server row links to the official data portal or API it reads from. No server hosts, mirrors, or re-publishes data: each one is a thin, read-only client for a public endpoint, and the publishing organisation remains the authoritative source.


Why This Exists

The problem. opendata.swiss lists roughly 14'500 public datasets, and the broader Swiss data landscape adds GeoAdmin, Fedlex, the SNB data portal, BAFU, BFS PxWeb, swisstopo, parliamentary OData, cantonal law collections, city open-data portals, and sector-specific APIs. Every one of them speaks a different dialect — CKAN, PxWeb, SPARQL, OData, OGC, OpenDataSoft, bespoke REST. Publishing the data was the first mile. Making it usable without a developer in the loop is the last mile, and it is still missing.

The gap this closes. An AI assistant cannot browse a portal, read a schema, and guess a query. It needs a small, typed, documented interface per source. This portfolio provides exactly that: each server turns one public-data source, or one coherent source family, into MCP tools that clients such as Claude Desktop, VS Code + Continue, Cursor, Windsurf, or custom agents can call directly. Nothing is copied or re-hosted — every server is a thin, read-only client, and the publishing organisation stays the authoritative source.

Who it is for. Public administrations evaluating what open data can do inside an AI assistant; journalists and researchers who need to cross-reference official sources; civic-tech developers who would otherwise write the same API client for the fifth time; and anyone who wants to ask a question in plain language instead of assembling four API calls by hand.

What that looks like in practice. Ask "Which school buildings in the City of Zurich lack fibre, how many pupils does each Schulkreis carry, and what does cantonal law require?" — one question that touches Open Data Zurich, cantonal education statistics, and the Zurich law collection. Without MCP that is three integrations and an afternoon. With it, three servers answer in one conversation, each citing its official source.

Why a portfolio rather than one server. The value compounds when sources combine: transport plus road mobility enables multimodal routing; statistics plus geodata enables spatial analysis; education plus law plus parliamentary data supports policy research. A single monolithic server could not be audited, versioned, or adopted piecemeal — 42 small ones can.


Zurich Focus

The City and Canton of Zurich are the portfolio's deepest coverage, and the reason it started: the original question was what municipal open data can actually do inside an AI assistant. Three servers read directly from the official Zurich portals.

Server Official data portal What it covers
zurich-opendata-mcp Open Data Zurich City of Zurich weather, air quality, parking, geodata, Gemeinderat, tourism
zh-education-mcp Canton Zurich education statistics Canton and City of Zurich education data: schools, statistics, infrastructure
openlex-mcp Zurich cantonal law (ZH-Lex) Canton Zurich legislation via ZH-Lex with full-text search and article extraction

Beyond these, Open Data Zurich datasets also surface through swiss-statistics-mcp, swiss-housing-mcp, and swiss-electricity-mcp (ewz tariffs). See the School-infrastructure audit scenario for a worked example combining all of them.


Public-Sector Strategy Context

The portfolio was built bottom-up from integration needs, not top-down from a strategy document. Still, its design maps cleanly to public-sector digital agendas:

Strategy Portfolio contribution
Strategien Zurich 2040 Turns "published open data" into "agent-usable open data" through reusable MCP interfaces.
Digitalisierungsstrategie Stadt Zurich 2024 Supports user-focused digital services, information sharing, and responsible data use without rebuilding existing APIs.
SB021 - Strategy for AI systems in the Federal Administration Provides a public, readable competence-building artefact with explicit audit and risk methodology.
Digital Switzerland Strategy 2026 Extends the practical value of public digital infrastructure by making data sources LLM-consumable through a common protocol.

These links are context, not authority. The repository remains a private open-source project.


Quality & Audit Tooling

The audit methodology is now linked to the public mcp-audit-skill repository instead of being described as an internal-only catalogue. It is complemented by mcp-continuous-auditor, which runs continuous CI audits against MCP servers using promptfoo as a deterministic source of truth. The skill currently documents 120 checks across twelve categories, on a dual spec baseline (2025-11-25 and 2026-07-28):

Category Coverage
ARCH Tool design, annotations, idempotency, repo structure, spec-version alignment
SDK FastMCP / TypeScript / Zod / lifecycle
SEC OAuth proxy risks, confused-deputy risks, SSRF, session hijacking, prompt-injection surface, secret handling
SCALE Transport, statelessness, containerisation, load balancing, gateway compatibility
OBS Logging, errors, SIEM, tracing, trace correlation
HITL Sampling and human-in-the-loop behaviour
CH Swiss DSG / EDOB / public-sector compliance considerations
OPS Test strategy, documentation, phase architecture, release hygiene
FID Data fidelity: scope defaults, recall against ground truth, empty results, query syntax
IDENT Identity: user agent, __version__, manifest and documented version, release gap, artefact health
DRIFT Upstream contract and repo prose: endpoint drift, fallback semantics, test quality, CHANGELOG vs code
DEP Resolution space of the published artefact: upper bounds, major upgrades

The audit skill is not a vulnerability scanner and not a compliance certificate. It is a reproducible review method. Architecture judgement remains human.

Audit Gate

The portfolio now separates server maturity from audit evidence:

Field Meaning
Status Runtime/documentation maturity of the server.
Audit Published evidence for the audit gate.

Every active server row links to the corresponding GitHub audit directory in the Audit column. Most repositories use audits/; swiss-culture-mcp uses audit/, and bag-epl-mcp plus swiss-food-safety-mcp use docs/audit/. The two archived repositories are listed separately under Legacy / Superseded; their audit evidence stays public but is frozen with the repository.

Every published audit should include metadata like this:

audit:
  server: swiss-transport-mcp
  repo: https://github.com/malkreide/swiss-transport-mcp
  audited_commit: "<commit-sha>"
  audit_skill: https://github.com/malkreide/mcp-audit-skill
  audit_skill_version: "3.0.0"
  catalogue_checks: 120
  mcp_spec_version: "2026-07-28"        # 2025-11-25 | 2026-07-28
  profile:
    transport: "dual"                   # stdio-only | dual | HTTP/SSE
    sdk_language: "Python"              # Python | TypeScript
    auth_model: "none"                  # none | API-Key | OAuth-Proxy
    data_class: "Public Open Data"      # Public Open Data | Verwaltungsdaten | PII
    write_capable: false
    deployment: ["local-stdio", "Railway"]
  gate: "no critical/high findings open"
  audited_at: "YYYY-MM-DD"

Startup Behaviour

Of the 42 published servers, 27 announce reaching serving state with a stable line on stderr. For those, a tool can tell whether an installed artefact really comes up. For the remaining 15 it cannot — a probe can only report that they did not crash, which is a weaker claim than it looks: zh-education-mcp 0.2.4 did crash, on every transport, and the published package stayed broken for months because nothing ever started it.

Startup behaviour Servers
No output at all (13) — nothing within six seconds with stdin closed bakom-mcp, global-education-mcp, meteoswiss-mcp, news-monitor-mcp, sbb-opendata-mcp, swiss-cultural-heritage-mcp, swiss-democracy-mcp, swiss-housing-mcp, swiss-procurement-mcp, swiss-snb-mcp, swiss-statistics-mcp, zh-education-mcp, zurich-opendata-mcp
Only the SDK banner (2) — that is the SDK's output, not the server's, and it would vanish with the next SDK upgrade seco-labor-mcp, swiss-food-safety-mcp

Not measured, and listed so the count above cannot be mistaken for the whole portfolio: MCP-Server-for-patent-research- (publishes no package), swiss-geodata-mcp (archived).


Server Portfolio

Status legend: ✅ Production ready and audited at least once · 🔐 Requires API credentials · 🧭 Adjacent/context source · 🗄️ Legacy, archived on GitHub, or superseded

🚆 Transport & Mobility

Server Data source Description Anchor query Status Audit
swiss-transport-mcp Open Data Platform Mobility Switzerland OJP 2.0 journey planning, SIRI-SX disruptions, occupancy, fares, train formation "Earliest train Zurich -> Bern tomorrow at 8 am?" audits/
swiss-road-mobility-mcp Open Data Platform Mobility Switzerland / ASTRA GBFS shared mobility, EV charging, DATEX II traffic, Park & Rail "Available e-bikes near Zurich HB right now?" audits/
sbb-opendata-mcp SBB Open Data SBB Open Data via OpenDataSoft "Punctuality statistics for IC 1 line last month?" audits/

⚡ Energy & Infrastructure

Server Data source Description Anchor query Status Audit
swiss-energy-mcp BFE/SFOE via GeoAdmin API Swiss energy data via SFOE/BFE and GeoAdmin REST APIs "Which hydroelectric power plants are near Wädenswil?" audits/
swiss-electricity-mcp BFE Energiedashboard / ElCom BFE energy dashboard, ElCom tariffs, public consumption data "How did ewz electricity tariffs for category C3 develop since 2019?" audits/

🌿 Environment & Climate

Server Data source Description Anchor query Status Audit
swiss-environment-mcp BAFU / NABEL BAFU environmental data, NABEL air quality, hydrology "PM2.5 levels in Zurich over the last 7 days?" audits/
wsl-envidat-mcp WSL EnviDat WSL / EnviDat environmental research datasets via CKAN "Datasets on Alpine permafrost from WSL?" audits/
meteoswiss-mcp MeteoSwiss Open Data MeteoSwiss Open Data for weather, climate normals, warnings "Was the Bise unusually strong in Zurich last winter?" audits/

⚖️ Legal, Courts & Regulatory

Server Data source Description Anchor query Status Audit
fedlex-mcp Fedlex Swiss federal law via Fedlex SPARQL endpoint "What does Art. 62 BV say about public education?" audits/
openlex-mcp Zurich cantonal law (ZH-Lex) Canton Zurich legislation via ZH-Lex with full-text search and article extraction "Which Zurich laws regulate school responsibilities?" audits/
swiss-courts-mcp entscheidsuche.ch Swiss court decisions via entscheidsuche.ch, including federal and cantonal courts "Recent Federal Supreme Court cases on school transport?" audits/
register-mcp Zefix commercial register Zefix commercial register and UID lookup "Active companies in Zurich Kreis 5 in the IT sector?" audits/
amtsblatt-mcp amtsblattportal.ch (SHAB) amtsblattportal.ch (SHAB + cantonal gazettes) — procurement and official notices, person-data rubrics excluded by design · ↔ related: swiss-procurement-mcp "Which public IT tenders were published in Basel-Stadt in the last three months?" audits/
swiss-procurement-mcp simap.ch simap.ch public procurement API: tenders and awards across all cantons and the Confederation, read-only · ↔ related: amtsblatt-mcp "Which school-building tenders did the City of Zurich publish in 2026, and which BKP categories do they concern?" audits/
swiss-ip-mcp IGE/IPI Swissreg IGE/IPI Swissreg trademarks, patents, SPCs "Active Swiss trademarks containing 'Zurich' in class 41?" ✅ 🔐 audits/

🧩 Semantics, Metadata & Interoperability

Server Data source Description Anchor query Status Audit
termdat-mcp TERMDAT Official multilingual terminology of the Swiss Federal Administration (TERMDAT) "What are the official French and Italian names of the education directorates of the German-speaking cantons?" audits/
i14y-mcp I14Y Interoperability Platform I14Y national interoperability platform and metadata catalogue (DCAT-AP) "Which datasets does the I14Y catalogue list for Swiss education statistics?" audits/
lindas-mcp LINDAS Linked Data Service LINDAS linked-data knowledge graph: ~2,000 federal SPARQL data cubes with resolved labels "Which statistical data cubes does LINDAS publish on Swiss forest area, and who is the publisher?" audits/

📊 Statistics & Geodata

Server Data source Description Anchor query Status Audit
swiss-statistics-mcp BFS STAT-TAB (PxWeb) BFS STAT-TAB PxWeb API for official Swiss statistics "Population of Swiss municipalities by canton, 2023?" audits/
zurich-opendata-mcp Open Data Zurich City of Zurich weather, air quality, parking, geodata, Gemeinderat, tourism "Which school buildings in Zurich do not yet have fibre?" audits/
swisstopo-mcp swisstopo / geo.admin.ch Swiss federal geodata: geocoding, height, STAC, WMTS, OEREB and more "What is the elevation profile between Zurich HB and Uetliberg?" audits/
swiss-housing-mcp GWR/RegBL federal register GWR/RegBL federal building and dwelling register: buildings, dwellings and construction pipeline "How many dwellings with 4+ rooms were newly built in the City of Zurich since 2020?" audits/

🎓 Education & Research

Server Data source Description Anchor query Status Audit
global-education-mcp UNESCO UIS / OECD UNESCO UIS and OECD Education at a Glance "Upper secondary attainment rates in CH vs. OECD average?" ✅ 🧭 audits/
zh-education-mcp Canton Zurich education statistics Canton and City of Zurich education data: schools, statistics, infrastructure "How are pupil numbers distributed across Zurich's seven Schulkreise?" audits/
swiss-academic-libraries-mcp swisscovery (SLSP) swisscovery, e-rara, e-periodica, e-manuscripta via SRU/OAI-PMH "Digitised 18th-century Swiss maps in e-rara?" audits/
eth-library-mcp ETH Library ETH Library Discovery and Persons APIs "ETH publications on urban heat islands since 2020?" audits/
swiss-holidays-mcp OpenHolidays API openholidaysapi.org school and public holidays for all 26 cantons "When are the 2025 autumn school holidays in Canton Zurich?" audits/

💰 Economics & Finance

Server Data source Description Anchor query Status Audit
swiss-snb-mcp SNB data portal SNB data portal: exchange rates, balance sheet, policy rates, SARON, monetary aggregates "EUR/CHF trend since 2015 and current SNB policy rate?" audits/
swiss-efv-mcp Federal Finance Administration (EFV) Swiss federal finances (EFV): budget, debt, forecasts and spending by task and institution "How has the federal balance developed since the SNB rate turnaround in 2022, and which task areas absorbed the spending growth?" audits/
seco-labor-mcp SECO / AMSTAT SECO labour market: unemployment, vacancies, workforce indicators "Unemployment rate in Canton Zurich vs. Swiss average over the last 12 months?" audits/

🎭 Culture & Media

Server Data source Description Anchor query Status Audit
swiss-culture-mcp Federal Office of Culture (BAK) BAK cultural heritage, ISOS, living traditions, RSS "UNESCO-listed living traditions in Canton Zurich?" audit/
swiss-cultural-heritage-mcp SIK-ISEA / Swiss National Museum Heritage inventories, monument lists, archaeological registers "Listed Baudenkmäler in Zurich Kreis 6?" audits/
bakom-mcp BAKOM/OFCOM BAKOM telecommunications and media open data "Which municipalities still lack 100 Mbit/s broadband?" audits/
srgssr-mcp SRG SSR Developer Portal SRG SSR weather, video, audio, EPG, Polis "Latest SRF news segments on education policy?" audits/
news-monitor-mcp Public-media RSS feeds Aggregated news monitoring across Swiss public media RSS feeds "Top three education-policy stories in Swiss media this week?" ✅ 🧭 audits/

🏥 Health

Server Data source Description Anchor query Status Audit
bag-health-mcp Federal Office of Public Health (BAG) BAG public-health open data: indicators, programmes, statistics "Vaccination coverage by canton for the last reporting period?" audits/
bag-epl-mcp Spezialitätenliste (BAG) BAG EPL: Spezialitätenliste, medication and reimbursement data "Which medications were added to the Spezialitätenliste in the last six months?" docs/audit/

🍽️ Food Safety

Server Data source Description Anchor query Status Audit
swiss-food-safety-mcp Food Safety and Veterinary Office (BLV) BLV open data for food safety and veterinary inspections "Recent food recall notices in Switzerland?" docs/audit/

🗳️ Democracy & Transparency

Server Data source Description Anchor query Status Audit
swiss-democracy-mcp Swissvotes Parliament OData, Swissvotes, referendums, voting results "Which pending parliamentary motions concern AI in education?" audits/
parlament-mcp Swiss Parliament (Curia Vista) Swiss Federal Parliament Curia Vista OData API "Welche Vorstösse zu KI in der Schule sind hängig?" audits/
lobbywatch-mcp Lobbywatch.ch Lobbywatch.ch transparency data on parliamentarians, interests, access badges "Which education-commission members have ties to private education providers?" ✅ 🧭 audits/

🛰️ Tech Intelligence

Server Data source Description Anchor query Status Audit
hn-tech-signal-mcp Hacker News API Hacker News signal extraction for technology trend monitoring "What are this week's most-discussed AI-infrastructure topics?" ✅ 🧭 audits/

🗄️ Legacy / Superseded

Server Data source Current treatment Reason
swiss-geodata-mcp geo.admin.ch Archived on GitHub (read-only) / superseded Federal geodata coverage was consolidated into swisstopo-mcp, which serves the same geo.admin.ch/swisstopo APIs. The repository stays public and audited for reference; use swisstopo-mcp for new integrations. Superseded by swisstopo-mcp.
MCP-Server-for-patent-research- EPO OPS / Espacenet Archived on GitHub (read-only) / migration candidate Older audited patent research server with broad EPO/Swissreg scope and naming inconsistencies. Keep discoverable, but prefer swiss-ip-mcp for the current portfolio unless the old repo is renamed and aligned with the current portfolio conventions. Superseded by swiss-ip-mcp.

Architecture Principles

No-Auth-First - Phase 1 of every core server should use only open, unauthenticated endpoints. Authenticated APIs can be added later with graceful degradation.

Phase architecture - Server READMEs should distinguish Phase 1 no-auth, Phase 2 authenticated/advanced, and Phase 3 production hardening.

Dual transport - Servers should support stdio for local clients and Streamable HTTP for cloud or gateway deployment when appropriate.

Standard stack - Python servers use FastMCP, Pydantic v2, httpx, hatchling, src/ layout, pytest with @pytest.mark.live isolation, GitHub Actions CI for Python 3.11-3.13, and uvx-ready packaging where possible.

Bilingual documentation - Core servers should keep README.md and README.de.md cross-linked.

Audit-driven quality - Production-ready status requires at least one completed audit. Active server rows link directly to their audit evidence directory.


Quickstart

Each server is independently installable via uvx or pip if published. See the individual server README for exact package names and configuration.

Example: add swiss-transport-mcp to Claude Desktop:

{
  "mcpServers": {
    "swiss-transport": {
      "command": "uvx",
      "args": ["swiss-transport-mcp"]
    }
  }
}

For servers not yet on PyPI:

git clone https://github.com/malkreide/<server-name>
cd <server-name>
uv run mcp dev src/<package>/server.py

Combination Scenarios

Scenario Servers needed Example query
Macroeconomic context swiss-snb-mcp + swiss-statistics-mcp + seco-labor-mcp "CHF/EUR trend since 2015 alongside Swiss GDP, CPI, and unemployment?"
Multimodal commute planner swiss-transport-mcp + swiss-road-mobility-mcp + sbb-opendata-mcp "Train from Wädenswil to Zurich HB, then e-bike to ETH. Best option at 8:15, including punctuality history?"
School-infrastructure audit zh-education-mcp + zurich-opendata-mcp + swiss-statistics-mcp + swiss-electricity-mcp "Zurich schools without fibre, pupil load per Schulkreis, and electricity tariff exposure?"
Education-policy research global-education-mcp + fedlex-mcp + openlex-mcp + parlament-mcp + lobbywatch-mcp "How does Swiss upper secondary attainment compare to OECD, what does law require, and which parliamentary actors are involved?"
Environmental briefing swiss-environment-mcp + meteoswiss-mcp + wsl-envidat-mcp + swisstopo-mcp "Current air quality and weather in Zurich, plus geodata and WSL studies on urban heat islands?"
Health-policy loop bag-health-mcp + bag-epl-mcp + fedlex-mcp + swiss-democracy-mcp "Recent additions to the Spezialitätenliste, vaccination coverage by canton, and the legal basis for both?"
Energy siting context swiss-energy-mcp + swiss-electricity-mcp + swisstopo-mcp + swiss-statistics-mcp "Which municipalities combine high solar potential, grid tariff pressure, and population growth?"

Repository Map

All active servers should carry the GitHub topic swiss-public-data-mcp. The machine-readable inventory in portfolio.json is the canonical list.

malkreide/
├── swiss-public-data-mcp                 ← this index
├── mcp-audit-skill                       ← audit tooling, not a server
├── mcp-continuous-auditor                ← audit tooling, not a server
│
├── Transport & Mobility
│   ├── swiss-transport-mcp
│   ├── swiss-road-mobility-mcp
│   └── sbb-opendata-mcp
│
├── Energy & Infrastructure
│   ├── swiss-energy-mcp
│   └── swiss-electricity-mcp
│
├── Environment & Climate
│   ├── swiss-environment-mcp
│   ├── wsl-envidat-mcp
│   └── meteoswiss-mcp
│
├── Legal, Courts & Regulatory
│   ├── fedlex-mcp
│   ├── openlex-mcp
│   ├── swiss-courts-mcp
│   ├── register-mcp
│   ├── amtsblatt-mcp
│   ├── swiss-procurement-mcp
│   └── swiss-ip-mcp
│
├── Semantics, Metadata & Interoperability
│   ├── termdat-mcp
│   ├── i14y-mcp
│   └── lindas-mcp
│
├── Statistics & Geodata
│   ├── swiss-statistics-mcp
│   ├── zurich-opendata-mcp
│   ├── swisstopo-mcp
│   └── swiss-housing-mcp
│
├── Education & Research
│   ├── global-education-mcp
│   ├── zh-education-mcp
│   ├── swiss-academic-libraries-mcp
│   ├── eth-library-mcp
│   └── swiss-holidays-mcp
│
├── Economics & Finance
│   ├── swiss-snb-mcp
│   ├── swiss-efv-mcp
│   └── seco-labor-mcp
│
├── Culture & Media
│   ├── swiss-culture-mcp
│   ├── swiss-cultural-heritage-mcp
│   ├── bakom-mcp
│   ├── srgssr-mcp
│   └── news-monitor-mcp
│
├── Health
│   ├── bag-health-mcp
│   └── bag-epl-mcp
│
├── Food Safety
│   └── swiss-food-safety-mcp
│
├── Democracy & Transparency
│   ├── swiss-democracy-mcp
│   ├── parlament-mcp
│   └── lobbywatch-mcp
│
├── Tech Intelligence
│   └── hn-tech-signal-mcp
│
└── Legacy / Superseded
    ├── swiss-geodata-mcp                     ← 🗄️ archived on GitHub (read-only)
    └── MCP-Server-for-patent-research-       ← 🗄️ archived on GitHub (read-only)

Maintenance Roadmap

The previous roadmap items for Zurich cantonal law, Swiss courts, and deeper swisstopo geodata have moved from roadmap to inventory because openlex-mcp, swiss-courts-mcp, and swisstopo-mcp now exist.

swiss-geodata-mcp and MCP-Server-for-patent-research- were archived on GitHub and moved out of the active inventory; swisstopo-mcp and swiss-ip-mcp are their respective successors.

Current portfolio maintenance priorities:

  • Keep all linked audit directories current with report metadata, findings, and remediation notes.
  • Migrate the archived repositories' audit evidence into their successors (swisstopo-mcp, swiss-ip-mcp) so the frozen reports do not become the only record.
  • Keep every server repository carrying the required discovery topic swiss-public-data-mcp, and keep LICENSE files as unmodified licence templates so GitHub can classify them — appending notices to LICENSE silently turns a repository into NOASSERTION. Data-source notices belong in NOTICE.md.
  • Align mcp-audit-skill and all future reports with MCP spec 2025-11-25, while retaining older spec versions in report metadata where applicable.
  • Decide whether parlament-mcp remains a specialised server or is folded into swiss-democracy-mcp.
  • All data-driven README regions — the Zurich spotlight, the Server Portfolio tables and the Repository Map — are generated from portfolio.json by scripts/generate_readme.py; a CI check (--check) blocks drift, including a server that is still listed as active after its repository has been archived.

Contributing

Bug reports and feature requests are welcome on the individual server repositories. If you build a new MCP server for Swiss open data and would like it listed here, open an issue with a short description, a repository link, data-source notes, and the intended audit profile.

When changing the inventory, edit portfolio.json and run python scripts/generate_readme.py to refresh the generated README sections. CI verifies the READMEs stay in sync via python scripts/generate_readme.py --check.

See CONTRIBUTING.md for the full contribution guide and SECURITY.md for how to report vulnerabilities.


License

MIT License - see LICENSE


Author

Hayal Oezkan · github.com/malkreide

Reminder: this is a private open-source project. Affiliations mentioned in the author's other public profiles are not relevant to this repository.

Reviews (0)

No results found