Skip to content
Agentmart
Submit a tool

Parlament MCP

Swiss Federal Parliament Curia Vista OData API

Connector by malkreide · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 2
Write a review

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.

We use your email only for this newsletter. Privacy

About

Swiss Federal Parliament Curia Vista OData API

No 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_bodies
  • oparl_get_affair
  • oparl_get_affair_documents
  • oparl_get_person
  • oparl_get_person_interests
  • oparl_get_voting_results
  • oparl_get_votings
  • oparl_list_bodies
  • oparl_search_affairs
  • oparl_search_interests
  • oparl_search_meetings
  • oparl_search_persons
Show 8 more tools
  • oparl_source_status
  • parlament_get_business
  • parlament_get_sessions
  • parlament_get_transcript
  • parlament_get_votes
  • parlament_search_business
  • parlament_search_members
  • parlament_search_transcripts

Network hosts it talks to 5

  • api.openparldata.ch · found in code
  • files.openparldata.ch · found in code
  • github.com · found in code
  • parlament.ch · found in code
  • ws.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_bodies

    Ein 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_affair

    Vollstä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_documents

    Dokumente 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_person

    Vollstä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_interests

    Interessenbindungen 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_results

    Individuelle 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_votings

    Abstimmungen 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_bodies

    Kantone 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_affairs

    Parlamentarische 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_interests

    Interessenbindungen 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_meetings

    Sitzungen 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_persons

    Mandatsträ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_status

    Erreichbarkeit 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-only

    Vollstä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-only

    Aktuelle 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-only

    Den 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-only

    Parlamentarische 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-only

    Parlamentarische 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-only

    National- 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-only

    Wö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
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from malkreide

Cite this page

Parlament MCP. Agent Mart. https://agentmart.dev/connectors/malkreide-parlament-mcp (last updated 2026-10-24)