malkreide avatar

Swiss Democracy Mcp

malkreide/swiss-democracy-mcp

Connects Claude to Switzerland's complete direct democracy archive via three data sources: Swissvotes (all federal votes since 1848 with party positions and cantonal breakdowns), BFS real-time referendum results at municipality level, and SRGSSR Polis for historical elections back to 1900. Ships with ten read-only tools covering vote search, detailed results, party recommendations, and geographic drill-downs. No authentication required for Swissvotes and BFS endpoints, optional OAuth for Polis. Caches the full Swissvotes dataset locally for 24 hours. Useful for political analysis, tracking referendum outcomes by canton, correlating party positions with vote results, or building historical timelines of Swiss federal proposals. Part of a larger Swiss public data MCP portfolio designed to combine with demographic and municipal statistics servers.

GitHub stars
2
tools
10
transport
STDIO
last updated
Sep 26, 2026

Tools

10 tools

Public tool metadata for what this MCP can expose to an agent.

democracy_search_votesSearch all federal popular votes since 1848 by keyword, date range, legal form, outcome, policy domain

Search all federal popular votes since 1848 by keyword, date range, legal form, outcome, policy domain

No parameter schema in public metadata yet.

democracy_get_vote_detailFull details for a specific vote: official title, parliamentary positions, national result, signatures

Full details for a specific vote: official title, parliamentary positions, national result, signatures

No parameter schema in public metadata yet.

democracy_get_party_positionsParty recommendations (FDP, SP, SVP, Die Mitte, GPS, GLP, …) with campaign finance data

Party recommendations (FDP, SP, SVP, Die Mitte, GPS, GLP, …) with campaign finance data

No parameter schema in public metadata yet.

democracy_get_cantonal_resultsResults for all 26 cantons: yes%, turnout, accepted flag

Results for all 26 cantons: yes%, turnout, accepted flag

No parameter schema in public metadata yet.

democracy_list_vote_datesList all voting dates with number of proposals per date

List all voting dates with number of proposals per date

No parameter schema in public metadata yet.

democracy_bfs_list_vote_datesList all BFS voting dates (archive + current)

List all BFS voting dates (archive + current)

No parameter schema in public metadata yet.

democracy_bfs_get_vote_resultsReal-time or archived results at national, cantonal, or municipality level

Real-time or archived results at national, cantonal, or municipality level

No parameter schema in public metadata yet.

democracy_polis_list_votationsHistorical votations since 1900 with municipality-level data

Historical votations since 1900 with municipality-level data

No parameter schema in public metadata yet.

democracy_polis_get_votation_detailFull Polis detail, optionally with all municipality results

Full Polis detail, optionally with all municipality results

No parameter schema in public metadata yet.

democracy_polis_list_electionsNational Council, Council of States, and cantonal elections since 1900

National Council, Council of States, and cantonal elections since 1900

No parameter schema in public metadata yet.

Sponsors

Readme

πŸ—³οΈ swiss-democracy-mcp

CI PyPI Python License: MIT MCP Swiss Public Data MCP

πŸ‡¨πŸ‡­ Part of the Swiss Public Data MCP Portfolio β€” connecting AI models to Swiss institutional data sources.

🌐 English | πŸ‡©πŸ‡ͺ Deutsche Version

An MCP server providing access to Swiss direct democracy data, covering all federal popular votes since 1848 and elections since 1900.


View the full README on GitHub

Details

Repository
github.com/malkreide/swiss-democracy-mcp
Website
github.com/malkreide/swiss-democracy-mcp
Package
swiss-democracy-mcp
Transport
STDIO
Registry
MCP registry, active

More from malkreide