SRG SSR weather, video, audio, EPG, Polis
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
π¨π Part of the Swiss Public Data MCP Portfolio
MCP server connecting AI models to SRG SSR public APIs β weather, TV/radio metadata, program guide and Swiss votations/elections since 1900 (SRF, RTS, RSI, RTR, SWI).
srgssr-mcp gives AI assistants like Claude direct access to the public APIs of SRG SSR β Switzerland's national public broadcaster. Weather forecasts, TV and radio metadata, electronic program guides, and historical democratic data (votations and elections since 1900) are all accessible through a single standardised MCP interface.
The server covers five thematic clusters: SRF Weather, Video, Audio, EPG and Polis (Swiss Democracy). Each cluster maps to a group of purpose-built tools that translate raw SRG SSR API data into clean JSON responses.
Anchor demo query: "What were the cantonal results of the popular vote on initiative X in Zurich?" β answered with historical real-time data from the Polis system, not a hallucination.
β οΈ Terms of use: SRG SSR APIs are available for non-commercial use. For commercial use, contact api@srgssr.ch directly.
Or with uvx (no permanent installation):
Or via pip:
Try it immediately in Claude Desktop:
"What will the weather be like in Zurich tomorrow?" "What's on SRF 1 tonight?" "Which popular votes took place in the canton of Bern between 2010 and 2020?"
Minimal (recommended):
Config file locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAfter saving, restart Claude Desktop completely.
Compatible with Cursor, Windsurf, VS Code + Continue, LibreChat, Cline, and self-hosted models via mcp-proxy. Set the same environment variables.
For use via claude.ai in the browser (e.g. on managed workstations without local software):
Transport, host, port and mount path are all driven by environment variables
(see srgssr_mcp.server.Settings). Valid values for SRGSSR_MCP_TRANSPORT
are stdio (default), sse, and streamable-http.
π‘ "stdio for the developer laptop, SSE for the browser."
This server exposes all three orthogonal MCP primitives:
| Primitive | Mental model | What's here |
|---|---|---|
| Tools (verbs) | Executable functions / parametrized queries | 15 tools β search, list, fetch, aggregate |
| Resources (nouns) | Cache-friendly passive data behind URIs | EPG entries and immutable votation results |
| Prompts (recipes) | Reusable workflow templates | Voting analysis & daily briefing |
Tools cover parametrized searches (year ranges, free-text, paginated listings) where every call may yield different results. Resources expose stable data points that are safe to cache: a published EPG for a given channel/date, or the final result of a closed Swiss votation. Prompts standardise recurring multi-step analyses so users don't have to phrase them from scratch.
| URI template | Description |
|---|---|
epg://{bu}/{channel_id}/{date} | Daily TV/radio program guide for SRF, RTS, RSI (e.g. epg://srf/srf-1/2026-04-30) |
votation://{votation_id} | Detailed result of a closed Swiss popular vote (e.g. votation://v1) |
EPG station ids β hyphenated, and not the same as the livestream ids:
| Business unit | TV | Radio |
|---|---|---|
| SRF | srf-1, srf-2, srf-info | srf-1, srf-2, srf-2-kultur, srf-3, srf-4, srf-musikwelle, srf-virus |
| RTS | rts-1, rts-2, rts-info | LA1ERE, ESPACE2, COULEUR3, OPTION_MUSIQUE |
| RSI | la-1, la-2 | rete-uno, rete-due, rete-tre |
| Name | Arguments | Purpose |
|---|---|---|
analyse_abstimmungsverhalten | votation_id, focus (stadt_land / sprachregionen / kantone) | Structured analysis of a Swiss popular vote |
tagesbriefing_kanton | location, channel_id, business_unit, date | Daily briefing combining weather and EPG |
This server uses snake_case for tool names, following Python ecosystem idioms. While MCP best practice favors camelCase for optimal LLM tokenization, snake_case remains acceptable and keeps tool names aligned with the underlying Python function identifiers.
All tools follow the pattern srgssr_<domain>_<action> with the namespace prefix srgssr_ and a semantically meaningful <domain>_<action> suffix (e.g. srgssr_weather_current, srgssr_polis_get_votations).
| Tool | Description | Data Source |
|---|---|---|
srgssr_weather_search_location | Search for a location by name or postal code to obtain a geolocationId | SRF Meteo |
srgssr_weather_current | Current weather conditions for a Swiss location | SRF Meteo |
srgssr_weather_forecast_24h | Hourly 24-hour forecast | SRF Meteo |
srgssr_weather_forecast_7day | Daily 7-day forecast | SRF Meteo |
| Tool | Description | Data Source |
|---|---|---|
srgssr_video_get_shows | List TV shows for a business unit (character_filter aβz/# selects one initial; omit it to fan out over all 27) | SRG SSR IL |
srgssr_video_get_episodes | Retrieve latest episodes of a show | SRG SSR IL |
srgssr_video_get_livestreams | List live TV channels | SRG SSR IL |
| Tool | Description | Data Source |
|---|---|---|
srgssr_audio_get_shows | List radio shows for one radio channel (channel_id required β the v2 API has no per-unit listing) | SRG SSR IL |
srgssr_audio_get_episodes | Retrieve audio episodes of a show | SRG SSR IL |
srgssr_audio_get_livestreams | List live radio stations | SRG SSR IL |
| Tool | Description | Data Source |
|---|---|---|
srgssr_epg_get_programs | Daily program schedule for a TV or radio channel | SRG SSR IL |
| Tool | Description | Data Source |
|---|---|---|
srgssr_polis_get_votations | Popular votes since 1900 (national or cantonal) | Polis API |
srgssr_polis_get_votation_results | Detailed results of a specific vote | Polis API |
srgssr_polis_get_elections | Election results since 1900 | Polis API |
| Code | Unit | Language |
|---|---|---|
srf | SRF (Schweizer Radio und Fernsehen) | German |
rts | RTS (Radio TΓ©lΓ©vision Suisse) | French |
rsi | RSI (Radiotelevisione svizzera) | Italian |
rtr | RTR (Radiotelevisiun Svizra Rumantscha) | Romansh |
swi | SWI swissinfo.ch | Multilingual |
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/srgssr-mcp)<a href="https://allmcps.com/mcp/srgssr-mcp"><img src="https://allmcps.com/api/badge/srgssr-mcp?style=directory" alt="Srgssr MCP on AllMCPs" /></a>