Aare.guru MCP Server
# Aare.guru MCP Server
A Model Context Protocol (MCP) server that provides access to the Aare.guru API for getting water temperature and swimming conditions of the Aare river in Switzerland.
## Features
This MCP server provides the following tools:
- **get_cities**: Get list of all available monitoring locations
- **get_current_conditions**: Get comprehensive current data (temperature, flow, forecasts) for a specific location
- **get_today_summary**: Get minimal current temperature and swimming recommendation
- **get_widget_data**: Get current data for all locations at once
- **get_historical_data**: Get historical time series data for temperature, flow, and air temperature
## Requirements
- Node.js 18 or newer
## Installation
### Using npx (Recommended)
```bash
npx aareguru-mcp
```
### Global Installation
```bash
npm install -g aareguru-mcp
aareguru-mcp
```
### Local Development
```bash
git clone <repository-url>
cd aareguru-mcp
npm install
npm start
```
## Usage with Claude Desktop
Add the following to your Claude Desktop MCP configuration:
```json
{
"mcpServers": {
"aareguru": {
"command": "npx",
"args": ["aareguru-mcp"]
}
}
}
```
Or if installed globally:
```json
{
"mcpServers": {
"aareguru": {
"command": "aareguru-mcp"
}
}
}
```
## Available Tools
### get_cities
Get a list of all available monitoring locations along the Aare river.
**Parameters:** None required
- `app` (optional): App identifier
- `version` (optional): Version number
- `values` (optional): Specific values to extract
### get_current_conditions
Get comprehensive current conditions for a specific location.
**Parameters:**
- `city` (optional, default: "bern"): Location identifier (e.g., "bern", "thun")
- `app` (optional): App identifier
- `version` (optional): Version number
- `values` (optional): Specific values to extract
### get_today_summary
Get a minimal summary with current temperature and swimming recommendation.
**Parameters:**
- `city` (optional, default: "bern"): Location identifier
- `app` (optional): App identifier
- `version` (optional): Version number
- `values` (optional): Specific values to extract
### get_widget_data
Get current data for all locations simultaneously.
**Parameters:**
- `app` (optional): App identifier
- `version` (optional): Version number
- `values` (optional): Specific values to extract
### get_historical_data
Get historical time series data for water temperature, flow, and air temperature.
**Parameters:** (all required)
- `city`: Location identifier
- `start`: Start date/time (ISO format, timestamp, "yesterday", "-1 day", etc.)
- `end`: End date/time (ISO format, timestamp, "now", etc.)
- `app` (optional): App identifier
- `version` (optional): Version number
- `values` (optional): Specific values to extract
## Example Queries
Once connected to Claude Desktop, you can ask questions like:
- "What's the current water temperature in Bern?"
- "Show me all available Aare monitoring locations"
- "Get the historical data for Thun from last week"
- "What are the current swimming conditions across all locations?"
## API Data
This server connects to the Aare.guru API (https://aare.guru), which provides:
- Current water temperature
- Water flow/discharge rates
- Air temperature
- Swimming recommendations and "Sprüche" (sayings)
- Weather forecasts
- Historical data
- Multiple monitoring locations along the Aare river
## License
GNU General Public License v3.0
## Credits
Data provided by [Aare.guru](https://aare.guru) and the [BAFU](https://www.bafu.admin.ch). The API is intended for non-commercial public use only.
This MCP server is not officially affiliated with Aare.guru but uses their public API in accordance with its terms of service.
TDQS
Scored across 5 tools
Tools are largely distinct: get_cities lists locations, get_current_conditions provides comprehensive data for one location, get_today_summary offers a minimal subset (temp + swim recommendation), get_historical_data gives time series, and get_widget_data aggregates current data for all locations. Slight overlap between current conditions and today summary, but descriptions clarify the difference.
All tool names consistently use the get_ prefix with snake_case and follow a clear verb_noun pattern (e.g., get_cities, get_current_conditions). The naming is uniform and predictable.
With 5 tools covering city listing, two levels of current data, historical data, and aggregated data, the set is well-scoped for the domain of Aare river data access. The number is appropriate and not excessive.
The tool set provides complete coverage for a read-only data API: city enumeration, current conditions (both comprehensive and minimal), historical time series, and batch data for dashboards. There are no obvious gaps, as the domain does not require create, update, or delete operations.