The Aareguru MCP Server provides real-time Swiss Aare river data and swimming condition analysis for AI assistants, with no authentication required.
6 Tools:
get_current_temperature– Water temperature for any monitored city (default: Bern), including Swiss German descriptions (e.g., "geil aber chli chalt"), swimming suitability, and seasonal adviceget_current_conditions– Comprehensive conditions: water temperature, flow rate, water height, weather, and 2-hour forecastget_flow_danger_level– Flow rate and BAFU safety assessment with danger levels (Safe / Moderate / Elevated / High / Very High)compare_cities– Parallel comparison of multiple cities to find warmest/safest spots (8-13x faster than sequential)get_forecasts– Batch forecasts for multiple cities concurrently: current temperature, 2-hour forecast, and trendget_historical_data– Time-series temperature and flow data over custom date ranges for trend analysis
3 Resources accessible via aareguru:// URIs (city lists, full current data, minimal current data)
3 Pre-built Prompts:
daily_swimming_report– Comprehensive daily conditions and recommendationscompare_swimming_spots– Best swimming spots across all monitored citiesweekly_trend_analysis– Temperature and flow trend analysis
Additional features: Prometheus-compatible metrics for monitoring, rate limiting (100 req/min), and multiple deployment options (FastMCP Cloud, local, Docker, cloud platforms).
Exposes a metrics endpoint for monitoring and observability, tracking tool invocation counts, execution durations, and API request health.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Aareguru MCP Serveris it safe to swim in Bern today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Aareguru MCP Server
MCP server for Swiss Aare river data, enabling AI assistants like Claude to answer questions about swimming conditions, water temperature, flow rates, and safety.
Latest Release: v4.2.0 - Service layer pattern (ADR-014) and FastMCP Cloud deployment formalization (ADR-015). All 15 ADRs now accepted. See CHANGELOG.md for details.
🚀 Quick Start
Use directly from FastMCP Cloud (no installation needed):
Add it is as custom connector in Claude Desktop:

No authentication is needed.
Altnernatively, you can add the aareguru-mcp.mcpb file via option in Claude -> Settings -> Extensions. Or edit the Claude desktop config file directly:
📸 Screenshots

🎯 Features
Feature | Description |
6 MCP Tools | Temperature, flow, safety, forecasts, history, comparisons |
3 MCP Resources | Direct data access via |
3 MCP Prompts | Daily reports, spot comparisons, weekly trends |
Rate Limiting | 100 req/min, 1000 req/hour protection against abuse |
Metrics | Prometheus endpoint for monitoring and observability |
Swiss German | Authentic temperature descriptions ("geil aber chli chalt") |
BAFU Safety | Official flow danger levels and thresholds |
Smart UX | Proactive safety warnings, alternative suggestions, seasonal context |
210 Tests | 87% coverage, comprehensive test suite |
Async-First | Context managers, parallel API fetching with asyncio.gather() |
🛠️ Tools
Tool | Description | Example Query |
| Water temperature with Swiss German text | "What's the Aare temperature?" |
| Full conditions (temp, flow, weather) | "How's the Aare looking today?" |
| Flow rate + BAFU safety assessment | "Is it safe to swim?" |
| Compare all cities (parallel fetching) | "Which city is warmest?" |
| Forecasts for multiple cities (parallel) | "Show forecasts for all cities" |
| Temperature/flow history (hourly data) | "Show last 7 days for Bern" |
BAFU Safety Thresholds
Flow Rate | Level | Status |
< 100 m³/s | Safe | Swimming OK |
100-220 m³/s | Moderate | Experienced swimmers only |
220-300 m³/s | Elevated | Caution advised |
300-430 m³/s | High | Dangerous |
> 430 m³/s | Very High | Extremely dangerous |
📊 Resources
URI | Description |
| List of all monitored cities |
| Full current data for a city |
| Minimal current data |
💬 Prompts
Prompt | Description |
| Comprehensive daily report with conditions, safety, forecast, and recommendation |
| Compare all cities to find the best swimming spot today |
| Analyze temperature and flow trends over the past week |
💻 Local Installation
Claude Desktop (Local)
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
🐳 Docker
☁️ Hosting
FastMCP Cloud (Recommended)
This server is deployed on FastMCP Cloud, a managed platform for MCP servers with zero-config deployment.
Features:
✅ Zero-Config Deployment - Connect GitHub repo, automatic deployment
✅ Serverless Scaling - Scale from 0 to millions of requests instantly
✅ Git-Native CI/CD - Auto-deploy on push to
main, branch deployments for PRs✅ Built-in Security - OAuth support, token management, secure endpoints
✅ MCP Analytics - Request/response tracking, tool usage insights
✅ Free Tier - Available for personal servers
Deployment Steps:
Sign in to fastmcp.cloud with GitHub
Create Project and link your repository
Deploy - Platform automatically clones, builds, and deploys
Access - Get your unique URL (e.g.,
https://aareguru.fastmcp.app/mcp)
Configuration:
No special configuration needed! FastMCP Cloud auto-detects FastMCP servers. The server runs with:
Health endpoint:
https://your-app.fastmcp.app/healthMCP endpoint:
https://your-app.fastmcp.app/mcp
Pricing:
Free tier for personal projects
Pay-as-you-go for teams (usage-based)
Alternative Hosting Options
FastMCP servers can be deployed to any Python-compatible cloud platform:
Container Platforms:
Google Cloud Run
AWS ECS/Fargate
Azure Container Instances
PaaS Providers:
Railway
Render
Vercel
Cloud VMs:
AWS EC2
Google Compute Engine
Azure VMs
Deployment Pattern:
Then containerize with Docker and deploy to your chosen platform.
📊 Monitoring & Observability
Prometheus Metrics
The server exposes Prometheus-compatible metrics at /metrics for monitoring:
Available Metrics:
aareguru_mcp_tool_calls_total- Counter of tool invocations by name and statusaareguru_mcp_tool_duration_seconds- Histogram of tool execution timesaareguru_mcp_api_requests_total- Counter of Aareguru API requestsaareguru_mcp_errors_total- Counter of errors by type and componentaareguru_mcp_active_requests- Gauge of currently active requests
Example:
Rate Limiting
HTTP endpoints are protected with rate limiting:
Default limits: 100 requests/minute, 1000 requests/hour
Health endpoint: 60 requests/minute
Headers: Rate limit info included in responses
429 responses: Automatic retry-after headers when limits exceeded
🧪 Development
📖 Documentation
ARCHITECTURE.md - Comprehensive architecture guide (design patterns, data flow, deployment)
DEPLOYMENT.md - FastMCP Cloud deployment guide with monitoring and troubleshooting
CHANGELOG.md - Release history and version details
CLAUDE.md - Development guide for AI assistants
specs/ADR_COMPENDIUM.md - Architecture Decision Records (15 ADRs, all accepted)
docs/ - Additional API documentation and planning
📁 Project Structure
🔒 Data Attribution
Data from BAFU, Aare.guru, MeteoSchweiz, Meteotest.
Non-commercial use only - Contact: aaregurus@existenz.ch
📄 License
MIT License - See LICENSE
Built with ❤️ for the Swiss Aare swimming community