Skip to main content
Glama
schlpbch

Aareguru MCP Server

by schlpbch

Get Current Temperature

get_current_temperature

Check current water temperature for Swiss Aare river cities and receive Celsius reading, Swiss German condition, and swimming suitability.

Instructions

Get current water temperature for a city.

Use this for quick temperature checks and simple 'how warm is the water?' questions. Returns temperature in Celsius, Swiss German description (e.g., 'geil aber chli chalt'), and swimming suitability.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoCity identifier (e.g., 'Bern', 'Thun', 'Olten'). Use `list_cities()` to discover available locations.Bern

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv4.6.0
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / city / description
      Added value: +"City identifier (e.g., 'Bern', 'Thun', 'Olten').\n  Use `list_cities()` to discover available locations."
    • addedOutput schema / additionalProperties
      Added value: +true
    • removedOutput schema / description
      Removed value: -"Response model for get_current_temperature tool."
    • removedOutput schema / properties
      Removed value: -{
      -  "city": {
      -    "description": "City identifier",
      -    "type": "string"
      -  },
      -  "longname": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "description": "Full location name"
      -  },
      -  "name": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "description": "Location name"
      -  },
      -  "seasonal_advice": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "description": "Season-specific swimming guidance"
      -  },
      -  "suggestion": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "description": "Swimming recommendation based on temperature"
      -  },
      -  "swiss_german_explanation": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "description": "English translation of Swiss German phrase"
      -  },
      -  "temperature": {
      -    "anyOf": [
      -      {
      -        "type": "number"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "description": "Water temperature in Celsius"
      -  },
      -  "temperature_prec": {
      -    "anyOf": [
      -      {
      -        "type": "number"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "description": "Precise temperature value"
      -  },
      -  "temperature_text": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "description": "Swiss German description"
      -  },
      -  "temperature_text_short": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "description": "Short temperature description"
      -  },
      -  "warning": {
      -    "anyOf": [
      -      {
      -        "type": "string"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "default": null,
      -    "description": "Safety warning if flow is dangerous"
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "city"
      -]
  2. First observedv3.3.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. It discloses the response contents (temperature in Celsius, Swiss German description, and swimming suitability), which are not otherwise visible. It doesn't mention data freshness or error behavior, but for a simple read tool this is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, with the core action front-loaded. The example Swiss German description adds useful concreteness without bloat. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with an output schema, the description covers purpose, usage context, and return semantics. The schema covers parameter details, so nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers the single parameter fully, including the default value and how to discover available cities. The description adds little beyond 'for a city,' so the baseline of 3 is appropriate given the 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Get current water temperature for a city.' It differentiates this from siblings like get_flow_danger_level or get_current_conditions by focusing specifically on water temperature and quick checks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use it for 'quick temperature checks' and simple water-warmth questions, providing clear context for when it is appropriate. It doesn't explicitly name alternatives or exclusions, but the stated use case is distinct enough among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.