MCP server wrapping all connectors as MCP tools for Zurich city information (weather, transit, parking, water temps, air quality, POIs, voting, events, venues, recycling, web search, knowledge base)
15 tools with consistent verb-noun naming (get_*, web_search). All have descriptions (avg ~100 chars, baseline 194). Input schemas present for all tools with proper JSON Schema types. However, descriptions are generic and lack LLM-optimization guidance (e.g., 'when to use instead of similar tools'). Parameter descriptions are minimal (1-2 sentences). No output schemas documented. Error handling and recovery guidance absent. No tool annotations (readOnlyHint, destructiveHint). Missing dependency hints and multi-step planning guidance.
Get current air quality measurements in Zurich (PM2.5, PM10, NO2, O3).
Get all waste collection schedules (garbage, bio, paper, cardboard, mobile recycling) for a Zurich zip code.
Get recycling collection points in Zurich (glass, metal, oil, textiles).
Get connections between two transit stations in Zurich.
Get next departures from a Zurich transit station (tram, bus, train).
Get upcoming events in and around Zurich from Eventfrog.
Get upcoming dates for mobile recycling centers in Zurich.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields without knowing response structure. Baseline: 100% of A+ tools document return types.
Descriptions lack LLM-optimization guidance. Missing 'when to use instead of similar tools' (e.g., get_pois vs get_venues both return attractions). Baseline: descriptions should answer WHAT, WHEN, and WHAT IT RETURNS.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Get current parking availability in Zurich. Shows free spaces, total capacity, and status for each parking garage.
Get points of interest in Zurich (attractions, restaurants, hotels, etc.) from OpenStreetMap.
Get venues in Zurich: restaurants, bars, cafes, hotels, attractions, museums, activities, shopping, etc. from zuerich.com.
Get Swiss/Zurich voting and referendum results since 1933.
Get waste collection schedule for a Zurich zip code (garbage, bio waste, paper, cardboard).
Get current water temperatures for swimming spots in and around Zurich (Limmat, Lake Zurich, etc.).
Get current weather forecast for Zurich. Returns temperature, conditions, wind, and humidity.
Search the web for information using SearXNG. Use this when other tools don't cover the topic.
No error handling or recovery guidance. Tools lack actionable error messages (e.g., 'Station not found. Try search_stations() first'). Agents cannot self-correct on failures.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only but lack explicit annotation. Agents cannot distinguish safe-to-retry operations from destructive ones.
Parameter descriptions are minimal (1-2 sentences). Missing format constraints, ranges, and dependency hints. E.g., 'zip_code' lacks format (5 digits?), 'limit' lacks range (1-100?), 'waste_type' lacks enum values.