Skip to content
Agentmart
Submit a tool

Swiss Democracy MCP

Swiss popular votes and elections: Swissvotes 1848+, BFS opendata.swiss, SRGSSR Polis 1900+

Connector by malkreide · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 2
Write a review

Chalk Labs

Need help deploying Swiss Democracy MCP?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

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-swiss-democracy-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 popular votes and elections: Swissvotes 1848+, BFS opendata.swiss, SRGSSR Polis 1900+

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
10 read · 0 write · 0 deleteRead-only
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 10

Read from the source code; the running server may list different tools.

Read 10 · Look things up without changing anything.

  • democracy_bfs_get_vote_results
  • democracy_bfs_list_vote_dates
  • democracy_get_cantonal_results
  • democracy_get_party_positions
  • democracy_get_vote_detail
  • democracy_list_vote_dates
  • democracy_polis_get_votation_detail
  • democracy_polis_list_elections
  • democracy_polis_list_votations
  • democracy_search_votes

Network hosts it talks to 7

  • 169.254.169.254 · found in code
  • api.srgssr.ch · found in code
  • bfs.admin.ch · found in code
  • developer.srgssr.ch · found in code
  • github.com · found in code
  • opendata.swiss · found in code
  • swissvotes.ch · found in code

Files it touches

  • /tmp/mcp-audit-skill/checks

Tools (10)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • democracy_bfs_get_vote_resultsBFS-Abstimmungsresultate (opendata.swiss)read-only

    Ruft Echtzeit- oder Archiv-Abstimmungsresultate vom BFS ab. <use_case>Resultate auf Gemeinde-/Kantons-/Bundesebene, v.a. am Abstimmungssonntag.</use_case> Nutzt die direkte JSON-URL eines Abstimmungsdatums (aus democracy_bfs_list_vote_dates). Gibt Resultate pro Vorlage auf nationaler, kantonaler oder Gemeindeebene zurück. Am Abstimmungssonntag werden die Daten laufend aktualisiert. Args: params (BfsVoteResultInput): Enthält: - result_url (str): URL aus democracy_bfs_list_vote_dates - level (str): 'national', 'cantonal' oder 'municipality' Returns: str: JSON mit Abst…

  • democracy_bfs_list_vote_datesBFS-Abstimmungsdaten (opendata.swiss)read-only

    Listet alle verfügbaren eidgenössischen Abstimmungsdaten im BFS-Echtzeit-Webservice auf. <use_case>Einstieg in BFS-Echtzeit-/Archivdaten; liefert die Ressourcen-URLs für democracy_bfs_get_vote_results.</use_case> Die Daten werden am Abstimmungssonntag ab 12:00 Uhr laufend aktualisiert. Das Archiv enthält eidgenössische Abstimmungen seit 1981. Returns: str: JSON mit verfügbaren Abstimmungsdaten und deren Ressource-URLs

  • democracy_get_cantonal_resultsKantonsresultate zu einer Abstimmung (Swissvotes)read-only

    Gibt die Abstimmungsresultate aller 26 Kantone für eine eidgenössische Volksabstimmung zurück. <use_case>Kantonsvergleich und Ständemehr-Analyse zu einer Vorlage.</use_case> Inkl. Stimmberechtigte, abgegebene Stimmen, gültige Stimmen, Ja- und Nein-Stimmen, Ja-Prozent und ob der Kanton angenommen hat (für Ständemehr-Zählung). Args: params (VoteDetailInput): Enthält: - vote_number (str): Abstimmungsnummer (anr) Returns: str: JSON mit kantonalen Resultaten (26 Kantone), nationalem Total und Stimmenmehr/Ständemehr-Übersicht

  • democracy_get_party_positionsParteiparolen zu einer Abstimmung (Swissvotes)read-only

    Gibt die Parteiparolen der grossen Schweizer Parteien zu einer Volksabstimmung zurück. <use_case>Analyse von Parteilinien und Kampagnen-Finanzierung zu einer Vorlage.</use_case> Dekodiert die numerischen Parolen-Codes aus Swissvotes in lesbare Labels: 1=Ja, 2=Nein, 3=Stimmfreigabe, 4=Nein zum Gegenentwurf, 5=Ja zum Gegenentwurf, 66=Keine Parole gefasst, 9=Unbekannt. Args: params (VoteDetailInput): Enthält: - vote_number (str): Abstimmungsnummer (anr) Returns: str: JSON mit Parteiparolen und Links zu Ja-/Nein-Komitees

  • democracy_get_vote_detailAbstimmungsdetails (Swissvotes)read-only

    Gibt vollständige Details zu einer eidgenössischen Volksabstimmung zurück. <use_case>Vertiefung zu einer konkreten Vorlage (Parlamentsempfehlungen, Resultat, Beteiligung).</use_case> Inkl. offiziellem Titel, Rechtsform, Parlamentsempfehlungen (NR, SR, Bundesrat), Abstimmungsresultat (national und kantonal), Beteiligung, Finanzierungsdaten und Link zur Swissvotes-Seite. Args: params (VoteDetailInput): Enthält: - vote_number (str): Abstimmungsnummer (anr) aus democracy_search_votes Returns: str: JSON mit vollständigen Vote-Details oder Fehlermeldung

  • democracy_list_vote_datesAbstimmungsdaten auflisten (Swissvotes)read-only

    Listet alle eidgenössischen Abstimmungsdaten auf, an denen Vorlagen zur Abstimmung kamen. <use_case>Orientierung/Navigation vor einer Detailabfrage.</use_case> Gibt für jedes Datum die Anzahl Vorlagen zurück. Nützlich zur Orientierung vor einer Detailabfrage. Args: params (ListDatesInput): Optionaler Zeitraumfilter (year_from, year_to) Returns: str: JSON mit Liste von Abstimmungsdaten und Anzahl Vorlagen pro Datum

  • democracy_polis_get_votation_detailPolis – Abstimmungsdetail mit Gemeinderesultaten (SRGSSR)read-only

    Gibt detaillierte Polis-Daten zu einer Volksabstimmung zurück. <use_case>Gemeindescharfe Detailanalyse einer historischen Abstimmung.</use_case> Optional mit Gemeinde-Resultaten – ideal für Fragen wie «Wie hat die Stadt Zürich bei der AHV-Reform abgestimmt?». Benötigt SRGSSR_CONSUMER_KEY und SRGSSR_CONSUMER_SECRET. Args: params (PolisVotationDetailInput): Enthält: - votation_id (str): Polis-ID aus democracy_polis_list_votations - lang (str): Ausgabesprache - include_municipalities (bool): Gemeinderesultate einschliessen Returns: str: JSON mit Polis-Abstimmun…

  • democracy_polis_list_electionsPolis – Wahlen seit 1900 (SRGSSR, API-Key nötig)read-only

    Ruft historische Wahlen (National-/Ständerat, Regierungsrat) aus Polis ab. <use_case>Wahlanalysen (Kandidierende, Parteistimmen) seit 1900.</use_case> Polis enthält Wahlresultate seit 1900, inkl. Kandidatinnen- und Parteistimmen. Benötigt SRGSSR_CONSUMER_KEY und SRGSSR_CONSUMER_SECRET. Args: params (PolisElectionInput): Enthält: - year_from/year_to (int): Zeitraumfilter - lang (str): Ausgabesprache - limit (int): Max. Resultate Returns: str: JSON mit Wahlliste oder Hinweis zur Registrierung

  • democracy_polis_list_votationsPolis – Volksabstimmungen seit 1900 (SRGSSR, API-Key nötig)read-only

    Ruft historische Volksabstimmungen aus dem SRGSSR Polis-System ab (seit 1900). <use_case>Historische Analysen mit Gemeinde-Granularität.</use_case> Polis enthält Resultate auf Gemeinde-Ebene, was für historische Analysen besonders wertvoll ist. Benötigt SRGSSR_CONSUMER_KEY und SRGSSR_CONSUMER_SECRET. Args: params (PolisListInput): Enthält: - year_from/year_to (int): Zeitraumfilter - lang (str): Sprache ('de', 'fr', 'it', 'rm', 'en') - limit/offset (int): Pagination Returns: str: JSON mit Polis-Abstimmungsliste oder Hinweis zur Registrierung

  • democracy_search_votesVolksabstimmungen suchen (Swissvotes)read-only

    Durchsucht alle eidgenössischen Volksabstimmungen seit 1848 (Swissvotes-Datenbank). <use_case>Politische/journalistische Recherche: Vorlagen nach Thema, Zeitraum oder Ergebnis finden.</use_case> Filtert nach Stichwort, Zeitraum, Rechtsform, Ergebnis und Politikbereich. Gibt Titel, Datum, Rechtsform, Ja-Anteil, Beteiligung und Bundesratsempfehlung zurück. Args: params (VoteSearchInput): Suchparameter mit optionalen Feldern: - keyword (str): Freitextsuche im Titel (DE/EN) - year_from/year_to (int): Zeitraumfilter - legal_form (str): 'initiative', 'obligatorisch', '…

Signals

Stars
2
Forks
0
Open issues
0
Weekly downloads
46
Last commit
Sep 26, 2026 (1 month ago)
Last release
Sep 26, 2026 (1 month ago)
Last package publish
Sep 26, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.malkreide/swiss-democracy-mcp
Version
0.3.0
Auth
No auth
Packages
pypi swiss-democracy-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from malkreide

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get Swiss Democracy MCP running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Swiss Democracy MCP?

CallGet help
Cite this page

Swiss Democracy MCP. Agent Mart. https://agentmart.dev/connectors/malkreide-swiss-democracy-mcp (last updated 2026-10-24)