Parlament MCP
Swiss Federal Parliament Curia Vista OData API
Connector by malkreide · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/malkreide-parlament-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.
- Tools
- 20 read · 0 write · 0 deleteRead-only
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 20
Read from the source code; the running server may list different tools.
Read 20 · Look things up without changing anything.
oparl_compare_bodiesoparl_get_affairoparl_get_affair_documentsoparl_get_personoparl_get_person_interestsoparl_get_voting_resultsoparl_get_votingsoparl_list_bodiesoparl_search_affairsoparl_search_interestsoparl_search_meetingsoparl_search_persons
Show 8 more tools
oparl_source_statusparlament_get_businessparlament_get_sessionsparlament_get_transcriptparlament_get_votesparlament_search_businessparlament_search_membersparlament_search_transcripts
Network hosts it talks to 5
api.openparldata.ch· found in codefiles.openparldata.ch· found in codegithub.com· found in codeparlament.ch· found in codews.parlament.ch· found in code
Files it touches
/home/user/parlament-mcp/audits/2026-05-30T105608-Z-parlament-mcp/home/user/parlament-mcp/audits/2026-05-30T113503-Z-parlament-mcp/home/user/parlament-mcp/audits/2026-05-30T115128-Z-parlament-mcp/tmp/mcp-audit-skill/checks
Tools (20)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
oparl_compare_bodiesEin Thema über viele Körperschaften hinweg vergleichen (Themenpräsenz). Zählt pro Körperschaft, wie viele Geschäfte zum Suchbegriff existieren, und gibt eine nach Trefferzahl sortierte Rangliste zurück – ideal, um zu sehen, wo ein Thema politisch aktiv ist. <example>search="Tagesschule", body_type="municipality" → In welchen Schweizer Städten (neben Zürich) sind Tagesschulen ebenfalls Thema?</example>
oparl_get_affairVollständige Details eines Geschäfts nach ID abrufen. <use_case>Nach einer Suche verwenden, um Langtitel, Status und – via ``expand`` – zugehörige Abstimmungen oder Personen zu erhalten.</use_case> <example>affair_id=334542, expand="votings" für ein Geschäft der Stadt Zürich samt Abstimmungen.</example>
oparl_get_affair_documentsDokumente eines Geschäfts inkl. extrahiertem PDF-Volltext abrufen. Das Feld ``text`` enthält den extrahierten Volltext – das wertvollste Feld dieses Servers. Bei Überlänge wird NICHT stillschweigend gekürzt, sondern explizit mit ``text_truncated=true`` und ``text_total_chars`` markiert. <example>affair_id=334542, include_text=true → Weisungstext zu einem Tagesschul-Umbau der Stadt Zürich im Volltext.</example>
oparl_get_personVollständiges Profil einer Person nach ID abrufen. <example>person_id=17429, expand="interests" für ein Mitglied des Kantons- rats Zürich samt Interessenbindungen.</example>
oparl_get_person_interestsInteressenbindungen einer bestimmten Person abrufen. Achtung Datenqualität: Rohdaten mit Parsing-Artefakten; ``type``, ``role_name`` und ``group`` sind häufig leer. Antwort trägt daher ``data_quality="unverified_source_data"``. <example>person_id=17429 → deklarierte Bindungen eines Zürcher Kantonsrats- mitglieds.</example>
oparl_get_voting_resultsIndividuelle Stimmen (Namensabstimmung) zu EINER Abstimmung abrufen. Skalierungs-Guardrail: Die Gesamttabelle enthält >47 Mio. Einzelstimmen – deshalb ist ``voting_id`` Pflicht und ``limit`` hart auf 500 gedeckelt. <example>voting_id=105130 → wie die einzelnen Mitglieder der Stadt Zürich abgestimmt haben (mit Fraktion und Partei).</example>
oparl_get_votingsAbstimmungen zu einem Geschäft oder einer Körperschaft abrufen. Liefert je Abstimmung die Ergebnisse (Ja/Nein/Enthaltung/Abwesend), den Entscheid sowie – wichtig zur Interpretation – die Bedeutung von Ja/Nein. Einzelstimmen liefert ``oparl_get_voting_results`` (benötigt ``voting_id``). <example>body_key="261" für Abstimmungen im Gemeinderat der Stadt Zürich, oder affair_id=334542 für die Abstimmungen zu einem konkreten Geschäft.</example>
oparl_list_bodiesKantone und Gemeindeparlamente auflisten und deren body_key ermitteln. Erster Schritt jeder Recherche: liefert die gültigen ``body_key``-Werte für alle anderen Tools. Deckt 26 Kantone und ~70 Gemeindeparlamente ab; die Bundesebene ist nicht enthalten. <example>search="Zürich" liefert u.a. '261' (Stadt Zürich, city), 'ZH' (Kanton Zürich, canton) und '230' (Winterthur, city).</example>
oparl_search_affairsParlamentarische Geschäfte/Vorstösse einer Körperschaft durchsuchen. <use_case>Politische Recherche auf Kantons-/Gemeindeebene: hängige oder erledigte Vorstösse zu einem Thema finden.</use_case> <important_notes>``search_scope='texts'`` durchsucht den PDF-Volltext (nicht nur Titel/Metadaten). Ergebnisse standardmässig neueste zuerst (``sort_by='-begin_date'``).</important_notes> <example>body_key="261", search="Tagesschule", date_from="2024-01-01" → Vorstösse zu Tagesschulen im Gemeinderat der Stadt Zürich seit 2024.</example>
oparl_search_interestsInteressenbindungen einer Körperschaft durchsuchen (Organisation → Personen). Für die Bundesebene (``body_key='CHE'``) ist stattdessen ``lobbywatch-mcp`` die geeignete Quelle (redaktionell geprüft, mit Branchen-Taxonomie). Achtung Datenqualität: Rohdaten mit Parsing-Artefakten (realer ZH-Datensatz enthält z.B. Jahreszahlen im Organisationsfeld). Antwort trägt ``data_quality="unverified_source_data"``. <example>body_key="ZH", search="Krankenkasse" → wer im Kanton Zürich eine Bindung zu einer Krankenkasse deklariert hat.</example>
oparl_search_meetingsSitzungen einer Körperschaft in einem Zeitraum finden. <example>body_key="261", date_from="2024-01-01", date_to="2024-12-31" → Sitzungen des Gemeinderats der Stadt Zürich im Jahr 2024.</example>
oparl_search_personsMandatsträger·innen einer Körperschaft suchen. <example>body_key="261", party="GLP", active=true → aktive GLP-Mitglieder im Gemeinderat der Stadt Zürich.</example>
oparl_source_statusErreichbarkeit der OpenParlData-API und Zustand des Body-Cache prüfen. Liefert Latenz, Zeitpunkt des letzten erfolgreichen Abrufs sowie Alter und Umfang des Body-Cache – nützlich zur Diagnose vor grösseren Recherchen.
parlament_get_businessVorstoss-Details abrufenread-onlyVollständige Details eines parlamentarischen Vorstosses nach Curia Vista ID abrufen. <use_case>Nach einer Suche verwenden, um vollständige Informationen inkl. Ausgangslage, Vorstosstext und Antwort des Bundesrats zu erhalten.</use_case> <important_notes>Benötigt die numerische Geschäfts-ID (aus parlament_search_business). `found=false` bei unbekannter ID.</important_notes>
parlament_get_sessionsParlamentarische Sessionen auflistenread-onlyAktuelle parlamentarische Sessionen mit Daten auflisten. <use_case>Session-IDs aus dieser Liste zum Filtern von Abstimmungen oder Transkripten verwenden.</use_case> <important_notes>Session-Namen können für sehr aktuelle Sessionen `null` sein – dann die Session-ID verwenden.</important_notes>
Show 5 more tools
parlament_get_transcriptVolltext eines Votums abrufen (Amtliches Bulletin)read-onlyDen vollen Wortlaut **eines einzelnen** Votums nach Transkript-ID abrufen. <use_case>Nach einer Suche mit parlament_search_transcripts den kompletten Wortlaut eines konkreten Votums holen – zitierfähig, mit stabiler URL.</use_case> <important_notes>Ausgabe ist gedeckelt (`max_chars`); bei Kürzung ist `is_excerpt=True` gesetzt und `note`/`next_offset` erklären, wie die Fortsetzung zu laden ist. Kein stilles Kürzen. Der Wortlaut wird nie durch eine Zusammenfassung ersetzt.</important_notes>
parlament_get_votesParlamentarische Abstimmungen abrufenread-onlyParlamentarische Abstimmungen (im Rat) mit Ja/Nein-Bedeutung abrufen. <use_case>Zeigt, wie der Rat über Themen wie KI-Regulierung, Bildungsfinanzierung oder Digitalisierungsprojekte abgestimmt hat.</use_case> <important_notes>`meaning_yes`/`meaning_no` erklären, was ein Ja/Nein im konkreten Geschäft bedeutet – wichtig zur korrekten Interpretation.</important_notes>
parlament_search_businessParlamentarische Vorstösse suchenread-onlyParlamentarische Vorstösse suchen (Motionen, Interpellationen, Postulate usw.). Durchsucht Curia Vista Geschäftsdaten von ws.parlament.ch. <use_case>Politische Recherche zu Bildungs-, Datenschutz- oder Verwaltungsthemen; hängige Vorstösse zu KI in der Bildung, Digitalisierungsinitiativen oder beliebigen Politikthemen finden.</use_case> <important_notes>Titel-Suche via OData substringof() (gross-/klein-sensitiv). Maximal 100 Treffer pro Aufruf; mit `offset` paginieren.</important_notes> <example>keyword='KI', keyword2='Schule', status='Eingereicht'</example>
parlament_search_membersRatsmitglieder suchenread-onlyNational- und Ständeräte suchen. <use_case>Alle Zürcher Ratsmitglieder ('ZH') oder Mitglieder einer bestimmten Partei finden. Synergie: mit parlament_search_business kombinieren, um Urheber von Vorstössen zu identifizieren.</use_case> <important_notes>`active_only=True` (Default) liefert nur amtierende Mitglieder. Kanton als 2-Buchstaben-Kürzel.</important_notes>
parlament_search_transcriptsDebatten-Transkripte durchsuchen (Amtliches Bulletin)read-onlyWörtliche Wortmeldungen aus den Ratsdebatten durchsuchen (Amtliches Bulletin). Liefert **kurze, zitierfähige Auszüge** (kein Volltext) mit korrekter AB-Zitation und stabiler Quell-URL. Für den Wortlaut eines einzelnen Votums danach `parlament_get_transcript(transcript_id=…)` verwenden. <use_case>«Was hat Nationalrätin X in der Frühjahrssession 2024 zur Volksschule gesagt?» – Sprecher, Session, Rat, Geschäft oder Datumsfenster kombinieren. Synergie mit fedlex-mcp: vom Gesetzestext zur Debatte.</use_case> <important_notes>Nur echte Wortmeldungen (keine Abstimmungszeilen). Der `Language`-Filte…
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 60
- Last commit
- Sep 27, 2026 (1 month ago)
- Last release
- Sep 27, 2026 (1 month ago)
- Last package publish
- Sep 27, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.malkreide/parlament-mcp- Version
- 0.4.1
- Auth
- No auth
- Packages
- pypi parlament-mcp
- License
- MIT
- Repository
- github.com/malkreide/parlament-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from malkreide
- 0.647score
Fedlex MCP
malkreide
Swiss federal law, consultations (Fedlex) & TERMDAT terminology (LINDAS) via SPARQL
ConnectorAFreshness: ALocal★ 7↓ 312/wkClaude Code +5 - 0.632score
Swisstopo MCP
malkreide
Swiss federal geodata: geocoding, height, STAC, WMTS, OEREB and more
ConnectorAFreshness: ALocal★ 11↓ 65/wkClaude Code +5 - 0.632score
Zurich Opendata MCP
malkreide
City of Zurich weather, air quality, parking, geodata, Gemeinderat, tourism
ConnectorAFreshness: ALocal★ 8↓ 76/wkClaude Code +5 - 0.621score
Swiss Transport MCP
malkreide
OJP 2.0 journey planning, SIRI-SX disruptions, occupancy, fares, train formation
ConnectorAFreshness: ALocalRead-only★ 8↓ 45/wkClaude Code +5 - 0.607score
Swiss Democracy MCP
malkreide
Swiss popular votes and elections: Swissvotes 1848+, BFS opendata.swiss, SRGSSR Polis 1900+
ConnectorAFreshness: ALocalRead-only★ 2↓ 46/wkClaude Code +5 - 0.606score
Swiss Road Mobility MCP
malkreide
GBFS shared mobility, EV charging, DATEX II traffic, Park & Rail
ConnectorAFreshness: ALocalRead-only★ 1↓ 59/wkClaude Code +5
Cite this page
Parlament MCP. Agent Mart. https://agentmart.dev/connectors/malkreide-parlament-mcp (last updated 2026-10-24)