MCP interface for AI assistants
This interface lets AI assistants such as Claude or ChatGPT read the ad-free, curated event listings of mygn.de (Hamburg, München, Oldenburg + Umland) and rundown.city (San Francisco): what is on today, tomorrow or this weekend?
Server
- Server URL
https://mcp.mygn.de/public- Transport
- Streamable HTTP
- Authentication
- none, anonymous
- Access
- read-only
- Cost
- free
- Rate limits
- 60 requests per minute per IP address, 600 requests per minute in total
- Registry name
- de.mygn/events
How to connect
Claude: in the settings, under connectors, add a custom connector and enter the server URL. No sign-in is needed. In Claude Code:
claude mcp add --transport http mygn-events https://mcp.mygn.de/public
ChatGPT and other clients that support remote MCP servers: add the server URL as a Streamable HTTP server without authentication. Many clients read a configuration like this:
{
"mcpServers": {
"mygn-events": {
"url": "https://mcp.mygn.de/public"
}
}
}
Example prompts
A connected assistant can answer questions like these:
- Things to do with kids in San Francisco this weekend
- Date ideas tonight in SF
- Free events in San Francisco today
- What is on in SF on Friday evening?
Tools
The server offers 5 tools, all read-only. Names, descriptions and parameters are taken straight from the server, as an assistant reads them.
list_hubs List cities (hubs)
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.
More
Pass the slug as hub to the other tools. The hub website is the source to cite.
No parameters.
list_categories List event categories
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.
More
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.
Parameters
hub string, required- Hub (city): one of hamburg, muenchen, oldenburg, san-francisco; names and abbreviations work too ('Munich', 'MUC', 'HH', 'OL', 'SF', 'SFO', 'Bay Area'), any case.
get_day_overview Day overview
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).
More
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.
Parameters
hub string, required- Hub (city): one of hamburg, muenchen, oldenburg, san-francisco; names and abbreviations work too ('Munich', 'MUC', 'HH', 'OL', 'SF', 'SFO', 'Bay Area'), any case.
date string, optional- The day in the hub's own calendar, YYYY-MM-DD. Required unless when is given.
time_from string, optional- 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.
when string, optional- 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).
values: today, tonight, tomorrow verbose boolean, optional- true adds the internal fields (curation score and flags, signals, series_kind, kind, long_running) that are left out by default.
default: false
search_events Search events
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.
More
Use this when a user asks 'what can I do...', 'was ist los...', 'wohin heute Abend'. For best picks use sort='curation'. query matches keywords (e.g. 'jazz', 'Flohmarkt'); weekday, time and free words set the window and free_only; total is 0 when query_fallback. 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.
Parameters
hub string, required- Hub (city): one of hamburg, muenchen, oldenburg, san-francisco; names and abbreviations work too ('Munich', 'MUC', 'HH', 'OL', 'SF', 'SFO', 'Bay Area'), any case.
date_from string, optional- 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 or query is given (a weekday or time word in query sets it, else the next 7 days).
date_to string, optional- Last day, inclusive, in the hub's own calendar, YYYY-MM-DD; not before date_from. Required whenever date_from is.
when string, optional- 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).
values: today, tonight, tomorrow, this_weekend, next_weekend categories array of string, optional- Keep only events of these category slugs (see list_categories); use ['family'] for children's and family events. An unknown slug is an error.
values: party, concert, culture, show, family, food, sport, market, cruise, quiz, tours, other free_only boolean, optional- true keeps only events known to be free.
default: false venue string, optional- Venue name or town; matches the venue name as shown in results, so a town name keeps every venue in that town.
query string, optional- Keywords for title and summary, every word must match (compounds split, plurals read). Never a mood like 'romantic'. Filler, pronoun and time words (date, ideas, things to do, ich, ...) are ignored; time words (heute abend, tomorrow, am Wochenende) set the window like when, without dates, when, a weekday or group_by 'event'; night/abend alone is tonight, else a keyword; nothing but fillers and no dates: refused (use when), with dates: query_dropped. A weekday (Samstag, Friday night) sets the window without dates, else narrows the given one (not with group_by 'event'). German free words (kostenlos, gratis, eintritt frei) always set free_only; English free only in a sentence or alone, not before a capitalised word (Free Jazz). Without dates the next 7 days are searched. 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').
max_age_min integer, optional- Keep events with no stated minimum age or one of at most this age; 0 means no age restriction stated.
family_friendly boolean, optional- true 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.
time_from string, optional- 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.
time_to string, optional- Keep events that start at or before this time of day, HH:MM in the hub's local time (24 hours).
limit integer, optional- Page size, 1 to 50 (clamped); default 25. total counts items.
cursor string, optional- The next_cursor of the previous page, to read on.
sort string, optional- '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'.
values: time, curation; default: "time" group_by string, optional- 'occurrence': an event once per day, its time slots in slots (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) 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'.
values: occurrence, event verbose boolean, optional- true adds the internal fields (curation score and flags, signals, series_kind, kind, long_running) that are left out by default.
default: false
get_event Get event details
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).
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.
Parameters
occurrence_id integer, required- The occurrence_id of an item from search_events.
verbose boolean, optional- true adds the internal fields (curation score and flags, signals, series_kind, kind, long_running) that are left out by default.
default: false
Data and attribution
The server covers mygn.de (Hamburg, München, Oldenburg + Umland) and rundown.city (San Francisco): today up to 31 days ahead, ad-free and curated.
Please credit the source: every event carries a link to its page on rundown.city in share_url, which assistants should pass on. The organiser's own page is in url.
Dates, prices and venues can change; the organiser's page is authoritative.
Legal and contact
The server is listed in the official MCP registry as de.mygn/events.