Skip to main content
Glama

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

Server Details

Events & things to do in Hamburg, Munich, Oldenburg, San Francisco: tonight, weekend, free, family.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.5/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly separate role: list_hubs and list_categories are metadata lookups, search_events is discovery, get_event is detail-by-id, and get_day_overview is a day-level aggregate. The descriptions explicitly disambiguate the one risky pair (day overview vs. search) by telling the agent to use get_day_overview for 'is there a lot on' before calling search_events.

Naming Consistency5/5

All five names follow a strict verb_noun snake_case pattern: get_day_overview, get_event, list_categories, list_hubs, search_events. Verbs are used consistently (list_ for enumerations, get_ for single records, search_ for queries).

Tool Count4/5

Five tools is a lean but coherent surface for a read-only events API, with no redundant entries. It is on the thin side of the ideal 3-15 range, leaving no room for convenience operations, but nothing feels padded or vestigial.

Completeness4/5

The discovery lifecycle is covered end to end: hubs, categories, search with filters, event detail with sibling dates, and a day-busyness aggregate. Minor gaps exist — no venue-centric lookup or cross-hub comparison helper — but agents can work around these using the hub and category parameters.

Available Tools

5 tools
get_day_overviewDay overviewA
Read-onlyIdempotent
Inspect

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.

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

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

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.

get_eventGet event detailsA
Read-onlyIdempotent
Inspect

The full record of one event occurrence (occurrence_id from search_events) in a hub of mygn.de (Hamburg, München, Oldenburg + Umland) and rundown.city (San Francisco): summary, start and end, venue with address and coordinates, price_text and price_known (false: price not known, do not assume free), age_min, audience, url (the organiser's page, for tickets and opening details), the link to this event's own page on our site or, without one, our hub page (share_url), brand, attribution_url (the hub page to cite as the source) and the next 20 other dates (siblings; siblings_truncated true when there are more). Internal fields (signals, series_kind, kind, title_override) only with verbose true. all_day true: spans the whole day. time_unknown true: starts_at is only a date anchor, never show 00:00. series_continues true: the listed dates stop only where our look-ahead stops, so it likely runs on; never say it ends after the last listed date.

NameRequiredDescriptionDefault
verboseNotrue adds the internal fields (curation score and flags, signals, series_kind, kind, long_running) that are left out by default.
occurrence_idYesThe occurrence_id of an item from search_events.

Output Schema

NameRequiredDescription
siblingsYes
occurrenceYes
siblings_truncatedYes

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent/non-destructive, and the description goes well beyond that with interpretation rules that prevent misuse: price_known=false means do not assume free, time_unknown=true means never show 00:00, siblings_truncated and series_continues warn against claiming the event ends after the last listed date. These are exactly the behavioral caveats an agent needs and cannot get from structured fields.

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?

One dense paragraph that is front-loaded with the core identity and then the field/flag semantics. Nearly every clause carries information, but the run-on structure and long field enumeration make it harder to scan than it could be; splitting the flag caveats into their own sentence would help.

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 two-parameter detail-lookup tool with an output schema, the description is more than sufficient: it explains what each notable return field means and how to interpret ambiguous flags, and the output schema covers the return shape. Nothing an agent needs to call or interpret it correctly is 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%, so baseline is 3, but the description adds real semantic weight: it enumerates the internal fields verbose=true unlocks (signals, series_kind, kind, title_override) and reinforces that occurrence_id comes from search_events. That is meaning beyond the schema's terse property descriptions.

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 verb and resource ('full record of one event occurrence') and immediately ties it to the sibling that produces the identifier ('occurrence_id from search_events'), so it is clearly distinguishable from search_events, get_day_overview, and the list_* tools. The hub scope (mygn.de cities + rundown.city) is spelled out.

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?

Provides clear routing context by naming search_events as the source of occurrence_id, which implies when to reach for this tool versus the search tool. It lacks an explicit when-not clause (e.g. use search_events for discovery, this only after you have an id), but the entry condition is unambiguous.

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

list_categoriesList event categoriesA
Read-onlyIdempotent
Inspect

List the event categories one hub of mygn.de (Hamburg, München, Oldenburg + Umland) and rundown.city (San Francisco) currently has, each with its slug, display label (in the hub's language) and a one-line definition. The slugs are the values for the categories filter of search_events. Typical slugs: party, concert, culture, show, family, food, sport, market, cruise, quiz, tours, other; an event has exactly one.

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.

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds behavior beyond that: results are per-hub, labels are rendered in the hub's language, and each event carries exactly one category — useful constraints not present in structured fields.

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?

Three dense sentences, front-loaded with the action and scope before the search_events linkage. The enumerated slug list is longer than strictly necessary but doubles as useful domain context, so little is wasted.

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 single-parameter, read-only enumeration tool with an output schema, this covers everything an agent needs: what is returned, what hub means, and how the output feeds the sibling search tool. No meaningful gap remains.

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%, so alias handling is already documented. The description nonetheless adds meaning the schema lacks: it identifies which hubs exist across the two platforms (mygn.de cities vs rundown.city/San Francisco), clarifying what the hub parameter actually selects.

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 verb and resource ("List the event categories") plus its scope (one hub of mygn.de or rundown.city) and what each entry contains (slug, localized label, one-line definition). An agent can immediately distinguish this from search_events or list_hubs.

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 routes the agent forward: "The slugs are the values for the categories filter of search_events," which tells it why to call this before searching. It does not state exclusions or when not to call it, but for a simple enumeration tool the usage context is clear.

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

list_hubsList cities (hubs)A
Read-onlyIdempotent
Inspect

List the cities (hubs) covered by mygn.de (Hamburg, München, Oldenburg + Umland) and rundown.city (San Francisco): hub slug, display label, timezone and the website of the hub. Pass the slug as hub to the other tools. The hub website is the source to cite.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds value beyond that by naming the returned fields (slug, display label, timezone, hub website) and by giving the 'website is the source to cite' convention, which is behavior an agent cannot infer from annotations.

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 sentences, front-loaded with scope, then the returned fields, then the downstream slug contract and citation note. No filler and no repetition of annotation data.

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 zero-parameter enumeration tool with rich annotations and an output schema, the description covers what the tool does, what it returns, how to reuse the slug, and the citation convention. Nothing an agent needs to call it correctly is 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?

The tool takes zero parameters, so the baseline is 4. The description correctly spends no space on parameter meaning and instead points at the output field (slug) that other tools consume.

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?

Specific verb plus resource ('List the cities (hubs)') and it enumerates the exact coverage set (mygn.de Hamburg/München/Oldenburg + Umland, rundown.city San Francisco), which distinguishes it from siblings like list_categories or search_events. An agent knows immediately what domain this enumerates.

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?

The description explicitly states the downstream contract: 'Pass the slug as hub to the other tools', making it clear this is the prerequisite lookup for hub-scoped calls. It stops short of naming a specific sibling as the alternative or stating when not to call it, so it is clear context rather than a full routing rule.

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

search_eventsSearch eventsA
Read-onlyIdempotent
Inspect

Find things to do in Hamburg, München, Oldenburg or San Francisco for a date range: date ideas, tonight, this weekend, free events, family outings, concerts, parties, exhibitions, markets. Use this when a user asks 'what can I do...', 'was ist los...', 'wohin heute Abend'. For best picks use sort='curation'. query is a literal keyword match (e.g. 'jazz', 'Flohmarkt'); never put moods like 'romantic' or 'date' in query. Instead of dates pass when (today, tonight, this_weekend ...). Items: occurrence_id (for get_event), title, category, starts_at (hub local time), all_day, time_unknown (true: no showtime known, never show 00:00), venue, price_text, price_known (false: price not known, do not assume free), age_min, audience, tags, share_url (the event's own page on our site or, without one, our hub page, the source to cite) from mygn.de or rundown.city.

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.
sortNo'time' lists chronologically (default), events without a known start time at the end of their day; 'curation' lists the editorially ranked best first (equal ranks in time order). 'start' and 'date' are accepted as 'time'.time
whenNotoday, tonight (today from 18:00 unless time_from is given), tomorrow, this_weekend (the coming Saturday and Sunday; on a weekend day the current one, on a Sunday that day alone), next_weekend (the one after), in the hub's local calendar; echoed as resolved. Replaces date_from and date_to (naming both is an error).
limitNoPage size, 1 to 50 (clamped); default 25. total counts items.
queryNoLiteral keywords for title and summary, every word must match (compounds such as Halloweenparty are split, plural endings of whole words are read). Never a mood like 'romantic'. Filler, pronoun and time words (date, night, heute, wochenende, ideas, things to do, was ist los, ich, my, ...) are ignored; use when for dates; a query of only those has query_dropped true. Kinder, Kids, Familie and family list family events first instead of filtering. If nothing matches, unrelated curated picks of the same filters answer, with query_fallback true: tell the user nothing matched (not with group_by 'event'). A hint alone is advice, not a miss.
venueNoVenue name or town; matches the venue name as shown in results, so a town name keeps every venue in that town.
cursorNoThe next_cursor of the previous page, to read on.
date_toNoLast day, inclusive, in the hub's own calendar, YYYY-MM-DD; not before date_from. Required unless when is given.
time_toNoKeep events that start at or before this time of day, HH:MM in the hub's local time (24 hours).
verboseNotrue adds the internal fields (curation score and flags, signals, series_kind, kind, long_running) that are left out by default.
group_byNo'occurrence': an event once per day, its time slots in slots (occurrence_id, starts_at, ends_at; the item itself is the first slot). 'event': each event once for the whole range, with first_starts_at, last_starts_at, occurrences_count of its matching dates (filters apply first; with sort 'curation' placed by its best match) and its season_first_starts_at, season_last_starts_at, season_occurrences_count (all its upcoming dates up to 31 days ahead, ignoring the filters; the real end may lie beyond) with starts_before_range and continues_after_range. Default: 'event' when sort is 'curation' and the range spans more than one day, else 'occurrence'. Use 'event' for 'when does X open'.
date_fromNoFirst day, inclusive, in the hub's own calendar, YYYY-MM-DD; not earlier than yesterday. At most 31 days to date_to, which is at most 31 days from today. Required unless when is given.
free_onlyNotrue keeps only events known to be free.
time_fromNoKeep 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 dropped. With a time_to before time_from the range wraps past midnight.
categoriesNoKeep only events of these category slugs (see list_categories); use ['family'] for children's and family events. An unknown slug is an error.
max_age_minNoKeep events with no stated minimum age or one of at most this age; 0 means no age restriction stated.
family_friendlyNotrue keeps events suitable for parents with children (audience.family true; without an audience rating: category family without a minimum age of 16 or more); false keeps the rest.

Output Schema

NameRequiredDescription
hubYes
hintNo
itemsYes
totalYes
resolvedNo
truncatedYes
next_cursorYes
query_droppedNo
query_fallbackNo

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses important behavior: fallback curated picks with query_fallback true when nothing matches, query_dropped for filler-only queries, time_unknown meaning no showtime should be inferred as 00:00, and price_known false meaning price must not be assumed free. It also explains that share_url is the citation source and that group_by changes whether results are per occurrence or per event. This is substantial behavioral context not supplied by the annotations.

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?

The description is front-loaded with purpose and usage guidance, and most sentences earn their place by clarifying query behavior, date handling, sorting, grouping, and result interpretation. It is somewhat dense and includes a long enumeration of result item fields even though an output schema exists. That output-field list is not purely redundant because it carries warnings like never show 00:00 and do not assume free, but it still makes the description longer than strictly necessary.

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 17-parameter search tool with an output schema and read-only annotations, the description covers the critical decision points and gotchas: user-intent triggers, query constraints, when versus explicit dates, sorting for curation, grouping for event-level questions, and fallback semantics. Remaining details such as pagination, limit, venue matching, and most filters are fully documented in the schema. Nothing essential for correct invocation appears to be 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 description coverage is 100%, so the schema already carries the baseline parameter definitions. The description still adds valuable semantics beyond the schema, especially that query is a literal keyword match and must not contain moods, that when replaces date_from/date_to and naming both is an error, and that group_by 'event' answers 'when does X open'. It does not add equivalent guidance for every filter, but it meaningfully enriches the most error-prone parameters.

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 opens with a specific verb and resource: find events across named hubs and date ranges, with concrete examples like concerts, parties, and markets. It distinguishes itself from get_event by saying occurrence_id is for get_event, and from list_categories by pointing to category slugs. An agent can tell this is the broad search tool rather than a detail, taxonomy, or hub-listing 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?

It gives explicit user-intent triggers such as "what can I do...", "was ist los...", and "wohin heute Abend", and recommends sort='curation' for best picks. It also states clear exclusions: query must be literal keywords, never moods like 'romantic' or 'date'; dates should go in when rather than query; and group_by 'event' is the right choice for 'when does X open'. These are concrete when-to-use and when-not-to-use rules.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedget_event1 field changed
      • addedOutput schema / $defs / EventRecord / properties / venue_note
        Added value: +{
        +  "type": "string"
        +}
    • Changedsearch_events3 fields changed
      • changedInput schema / properties / query / description
        Previous value: -"Literal keywords for title and summary, each matched on its own (all words, else any word; compounds such as Halloweenparty are split). Never a mood like 'romantic'. Filler words (date, night, tonight, heute, abend, ideas, events, things to do, was ist los, what's on) are ignored. Kinder, Kids, Familie and family list family events first instead of filtering. If nothing matches, unrelated curated picks of the same filters answer, with query_fallback true and a hint: tell the user nothing matched (not with group_by 'event')."New value: +"Literal keywords for title and summary, every word must match (compounds such as Halloweenparty are split, plural endings of whole words are read). Never a mood like 'romantic'. Filler, pronoun and time words (date, night, heute, wochenende, ideas, things to do, was ist los, ich, my, ...) are ignored; use when for dates; a query of only those has query_dropped true. Kinder, Kids, Familie and family list family events first instead of filtering. If nothing matches, unrelated curated picks of the same filters answer, with query_fallback true: tell the user nothing matched (not with group_by 'event'). A hint alone is advice, not a miss."
      • addedOutput schema / $defs / SearchItem / properties / venue_note
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / query_dropped
        Added value: +{
        +  "type": "boolean"
        +}
  2. 5 tool updates
    • Changedget_day_overview42 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"
    • Changedget_event96 fields changed
      • removedInput schema / properties / occurrence_id / title
        Removed value: -"Occurrence Id"
      • removedInput schema / properties / verbose / title
        Removed value: -"Verbose"
      • removedInput schema / title
        Removed value: -"get_eventArguments"
      • changedOutput schema / $defs / Audience / description
        Previous value: -"The pre-computed audience verdict of one event (docs/specs/mcp-public.md).\n\n``family`` and ``adults_only`` are the routed booleans (null when neither\nthe model nor a rule decides); ``family_p`` is the raw family-friendly\nprobability so a caller can set its own threshold; ``visitor_pick`` is a\n0..1 ranking hint, not a filter."New value: +"Audience verdict of one event: ``family`` and ``adults_only`` are true, false or\nnull (unsure), ``visitor_pick`` (0 to 1) how much a first-time visitor would be glad\nto find it (a ranking hint, not a filter), ``family_p`` (0 to 1) the raw family\nprobability behind ``family``."
      • removedOutput schema / $defs / Audience / properties / adults_only / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / Audience / properties / adults_only / title
        Removed value: -"Adults Only"
      • addedOutput schema / $defs / Audience / properties / adults_only / type
        Added value: +[
        +  "boolean",
        +  "null"
        +]
      • removedOutput schema / $defs / Audience / properties / family / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / Audience / properties / family / title
        Removed value: -"Family"
      • addedOutput schema / $defs / Audience / properties / family / type
        Added value: +[
        +  "boolean",
        +  "null"
        +]
      • removedOutput schema / $defs / Audience / properties / family_p / title
        Removed value: -"Family P"
      • removedOutput schema / $defs / Audience / properties / visitor_pick / title
        Removed value: -"Visitor Pick"
      • removedOutput schema / $defs / Audience / title
        Removed value: -"Audience"
      • removedOutput schema / $defs / EventRecord / description
        Removed value: -"One full occurrence record of ``get_event`` (the event and its siblings)."
      • removedOutput schema / $defs / EventRecord / properties / age_min / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / EventRecord / properties / age_min / title
        Removed value: -"Age Min"
      • addedOutput schema / $defs / EventRecord / properties / age_min / type
        Added value: +[
        +  "integer",
        +  "null"
        +]
      • removedOutput schema / $defs / EventRecord / properties / all_day / title
        Removed value: -"All Day"
      • removedOutput schema / $defs / EventRecord / properties / attend_mode / title
        Removed value: -"Attend Mode"
      • removedOutput schema / $defs / EventRecord / properties / attribution_url / title
        Removed value: -"Attribution Url"
      • removedOutput schema / $defs / EventRecord / properties / brand / title
        Removed value: -"Brand"
      • removedOutput schema / $defs / EventRecord / properties / category / title
        Removed value: -"Category"
      • removedOutput schema / $defs / EventRecord / properties / display_title / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / EventRecord / properties / display_title / title
        Removed value: -"Display Title"
      • addedOutput schema / $defs / EventRecord / properties / display_title / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / EventRecord / properties / ends_at / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / EventRecord / properties / ends_at / title
        Removed value: -"Ends At"
      • addedOutput schema / $defs / EventRecord / properties / ends_at / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / EventRecord / properties / event_id / title
        Removed value: -"Event Id"
      • removedOutput schema / $defs / EventRecord / properties / hosts / title
        Removed value: -"Hosts"
      • removedOutput schema / $defs / EventRecord / properties / hub / title
        Removed value: -"Hub"
      • removedOutput schema / $defs / EventRecord / properties / is_free / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / EventRecord / properties / is_free / title
        Removed value: -"Is Free"
      • addedOutput schema / $defs / EventRecord / properties / is_free / type
        Added value: +[
        +  "boolean",
        +  "null"
        +]
      • removedOutput schema / $defs / EventRecord / properties / keywords / title
        Removed value: -"Keywords"
      • removedOutput schema / $defs / EventRecord / properties / kind / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / EventRecord / properties / kind / title
        Removed value: -"Kind"
      • addedOutput schema / $defs / EventRecord / properties / kind / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / EventRecord / properties / occurrence_id / title
        Removed value: -"Occurrence Id"
      • addedOutput schema / $defs / EventRecord / properties / price_known
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / EventRecord / properties / price_text / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / EventRecord / properties / price_text / title
        Removed value: -"Price Text"
      • addedOutput schema / $defs / EventRecord / properties / price_text / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / EventRecord / properties / series_continues / title
        Removed value: -"Series Continues"
      • removedOutput schema / $defs / EventRecord / properties / series_kind / title
        Removed value: -"Series Kind"
      • removedOutput schema / $defs / EventRecord / properties / share_url / title
        Removed value: -"Share Url"
      • removedOutput schema / $defs / EventRecord / properties / start_confidence / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / EventRecord / properties / start_confidence / title
        Removed value: -"Start Confidence"
      • addedOutput schema / $defs / EventRecord / properties / start_confidence / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / EventRecord / properties / starts_at / title
        Removed value: -"Starts At"
      • removedOutput schema / $defs / EventRecord / properties / summary / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / EventRecord / properties / summary / title
        Removed value: -"Summary"
      • addedOutput schema / $defs / EventRecord / properties / summary / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / EventRecord / properties / tags / title
        Removed value: -"Tags"
      • removedOutput schema / $defs / EventRecord / properties / time_unknown / title
        Removed value: -"Time Unknown"
      • removedOutput schema / $defs / EventRecord / properties / title / title
        Removed value: -"Title"
      • removedOutput schema / $defs / EventRecord / properties / title_override / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / EventRecord / properties / title_override / title
        Removed value: -"Title Override"
      • addedOutput schema / $defs / EventRecord / properties / title_override / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / EventRecord / properties / url / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / EventRecord / properties / url / title
        Removed value: -"Url"
      • addedOutput schema / $defs / EventRecord / properties / url / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / $defs / EventRecord / required
        Previous value: -[
        -  "occurrence_id",
        -  "event_id",
        -  "hub",
        -  "title",
        -  "display_title",
        -  "summary",
        -  "category",
        -  "age_min",
        -  "audience",
        -  "series_continues",
        -  "starts_at",
        -  "ends_at",
        -  "all_day",
        -  "time_unknown",
        -  "start_confidence",
        -  "attend_mode",
        -  "is_free",
        -  "tags",
        -  "hosts",
        -  "keywords",
        -  "price_text",
        -  "venue",
        -  "url",
        -  "share_url",
        -  "brand",
        -  "attribution_url"
        -]New value: +[
        +  "occurrence_id",
        +  "event_id",
        +  "hub",
        +  "title",
        +  "display_title",
        +  "summary",
        +  "category",
        +  "age_min",
        +  "audience",
        +  "series_continues",
        +  "starts_at",
        +  "ends_at",
        +  "all_day",
        +  "time_unknown",
        +  "start_confidence",
        +  "attend_mode",
        +  "is_free",
        +  "tags",
        +  "hosts",
        +  "keywords",
        +  "price_text",
        +  "price_known",
        +  "venue",
        +  "url",
        +  "share_url",
        +  "brand",
        +  "attribution_url"
        +]
      • removedOutput schema / $defs / EventRecord / title
        Removed value: -"EventRecord"
      • removedOutput schema / $defs / FullSignals / description
        Removed value: -"Provenance signals of a full record."
      • removedOutput schema / $defs / FullSignals / properties / city_verified / title
        Removed value: -"City Verified"
      • removedOutput schema / $defs / FullSignals / properties / detail_enriched / title
        Removed value: -"Detail Enriched"
      • removedOutput schema / $defs / FullSignals / properties / has_display_title / title
        Removed value: -"Has Display Title"
      • removedOutput schema / $defs / FullSignals / properties / is_long_running_series / title
        Removed value: -"Is Long Running Series"
      • removedOutput schema / $defs / FullSignals / properties / source_count / title
        Removed value: -"Source Count"
      • removedOutput schema / $defs / FullSignals / properties / source_domain / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / FullSignals / properties / source_domain / title
        Removed value: -"Source Domain"
      • addedOutput schema / $defs / FullSignals / properties / source_domain / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / FullSignals / title
        Removed value: -"FullSignals"
      • removedOutput schema / $defs / Venue / description
        Removed value: -"The structured venue of a full record."
      • removedOutput schema / $defs / Venue / properties / address / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / Venue / properties / address / title
        Removed value: -"Address"
      • addedOutput schema / $defs / Venue / properties / address / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / Venue / properties / city / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / Venue / properties / city / title
        Removed value: -"City"
      • addedOutput schema / $defs / Venue / properties / city / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / Venue / properties / display / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / Venue / properties / display / title
        Removed value: -"Display"
      • addedOutput schema / $defs / Venue / properties / display / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / Venue / properties / lat / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / Venue / properties / lat / title
        Removed value: -"Lat"
      • addedOutput schema / $defs / Venue / properties / lat / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / $defs / Venue / properties / lon / anyOf
        Removed value: -[
        -  {
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / Venue / properties / lon / title
        Removed value: -"Lon"
      • addedOutput schema / $defs / Venue / properties / lon / type
        Added value: +[
        +  "number",
        +  "null"
        +]
      • removedOutput schema / $defs / Venue / properties / name / title
        Removed value: -"Name"
      • removedOutput schema / $defs / Venue / title
        Removed value: -"Venue"
      • removedOutput schema / description
        Removed value: -"What ``get_event`` returns."
      • removedOutput schema / properties / siblings / title
        Removed value: -"Siblings"
      • removedOutput schema / properties / siblings_truncated / title
        Removed value: -"Siblings Truncated"
      • removedOutput schema / title
        Removed value: -"EventDetail"
    • Changedlist_categories6 fields changed
      • 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 / title
        Removed value: -"list_categoriesArguments"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"list_categoriesOutput"
    • Changedlist_hubs3 fields changed
      • removedInput schema / title
        Removed value: -"list_hubsArguments"
      • removedOutput schema / properties / result / title
        Removed value: -"Result"
      • removedOutput schema / title
        Removed value: -"list_hubsOutput"
    • Changedsearch_events145 fields changed
      • changedInput schema / properties / categories / examples
        Previous value: -[
        -  [
        -    "family"
        -  ],
        -  [
        -    "concert",
        -    "show"
        -  ]
        -]New value: +[
        +  [
        +    "family"
        +  ]
        +]
      • removedInput schema / properties / categories / title
        Removed value: -"Categories"
      • removedInput schema / properties / cursor / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / cursor / default
        Removed value: -null
      • removedInput schema / properties / cursor / title
        Removed value: -"Cursor"
      • addedInput schema / properties / cursor / type
        Added value: +"string"
      • changedInput schema / properties / date_from / description
        Previous value: -"First day, inclusive, in the hub's own calendar, YYYY-MM-DD. Not earlier than yesterday; the window to date_to is at most 31 days and ends at most 31 days from today."New value: +"First day, inclusive, in the hub's own calendar, YYYY-MM-DD; not earlier than yesterday. At most 31 days to date_to, which is at most 31 days from today. Required unless when is given."
      • removedInput schema / properties / date_from / title
        Removed value: -"Date From"
      • changedInput schema / properties / date_to / description
        Previous value: -"Last day, inclusive, in the hub's own calendar, YYYY-MM-DD; not before date_from."New value: +"Last day, inclusive, in the hub's own calendar, YYYY-MM-DD; not before date_from. Required unless when is given."
      • removedInput schema / properties / date_to / title
        Removed value: -"Date To"
      • removedInput schema / properties / family_friendly / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / family_friendly / default
        Removed value: -null
      • removedInput schema / properties / family_friendly / title
        Removed value: -"Family Friendly"
      • addedInput schema / properties / family_friendly / type
        Added value: +"boolean"
      • removedInput schema / properties / free_only / title
        Removed value: -"Free Only"
      • removedInput schema / properties / group_by / default
        Removed value: -"occurrence"
      • changedInput schema / properties / group_by / description
        Previous value: -"'occurrence' (default) lists an event once per day, with its time slots; 'event' lists each event once for the whole date range, with first_starts_at, last_starts_at and occurrences_count of its matching dates (all filters apply first; with sort 'curation' it is placed by its best-ranked match but shows its earliest) and its season season_first_starts_at, season_last_starts_at, season_occurrences_count (all its upcoming dates in our hub calendar, up to 31 days ahead, not narrowed by the filters; the real end may lie beyond) with starts_before_range and continues_after_range. Use 'event' for 'when does X open' or 'when is X on'."New value: +"'occurrence': an event once per day, its time slots in slots (occurrence_id, starts_at, ends_at; the item itself is the first slot). 'event': each event once for the whole range, with first_starts_at, last_starts_at, occurrences_count of its matching dates (filters apply first; with sort 'curation' placed by its best match) and its season_first_starts_at, season_last_starts_at, season_occurrences_count (all its upcoming dates up to 31 days ahead, ignoring the filters; the real end may lie beyond) with starts_before_range and continues_after_range. Default: 'event' when sort is 'curation' and the range spans more than one day, else 'occurrence'. Use 'event' for 'when does X open'."
      • removedInput schema / properties / group_by / examples
        Removed value: -[
        -  "event"
        -]
      • removedInput schema / properties / group_by / title
        Removed value: -"Group By"
      • 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 / limit / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / limit / default
        Removed value: -null
      • changedInput schema / properties / limit / description
        Previous value: -"Page size, 1 to 50 (clamped); default 25."New value: +"Page size, 1 to 50 (clamped); default 25. total counts items."
      • removedInput schema / properties / limit / examples
        Removed value: -[
        -  25
        -]
      • removedInput schema / properties / limit / title
        Removed value: -"Limit"
      • addedInput schema / properties / limit / type
        Added value: +"integer"
      • removedInput schema / properties / max_age_min / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / max_age_min / default
        Removed value: -null
      • removedInput schema / properties / max_age_min / examples
        Removed value: -[
        -  12
        -]
      • removedInput schema / properties / max_age_min / title
        Removed value: -"Max Age Min"
      • addedInput schema / properties / max_age_min / type
        Added value: +"integer"
      • removedInput schema / properties / query / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / query / default
        Removed value: -null
      • changedInput schema / properties / query / description
        Previous value: -"Words to look for in title and summary, each matched on its own (case-insensitive; all words, else any word). Kinder, Kids, Familie and family list family events first (then the rest, each group in the requested sort) instead of filtering."New value: +"Literal keywords for title and summary, each matched on its own (all words, else any word; compounds such as Halloweenparty are split). Never a mood like 'romantic'. Filler words (date, night, tonight, heute, abend, ideas, events, things to do, was ist los, what's on) are ignored. Kinder, Kids, Familie and family list family events first instead of filtering. If nothing matches, unrelated curated picks of the same filters answer, with query_fallback true and a hint: tell the user nothing matched (not with group_by 'event')."
      • removedInput schema / properties / query / title
        Removed value: -"Query"
      • addedInput schema / properties / query / type
        Added value: +"string"
      • removedInput schema / properties / sort / examples
        Removed value: -[
        -  "time"
        -]
      • removedInput schema / properties / sort / title
        Removed value: -"Sort"
      • 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: -"Keep events that start at or after this time of day, HH:MM in the hub's local time (24 hours). Events without a known start time (all_day, time_unknown) are dropped when a time is given. With a time_to before time_from the range wraps past midnight."New value: +"Keep 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 dropped. With a time_to before time_from the range wraps past midnight."
      • removedInput schema / properties / time_from / examples
        Removed value: -[
        -  "18: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 / time_to / anyOf
        Removed value: -[
        -  {
        -    "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / time_to / default
        Removed value: -null
      • changedInput schema / properties / time_to / description
        Previous value: -"Keep events that start at or before this time of day, HH:MM in the hub's local time (24 hours). See time_from. A range that wraps past midnight (time_from after time_to) applies to the start time of each day of the window."New value: +"Keep events that start at or before this time of day, HH:MM in the hub's local time (24 hours)."
      • removedInput schema / properties / time_to / examples
        Removed value: -[
        -  "23:59"
        -]
      • addedInput schema / properties / time_to / pattern
        Added value: +"^([01][0-9]|2[0-3]):[0-5][0-9]$"
      • removedInput schema / properties / time_to / title
        Removed value: -"Time To"
      • addedInput schema / properties / time_to / type
        Added value: +"string"
      • removedInput schema / properties / venue / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedInput schema / properties / venue / default
        Removed value: -null
      • removedInput schema / properties / venue / examples
        Removed value: -[
        -  "Elbphilharmonie"
        -]
      • removedInput schema / properties / venue / title
        Removed value: -"Venue"
      • addedInput schema / properties / venue / 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, this_weekend (the coming Saturday and Sunday; on a weekend day the current one, on a Sunday that day alone), next_weekend (the one after), in the hub's local calendar; echoed as resolved. Replaces date_from and date_to (naming both is an error).",
        +  "enum": [
        +    "today",
        +    "tonight",
        +    "tomorrow",
        +    "this_weekend",
        +    "next_weekend"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "hub",
        -  "date_from",
        -  "date_to"
        -]New value: +[
        +  "hub"
        +]
      • removedInput schema / title
        Removed value: -"search_eventsArguments"
      • changedOutput schema / $defs / Audience / description
        Previous value: -"The pre-computed audience verdict of one event (docs/specs/mcp-public.md).\n\n``family`` and ``adults_only`` are the routed booleans (null when neither\nthe model nor a rule decides); ``family_p`` is the raw family-friendly\nprobability so a caller can set its own threshold; ``visitor_pick`` is a\n0..1 ranking hint, not a filter."New value: +"Audience verdict of one event: ``family`` and ``adults_only`` are true, false or\nnull (unsure), ``visitor_pick`` (0 to 1) how much a first-time visitor would be glad\nto find it (a ranking hint, not a filter), ``family_p`` (0 to 1) the raw family\nprobability behind ``family``."
      • removedOutput schema / $defs / Audience / properties / adults_only / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / Audience / properties / adults_only / title
        Removed value: -"Adults Only"
      • addedOutput schema / $defs / Audience / properties / adults_only / type
        Added value: +[
        +  "boolean",
        +  "null"
        +]
      • removedOutput schema / $defs / Audience / properties / family / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / Audience / properties / family / title
        Removed value: -"Family"
      • addedOutput schema / $defs / Audience / properties / family / type
        Added value: +[
        +  "boolean",
        +  "null"
        +]
      • removedOutput schema / $defs / Audience / properties / family_p / title
        Removed value: -"Family P"
      • removedOutput schema / $defs / Audience / properties / visitor_pick / title
        Removed value: -"Visitor Pick"
      • removedOutput schema / $defs / Audience / title
        Removed value: -"Audience"
      • 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 / SearchItem / description
        Removed value: -"One compact record of ``search_events``: an event on one day, or with\n``group_by=\"event\"`` an event over the whole window. The item's own\n``occurrence_id`` and ``starts_at`` are those of its first slot (first match)."
      • removedOutput schema / $defs / SearchItem / properties / age_min / anyOf
        Removed value: -[
        -  {
        -    "type": "integer"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / SearchItem / properties / age_min / title
        Removed value: -"Age Min"
      • addedOutput schema / $defs / SearchItem / properties / age_min / type
        Added value: +[
        +  "integer",
        +  "null"
        +]
      • removedOutput schema / $defs / SearchItem / properties / all_day / title
        Removed value: -"All Day"
      • removedOutput schema / $defs / SearchItem / properties / attend_mode / title
        Removed value: -"Attend Mode"
      • removedOutput schema / $defs / SearchItem / properties / category / title
        Removed value: -"Category"
      • removedOutput schema / $defs / SearchItem / properties / continues_after_range / title
        Removed value: -"Continues After Range"
      • removedOutput schema / $defs / SearchItem / properties / display_title / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / SearchItem / properties / display_title / title
        Removed value: -"Display Title"
      • addedOutput schema / $defs / SearchItem / properties / display_title / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / SearchItem / properties / event_id / title
        Removed value: -"Event Id"
      • removedOutput schema / $defs / SearchItem / properties / first_starts_at / title
        Removed value: -"First Starts At"
      • removedOutput schema / $defs / SearchItem / properties / is_free / anyOf
        Removed value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / SearchItem / properties / is_free / title
        Removed value: -"Is Free"
      • addedOutput schema / $defs / SearchItem / properties / is_free / type
        Added value: +[
        +  "boolean",
        +  "null"
        +]
      • removedOutput schema / $defs / SearchItem / properties / kind / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / SearchItem / properties / kind / title
        Removed value: -"Kind"
      • addedOutput schema / $defs / SearchItem / properties / kind / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / SearchItem / properties / last_starts_at / title
        Removed value: -"Last Starts At"
      • removedOutput schema / $defs / SearchItem / properties / long_running / title
        Removed value: -"Long Running"
      • removedOutput schema / $defs / SearchItem / properties / long_running_dates / title
        Removed value: -"Long Running Dates"
      • removedOutput schema / $defs / SearchItem / properties / occurrence_id / title
        Removed value: -"Occurrence Id"
      • removedOutput schema / $defs / SearchItem / properties / occurrences_count / title
        Removed value: -"Occurrences Count"
      • addedOutput schema / $defs / SearchItem / properties / price_known
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / $defs / SearchItem / properties / price_text / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / SearchItem / properties / price_text / title
        Removed value: -"Price Text"
      • addedOutput schema / $defs / SearchItem / properties / price_text / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / SearchItem / properties / season_first_starts_at / title
        Removed value: -"Season First Starts At"
      • removedOutput schema / $defs / SearchItem / properties / season_last_starts_at / title
        Removed value: -"Season Last Starts At"
      • removedOutput schema / $defs / SearchItem / properties / season_occurrences_count / title
        Removed value: -"Season Occurrences Count"
      • removedOutput schema / $defs / SearchItem / properties / series_kind / title
        Removed value: -"Series Kind"
      • removedOutput schema / $defs / SearchItem / properties / share_url / title
        Removed value: -"Share Url"
      • removedOutput schema / $defs / SearchItem / properties / slots / title
        Removed value: -"Slots"
      • removedOutput schema / $defs / SearchItem / properties / starts_at / title
        Removed value: -"Starts At"
      • removedOutput schema / $defs / SearchItem / properties / starts_before_range / title
        Removed value: -"Starts Before Range"
      • removedOutput schema / $defs / SearchItem / properties / tags / title
        Removed value: -"Tags"
      • removedOutput schema / $defs / SearchItem / properties / time_unknown / title
        Removed value: -"Time Unknown"
      • removedOutput schema / $defs / SearchItem / properties / title / title
        Removed value: -"Title"
      • removedOutput schema / $defs / SearchItem / properties / venue / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / SearchItem / properties / venue / title
        Removed value: -"Venue"
      • addedOutput schema / $defs / SearchItem / properties / venue / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / $defs / SearchItem / required
        Previous value: -[
        -  "occurrence_id",
        -  "event_id",
        -  "title",
        -  "display_title",
        -  "category",
        -  "starts_at",
        -  "all_day",
        -  "time_unknown",
        -  "attend_mode",
        -  "age_min",
        -  "audience",
        -  "is_free",
        -  "tags",
        -  "price_text",
        -  "venue",
        -  "share_url"
        -]New value: +[
        +  "occurrence_id",
        +  "event_id",
        +  "title",
        +  "display_title",
        +  "category",
        +  "starts_at",
        +  "all_day",
        +  "time_unknown",
        +  "attend_mode",
        +  "age_min",
        +  "audience",
        +  "is_free",
        +  "tags",
        +  "price_text",
        +  "price_known",
        +  "venue",
        +  "share_url"
        +]
      • removedOutput schema / $defs / SearchItem / title
        Removed value: -"SearchItem"
      • removedOutput schema / $defs / SlimSignals / description
        Removed value: -"The one signal a search item carries."
      • removedOutput schema / $defs / SlimSignals / properties / city_verified / title
        Removed value: -"City Verified"
      • removedOutput schema / $defs / SlimSignals / title
        Removed value: -"SlimSignals"
      • removedOutput schema / $defs / Slot / description
        Removed value: -"One time slot of an event on one day."
      • removedOutput schema / $defs / Slot / properties / ends_at / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / $defs / Slot / properties / ends_at / title
        Removed value: -"Ends At"
      • addedOutput schema / $defs / Slot / properties / ends_at / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • removedOutput schema / $defs / Slot / properties / occurrence_id / title
        Removed value: -"Occurrence Id"
      • removedOutput schema / $defs / Slot / properties / starts_at / title
        Removed value: -"Starts At"
      • removedOutput schema / $defs / Slot / title
        Removed value: -"Slot"
      • removedOutput schema / description
        Removed value: -"The page ``search_events`` returns."
      • addedOutput schema / properties / hint
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / hub / title
        Removed value: -"Hub"
      • removedOutput schema / properties / items / title
        Removed value: -"Items"
      • removedOutput schema / properties / next_cursor / anyOf
        Removed value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]
      • removedOutput schema / properties / next_cursor / title
        Removed value: -"Next Cursor"
      • addedOutput schema / properties / next_cursor / type
        Added value: +[
        +  "string",
        +  "null"
        +]
      • addedOutput schema / properties / query_fallback
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / resolved
        Added value: +{
        +  "$ref": "#/$defs/Resolved"
        +}
      • removedOutput schema / properties / total / title
        Removed value: -"Total"
      • removedOutput schema / properties / truncated / title
        Removed value: -"Truncated"
      • removedOutput schema / title
        Removed value: -"SearchResult"
  3. 1 tool update
    • Changedsearch_events6 fields changed
      • changedInput schema / properties / group_by / description
        Previous value: -"'occurrence' (default) lists an event once per day, with its time slots; 'event' lists each event once for the whole date range, with first_starts_at, last_starts_at and occurrences_count of its matching dates (all filters apply first). Use 'event' for 'when does X open' or 'when is X on'."New value: +"'occurrence' (default) lists an event once per day, with its time slots; 'event' lists each event once for the whole date range, with first_starts_at, last_starts_at and occurrences_count of its matching dates (all filters apply first; with sort 'curation' it is placed by its best-ranked match but shows its earliest) and its season season_first_starts_at, season_last_starts_at, season_occurrences_count (all its upcoming dates in our hub calendar, up to 31 days ahead, not narrowed by the filters; the real end may lie beyond) with starts_before_range and continues_after_range. Use 'event' for 'when does X open' or 'when is X on'."
      • addedOutput schema / $defs / SearchItem / properties / continues_after_range
        Added value: +{
        +  "title": "Continues After Range",
        +  "type": "boolean"
        +}
      • addedOutput schema / $defs / SearchItem / properties / season_first_starts_at
        Added value: +{
        +  "title": "Season First Starts At",
        +  "type": "string"
        +}
      • addedOutput schema / $defs / SearchItem / properties / season_last_starts_at
        Added value: +{
        +  "title": "Season Last Starts At",
        +  "type": "string"
        +}
      • addedOutput schema / $defs / SearchItem / properties / season_occurrences_count
        Added value: +{
        +  "title": "Season Occurrences Count",
        +  "type": "integer"
        +}
      • addedOutput schema / $defs / SearchItem / properties / starts_before_range
        Added value: +{
        +  "title": "Starts Before Range",
        +  "type": "boolean"
        +}
  4. 2 tool updates
    • Changedget_day_overview1 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"
        +}
    • Changedsearch_events6 fields changed
      • addedInput schema / properties / group_by
        Added value: +{
        +  "default": "occurrence",
        +  "description": "'occurrence' (default) lists an event once per day, with its time slots; 'event' lists each event once for the whole date range, with first_starts_at, last_starts_at and occurrences_count of its matching dates (all filters apply first). Use 'event' for 'when does X open' or 'when is X on'.",
        +  "enum": [
        +    "occurrence",
        +    "event"
        +  ],
        +  "examples": [
        +    "event"
        +  ],
        +  "title": "Group By",
        +  "type": "string"
        +}
      • changedInput schema / properties / sort / description
        Previous value: -"'time' lists chronologically (default); 'curation' lists the editorially ranked best first."New value: +"'time' lists chronologically (default), events without a known start time at the end of their day; 'curation' lists the editorially ranked best first (equal ranks in time order). 'start' and 'date' are accepted as 'time'."
      • changedOutput schema / $defs / SearchItem / description
        Previous value: -"One compact record of ``search_events``: an event on one day. The item's own\n``occurrence_id`` and ``starts_at`` are those of its first slot."New value: +"One compact record of ``search_events``: an event on one day, or with\n``group_by=\"event\"`` an event over the whole window. The item's own\n``occurrence_id`` and ``starts_at`` are those of its first slot (first match)."
      • addedOutput schema / $defs / SearchItem / properties / first_starts_at
        Added value: +{
        +  "title": "First Starts At",
        +  "type": "string"
        +}
      • addedOutput schema / $defs / SearchItem / properties / last_starts_at
        Added value: +{
        +  "title": "Last Starts At",
        +  "type": "string"
        +}
      • addedOutput schema / $defs / SearchItem / properties / occurrences_count
        Added value: +{
        +  "title": "Occurrences Count",
        +  "type": "integer"
        +}
  5. 5 tool updates
    • First observedget_day_overview
    • First observedget_event
    • First observedlist_categories
    • First observedlist_hubs
    • First observedsearch_events

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources