Skip to main content
Glama

miri – Hamburg mit Kind

Server Details

Family events today and kid-friendly places in Hamburg, Germany. Read-only, by miri.

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

A3.7/5.0

Scored across 4 tools

Disambiguation4/5

Each tool has a distinct role: today's events, valid filter reference, place search, and place detail. The only mild overlap is that events_heute and orte_suchen both accept similar location/age/topic filters, but the events-vs-venues distinction is made clear in the descriptions. ort_info is cleanly separated as a slug-based detail lookup.

Naming Consistency4/5

All names are lowercase German snake_case, giving a consistent visual and stylistic convention. However, the semantic pattern varies (noun_adverb events_heute, noun_verb orte_suchen, noun_info ort_info, compound kategorien_und_bezirke) rather than following a single verb_noun scheme, and one name mixes English 'events' with German.

Tool Count4/5

Four tools is within a reasonable range for a focused local family-activity guide, and each tool (events, filter values, place search, place detail) earns its place. It sits at the thin edge of the ideal 3–15 range, with one helper tool (kategorien_und_bezirke) that is supportive rather than core.

Completeness3/5

The surface covers today's events, venue search, and venue detail, but it explicitly offers no way to browse events on other days, which is a notable gap for a family planning service. There is also no dedicated event-detail operation (users must follow miri_link externally), leaving the lifecycle only partially covered.

Available Tools

4 tools
events_heuteTermine heute / Events todayA
Read-onlyIdempotent
Inspect

Familien-Termine in Hamburg fuer HEUTE (Berlin-Zeit): Theater, Workshops, Maerkte, Ausstellungen, Sport ... Alle Filter optional und kombinierbar: stadtteil ODER bezirk (z.B. 'Ottensen', 'Altona'), alter (Kindesalter 0-18, liefert passende und altersoffene Termine), kategorie, thema ('regen', 'draussen', 'kostenlos', 'baby', 'flohmarkt', 'theater', 'museum', 'spielgruppe', 'natur'), suche (Stichwort, z.B. 'Kuerbis'), lang ('de'|'en'). Gueltige Werte liefert kategorien_und_bezirke. Hoechstens 50 Treffer, sortiert: laeuft gerade, vormittags, nachmittags, abends, ganztaegig/Ausstellungen, schon vorbei. Jeder Termin hat miri_link (Terminseite auf miri-app.de) und ort_seite. webseite ist die passende Seite auf miri-app.de. Keine anderen Tage; bei suche steht nur die Anzahl kommender Treffer dabei. Family events for kids in Hamburg, Germany, for TODAY only. Optional filters: stadtteil (quarter) or bezirk (borough), alter (child age 0-18), kategorie, thema (e.g. 'regen' = rainy day/indoor, 'kostenlos' = free, 'baby'), suche (keyword), lang ('de'|'en'). At most 50 results. Each event has miri_link.

NameRequiredDescriptionDefault
langNode
alterNo
sucheNo
themaNo
bezirkNo
kategorieNo
stadtteilNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare this a safe, idempotent, closed-world read, so the description only needs to add operational context — which it does: a 50-result cap, the exact sort order (running now, morning, afternoon, evening, all-day/exhibitions, past), and the notable quirk that a suche query only returns the count of upcoming matches. It does not mention caching, rate limits, or what happens with invalid filter values.

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

Conciseness3/5

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

The core scope is front-loaded and the filter list is easy to scan, but the definition is delivered twice (German then English), repeating the 50-result cap and the filter examples verbatim. That duplication roughly doubles length without adding information an agent needs.

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

Completeness4/5

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

For a 7-parameter, zero-required filter tool this covers scope, filter semantics, result cap, ordering and key return fields, and an output schema already exists so return shapes need no further explanation. The remaining gap is the interaction between bezirk and stadtteil and the behavior on invalid inputs.

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 0%, so the description carries the full burden and mostly delivers: alter is defined as child age 0-18 and noted to also return age-open events, thema is illustrated with concrete tokens ('regen', 'draussen', 'kostenlos', 'baby'), suche and lang are given formats, and stadtteil/bezirk are described as alternatives ('ODER'). It stops short of explaining the borough/quarter hierarchy or enumerating kategorie values, delegating those to kategorien_und_bezirke.

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 hard scope: family events in Hamburg, for TODAY only, in Berlin time, with the covered categories named (Theater, Workshops, Maerkte, Ausstellungen, Sport). The explicit 'Keine anderen Tage' / 'TODAY only' boundary makes it unambiguous against any sibling that handles other dates or looks up reference data.

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?

Explains that all filters are optional and combinable, gives concrete examples per filter, and routes the agent to kategorien_und_bezirke for valid values. It also excludes other days. What is missing is an explicit statement of when to prefer this over orte_suchen/ort_info, but the intended usage is clear.

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

kategorien_und_bezirkeKategorien, Themen, Bezirke / Filter valuesB
Read-onlyIdempotent
Inspect

Gueltige Filterwerte: Kategorien, Themen (mit Themenseite) und die Hamburger Bezirke mit ihren Stadtteilen (mit Bezirksseite). Valid filter values: categories, topics and Hamburg boroughs with their quarters.

NameRequiredDescriptionDefault
langNode

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds that entries come with associated pages (Themenseite/Bezirksseite), which hints at the shape of the payload beyond annotations. It does not disclose whether the list is complete, cached, or how entries are ordered/named.

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?

Two short sentences, front-loaded with the key concept (valid filter values). The German and English versions carry identical information, which is slightly redundant but keeps the tool readable for mixed-language agents. No filler or tangential wording.

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

Completeness4/5

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

It is a simple, parameter-light lookup tool with an output schema, so return values need no explanation, and annotations already carry the safety profile. The one real gap is the undocumented lang parameter, which matters less in a reference tool with a default. Otherwise an agent has enough to call it correctly.

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

Parameters1/5

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

The single parameter lang has 0% schema description coverage and no enum, and the description never mentions it at all — no indication of accepted language codes or what changing it affects. This leaves the only parameter completely undocumented in both structured and unstructured form.

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

Purpose4/5

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

The description names the concrete resource set returned: categories, topics, and Hamburg boroughs with their quarters (plus their respective detail pages). An agent can infer this is a reference/lookup tool for filter values, distinct in scope from the search-oriented siblings events_heute, orte_suchen and ort_info. It stops short of an explicit verb ("returns/lists"), so the action is implied rather than stated.

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

Usage Guidelines3/5

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

The phrase "Gueltige Filterwerte / Valid filter values" implies the tool should be called before filtering, but it never says when to use it versus the siblings or that its output feeds into other tools' filter parameters. No exclusions or prerequisites are given. Usage is inferable but not spelled out.

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

orte_suchenOrte suchen / Find placesA
Read-onlyIdempotent
Inspect

Ausflugsorte fuer Familien in Hamburg suchen: Museen, Buehnen, Indoor-Spielplaetze, Hoefe, Tierparks, Schwimmbaeder, Bibliotheken ... Mindestens ein Filter: suche (Name oder Stichwort), stadtteil ODER bezirk, alter, kategorie, thema (z.B. 'regen' = drinnen, 'draussen', 'kostenlos', 'baby'). Hoechstens 30 Orte, je mit Oeffnungszeiten kurz, Alter, Preis, Adresse und webseite (Ort-Seite auf miri-app.de). Details und Status heute: ort_info(slug). Search family-friendly places in Hamburg (museums, theatres, indoor play, farms, pools ...). Give at least one filter: suche (keyword), stadtteil or bezirk, alter, kategorie, thema. At most 30 places, each with a link to its page.

NameRequiredDescriptionDefault
langNode
alterNo
sucheNo
themaNo
bezirkNo
kategorieNo
stadtteilNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, so the safety profile is covered. The description adds the result cap (max 30 places) and the shape of each hit (hours, age, price, address, website), which is genuinely useful context. It does not explain what happens when more than 30 match or how ranking/truncation works.

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

Conciseness3/5

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

Content is front-loaded with the purpose and the filter requirement before the result-shape sentences, which is good structure. However, the German and English versions are near-verbatim duplicates, roughly doubling length without adding information.

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

Completeness4/5

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

An output schema exists and the description still summarizes what each result contains, so an agent knows what it gets back plus the 30-item ceiling. With seven parameters, only lang lacks any explanation, which is a minor but real omission for a bilingual app.

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 0%, so the description must carry parameter meaning, and it largely does: it glosses suche as name or keyword, thema with concrete examples ('regen' = indoors, 'draussen', 'kostenlos', 'baby'), and covers stadtteil, bezirk, alter and kategorie. The lang parameter is never mentioned, leaving one documented gap.

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 ('Ausflugsorte fuer Familien in Hamburg suchen') and enumerates the entity types covered (museums, theatres, indoor play, farms, pools, libraries), which makes its scope immediately distinguishable from the sibling events_heute. It also points to ort_info(slug) for per-place detail, drawing a clean boundary.

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?

Gives an explicit precondition ('Mindestens ein Filter: suche, stadtteil ODER bezirk, alter, kategorie, thema') that the schema itself does not enforce, and routes detail/today-status lookups to ort_info. It does not say how this tool differs from events_heute, so the sibling routing is only partial.

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

ort_infoOrt-Info / Place infoA
Read-onlyIdempotent
Inspect

Steckbrief eines Ortes in Hamburg per slug (aus events_heute.ort_slug oder orte_suchen): Beschreibung, Adresse, Oeffnungszeiten, ob heute geoeffnet, laufende Familien-Ausstellung, Termine von heute, haeufige Fragen (Regen, Alter, Preis, Zeiten, Lage), Orte in der Naehe, webseite (Ort-Seite auf miri-app.de). Profile of a family place in Hamburg by slug: description, address, opening hours, open today, today's events, FAQ, nearby places and its page on miri-app.de.

NameRequiredDescriptionDefault
langNode
slugYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds no behavior beyond that: no auth requirements, rate limits, error behavior for an unknown slug, or caching notes. Since an output schema exists, the enumerated return fields are context rather than required disclosure, so this lands at baseline.

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

Conciseness3/5

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

Content is front-loaded and every clause is substantive, but the same information is given twice, once in German and once in English, roughly doubling length without adding information. For an agent this is redundant token cost rather than clarity, though neither version contains filler.

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

Completeness4/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 need not explain return values, and the annotations carry the safety profile. The remaining gap is the undocumented `lang` parameter and the absence of any note on what happens for an invalid or unknown slug. Otherwise complete for a single-resource lookup tool.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It does well for `slug`, naming its concrete sources (events_heute.ort_slug or orte_suchen), which is real meaning beyond the schema's bare string type. The second parameter `lang` (default "de") is never mentioned — the bilingual text hints at language support but never says what `lang` changes or which values are accepted.

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 ("Steckbrief eines Ortes in Hamburg per slug" / "Profile of a family place in Hamburg by slug") and enumerates the exact payload: description, address, opening hours, today's events, FAQ, nearby places, website. An agent can distinguish this detail-by-slug tool from the search sibling orte_suchen without opening either schema.

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 tells the agent where the required slug comes from ("aus events_heute.ort_slug oder orte_suchen"), which routes correctly from the two sibling tools that produce slugs. It stops short of an explicit exclusion (e.g. "use orte_suchen if you only have a name or district"), so it is clear context rather than full when/when-not guidance.

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. 4 tool updates
    • First observedevents_heute
    • First observedkategorien_und_bezirke
    • First observedort_info
    • First observedorte_suchen

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Search real, source-checked kids' events, classes and places across 42 US metro areas from Grassy Knees: this weekend's events, free-only and age filters, listing details and seasonal guides, each with its official link and last-checked date.
    4
    507 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search current public children's activities in Florianópolis, Brazil, read organization profiles and their published groups with schedules and prices, and obtain a canonical link for requesting a visit. All five tools are read-only, publicly accessible over Streamable HTTP with no API key, and never submit a request or confirm a booking.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Discover tech events, startup meetups, AI events across cities including hidden ones.
    49 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources