malkreide avatar

Parlament Mcp

malkreide/parlament-mcp

Connects Claude to the Swiss Federal Parliament's Curia Vista OData API with no authentication required. You get six tools covering the full legislative workflow: search motions and interpellations by keyword and status, pull full business details including Federal Council responses, query votes with yes/no breakdowns, list councillors by canton or party, retrieve session metadata, and fetch debate transcripts from the Amtliches Bulletin. Designed for policy researchers and civic tech builders who need programmatic access to parliamentary data going back to 1978. Read-only by design, returns structured responses with provenance metadata, and pairs well with the fedlex-mcp server when you need to cross-reference legislation with the debates that created it.

GitHub stars
2
tools
7
transport
STDIO
last updated
Sep 27, 2026

Tools

7 tools

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

parlament_search_businessSearch Vorstösse by keyword, type, status, council, date

Search Vorstösse by keyword, type, status, council, date

No parameter schema in public metadata yet.

parlament_get_businessFull details of a single business (texts, FC response)

Full details of a single business (texts, FC response)

No parameter schema in public metadata yet.

parlament_search_membersFind councillors by canton (e.g. ZH), party, council

Find councillors by canton (e.g. ZH), party, council

No parameter schema in public metadata yet.

parlament_get_votesParliamentary votes with Ja/Nein meaning

Parliamentary votes with Ja/Nein meaning

No parameter schema in public metadata yet.

parlament_get_sessionsList recent sessions with IDs for follow-up queries

List recent sessions with IDs for follow-up queries

No parameter schema in public metadata yet.

parlament_search_transcriptsSearch debate transcripts → citable excerpts with AB citation + source URL (speaker / session / business / date filters)

Search debate transcripts → citable excerpts with AB citation + source URL (speaker / session / business / date filters)

No parameter schema in public metadata yet.

parlament_get_transcriptFetch the verbatim full text of a single speech by ID (capped, paginated, is_excerpt flagged)

Fetch the verbatim full text of a single speech by ID (capped, paginated, is_excerpt flagged)

No parameter schema in public metadata yet.

Sponsors

Readme

🇩🇪 Deutsche Version

🏛️ parlament-mcp

CI PyPI version License: MIT Swiss Public Data MCP Portfolio

Part of the Swiss Public Data MCP Portfolio – connecting AI models to Swiss public data sources.

Note: This server covers the federal level (Curia Vista). This repo additionally hosts a self-contained subproject under openparldata-mcp/ — the subnational counterpart for the 26 cantons and ~70 municipal parliaments (OpenParlData.ch). The two are independent servers.


View the full README on GitHub

Details

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

More from malkreide