Skip to main content
Glama

mygn & rundown.city – Events Hamburg, München, Oldenburg, San Francisco

Day overview

get_day_overview
Read-onlyIdempotent

How busy one day is in a hub of mygn.de (Hamburg, München, Oldenburg + Umland) and rundown.city (San Francisco): events per category, free and verified-location counts, whether the day is quiet, normal or busy against the same kind of day in the next 14 days (unknown further out) and top_curated, our editorial picks (occurrence_id, title, starts_at; empty while nothing is rated). An event counts once per day. Pass when (today, tonight, tomorrow) or date; time_from counts only events starting at or after it (busyness stays day-level). Use it for 'is there a lot on this Saturday' before search_events.

Input Schema

NameRequiredDescriptionDefault
hubYesHub (city): one of hamburg, muenchen, oldenburg, san-francisco; names and abbreviations work too ('Munich', 'MUC', 'HH', 'OL', 'SF', 'SFO', 'Bay Area'), any case.
dateNoThe day in the hub's own calendar, YYYY-MM-DD. Required unless when is given.
whenNotoday, tonight (today from 18:00 unless time_from is given), tomorrow, in the hub's local calendar; echoed as resolved. Replaces date (naming both is an error).
verboseNotrue adds the internal fields (curation score and flags, signals, series_kind, kind, long_running) that are left out by default.
time_fromNoCount only events that start at or after this time of day, HH:MM in the hub's local time (24 hours), for 'tonight'. Events without a known start time (all_day, time_unknown) are not counted.

Output Schema

NameRequiredDescriptionDefault
hubYes
dateYes
totalYes
busynessYes
resolvedNo
free_countYes
by_categoryYes
top_curatedYes
busyness_ratioYes
verified_countYes
long_running_countNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed42 schema fields changed
    • changedInput schema / properties / date / description
      Previous value: -"The day in the hub's own calendar, YYYY-MM-DD."New value: +"The day in the hub's own calendar, YYYY-MM-DD. Required unless when is given."
    • removedInput schema / properties / date / title
      Removed value: -"Date"
    • changedInput schema / properties / hub / description
      Previous value: -"Hub (city): one of hamburg, muenchen, oldenburg, san-francisco. Case-insensitive; names and abbreviations are accepted too, for example 'Hamburg', 'HH', 'München', 'Munich', 'Muenchen', 'MUC', 'Oldenburg', 'OL', 'Oldenburg (Oldb)', 'SF', 'SFO', 'San Fran' or 'San Francisco'. Results report the slug."New value: +"Hub (city): one of hamburg, muenchen, oldenburg, san-francisco; names and abbreviations work too ('Munich', 'MUC', 'HH', 'OL', 'SF', 'SFO', 'Bay Area'), any case."
    • removedInput schema / properties / hub / examples
      Removed value: -[
      -  "hamburg",
      -  "muenchen",
      -  "san-francisco"
      -]
    • removedInput schema / properties / hub / title
      Removed value: -"Hub"
    • removedInput schema / properties / time_from / anyOf
      Removed value: -[
      -  {
      -    "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / time_from / default
      Removed value: -null
    • changedInput schema / properties / time_from / description
      Previous value: -"Count only events that start at or after this time of day, HH:MM in the hub's local time (24 hours), for example '17:00' for tonight. Events without a known start time (all_day, time_unknown) are then not counted; busyness still compares the whole day."New value: +"Count only events that start at or after this time of day, HH:MM in the hub's local time (24 hours), for 'tonight'. Events without a known start time (all_day, time_unknown) are not counted."
    • removedInput schema / properties / time_from / examples
      Removed value: -[
      -  "17:00"
      -]
    • addedInput schema / properties / time_from / pattern
      Added value: +"^([01][0-9]|2[0-3]):[0-5][0-9]$"
    • removedInput schema / properties / time_from / title
      Removed value: -"Time From"
    • addedInput schema / properties / time_from / type
      Added value: +"string"
    • removedInput schema / properties / verbose / title
      Removed value: -"Verbose"
    • addedInput schema / properties / when
      Added value: +{
      +  "description": "today, tonight (today from 18:00 unless time_from is given), tomorrow, in the hub's local calendar; echoed as resolved. Replaces date (naming both is an error).",
      +  "enum": [
      +    "today",
      +    "tonight",
      +    "tomorrow"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "hub",
      -  "date"
      -]New value: +[
      +  "hub"
      +]
    • removedInput schema / title
      Removed value: -"get_day_overviewArguments"
    • removedOutput schema / $defs / Curation / description
      Removed value: -"The compact curation verdict of one event (docs/specs/event-curation.md)."
    • removedOutput schema / $defs / Curation / properties / flags / title
      Removed value: -"Flags"
    • removedOutput schema / $defs / Curation / properties / one_off / title
      Removed value: -"One Off"
    • removedOutput schema / $defs / Curation / properties / score / title
      Removed value: -"Score"
    • removedOutput schema / $defs / Curation / title
      Removed value: -"Curation"
    • addedOutput schema / $defs / Resolved
      Added value: +{
      +  "properties": {
      +    "date_from": {
      +      "type": "string"
      +    },
      +    "date_to": {
      +      "type": "string"
      +    },
      +    "time_from": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "when": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "when",
      +    "date_from",
      +    "date_to",
      +    "time_from"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / $defs / TopCurated / description
      Removed value: -"One pre-ranked highlight of a day."
    • removedOutput schema / $defs / TopCurated / properties / occurrence_id / title
      Removed value: -"Occurrence Id"
    • removedOutput schema / $defs / TopCurated / properties / starts_at / title
      Removed value: -"Starts At"
    • removedOutput schema / $defs / TopCurated / properties / title / title
      Removed value: -"Title"
    • removedOutput schema / $defs / TopCurated / title
      Removed value: -"TopCurated"
    • removedOutput schema / description
      Removed value: -"What ``get_day_overview`` returns."
    • removedOutput schema / properties / busyness / title
      Removed value: -"Busyness"
    • removedOutput schema / properties / busyness_ratio / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / busyness_ratio / title
      Removed value: -"Busyness Ratio"
    • addedOutput schema / properties / busyness_ratio / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / by_category / title
      Removed value: -"By Category"
    • removedOutput schema / properties / date / title
      Removed value: -"Date"
    • removedOutput schema / properties / free_count / title
      Removed value: -"Free Count"
    • removedOutput schema / properties / hub / title
      Removed value: -"Hub"
    • removedOutput schema / properties / long_running_count / title
      Removed value: -"Long Running Count"
    • addedOutput schema / properties / resolved
      Added value: +{
      +  "$ref": "#/$defs/Resolved"
      +}
    • removedOutput schema / properties / top_curated / title
      Removed value: -"Top Curated"
    • removedOutput schema / properties / total / title
      Removed value: -"Total"
    • removedOutput schema / properties / verified_count / title
      Removed value: -"Verified Count"
    • removedOutput schema / title
      Removed value: -"DayOverview"
  2. Changed1 schema field changed
    • addedInput schema / properties / time_from
      Added value: +{
      +  "anyOf": [
      +    {
      +      "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Count only events that start at or after this time of day, HH:MM in the hub's local time (24 hours), for example '17:00' for tonight. Events without a known start time (all_day, time_unknown) are then not counted; busyness still compares the whole day.",
      +  "examples": [
      +    "17:00"
      +  ],
      +  "title": "Time From"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the description correctly spends its space on semantics instead: busyness is only comparable against the next 14 days and unknown further out, top_curated is empty while nothing is rated, and an event counts once per day. It also warns that time_from narrows counts but leaves the busyness verdict at day level, which is exactly the kind of side-effect disclosure an agent needs.

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

Conciseness4/5

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

Front-loaded with the core purpose, then outputs, then counting rule, then parameter guidance, with essentially no filler. The first sentence is long and parenthesis-heavy, which costs some scannability, but every clause carries information.

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?

With an output schema present the description needn't enumerate return fields, and it still flags the two non-obvious output states (unknown beyond 14 days, empty top_curated). All five parameters are covered by the schema plus description, and the sibling relationship is resolved, leaving nothing an agent needs missing.

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

Parameters4/5

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

Schema coverage is 100% and the schema already explains hub aliases, date format, when's enum and time_from's regex, so the description builds on a strong base rather than repeating it. It adds genuine meaning by clarifying that time_from does not alter the busyness classification and by naming the fields returned in top_curated (occurrence_id, title, starts_at).

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?

States a specific resource and scope: a per-day busyness overview for a named hub, returning events per category, free/verified-location counts, a quiet/normal/busy verdict, and top_curated picks. An agent can distinguish it from get_event and search_events purely from the text, since it is clearly an aggregate day-summary rather than a single-event or query tool.

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

Usage Guidelines5/5

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

Gives an explicit trigger ('is there a lot on this Saturday') and an explicit ordering rule against a sibling: 'before search_events'. It also states the choice between when (today/tonight/tomorrow) and date, so the agent knows which params to reach for in which situation.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources