MCP server for SRG SSR public APIs – weather, TV/radio metadata, program guide & Swiss votations/elections since 1900
SRG SSR MCP Server demonstrates solid definition quality with 15 well-structured tools across weather, video, audio, EPG, and political data domains. All tools have clear, action-verb names (srgssr_weather_search_location, srgssr_video_get_shows, etc.) that follow verb_noun convention. Descriptions are concise (30-60 chars) and state the primary action. Input schemas are present and properly typed with descriptions for all parameters. However, output schemas are not explicitly documented in the source code, the server returns structured data but the response format is not formally declared. Parameter enums (business_unit values: srf, rts, rsi, rtr, swi) are well-constrained. Error handling is minimal; no recovery guidance or classification visible. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present despite all tools being READ_ONLY. Pagination is supported on list tools (page_size parameter) but total count / next_cursor not documented in output.
Get radio episode metadata
Get radio livestream information
Get radio show metadata and listings
Get daily briefing combining weather forecast and program guide
Get Electronic Program Guide (EPG) information
Get Swiss election data since 1900
Output schemas not explicitly documented. While the server returns structured data (evident from tool names and descriptions), the response format is not formally declared in the source code provided. LLMs cannot plan downstream operations or extract specific fields without knowing the response schema.
Missing tool annotations despite all tools being READ_ONLY. The MCP protocol supports readOnlyHint, destructiveHint, and idempotentHint annotations to communicate tool safety properties. All 15 tools are explicitly marked Risk: READ_ONLY in the spec but lack formal annotations in code.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 72 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 17 | - | v1 |
Get detailed results for Swiss votations
Get Swiss votation (abstimmung) data since 1900
Get video episode metadata
Get video livestream information
Get video show metadata and listings
Get current weather conditions at a specific location
Get 24-hour weather forecast for a location
Get 7-day weather forecast for a location
Search for weather forecast locations by name
No error handling or recovery guidance visible. Tools lack descriptions that state what errors can occur, how to recover, or what to do next. For example, invalid business_unit values, network timeouts, or missing data should return actionable error messages guiding the LLM.
Pagination support exists (page_size parameter on list tools) but limit behavior and total count / next_cursor fields are not documented. Tools should state: default page_size, maximum allowed, whether results are capped, and how to fetch the next page.
Parameter constraints not fully explicit in descriptions. For example, business_unit accepts one of (srf, rts, rsi, rtr, swi) and latitude/longitude are numeric, but descriptions do not state: is business_unit case-sensitive? What are valid latitude/longitude ranges? Are they required or optional?