Skip to main content
Glama

Search events by mood, city and date

search_events
Read-onlyIdempotent

Find upcoming events (concerts, live music, theatre, opera, stand-up comedy, festivals, sports, kids & family, exhibitions) in Turkey and selected cities abroad, optionally matched to how the user feels. Returns up to 20 events with title, local date/time, venue, city, category, lowest known ticket price and the WhatsMood event page URL. Use for 'what's on in Istanbul this weekend', 'I feel sad, what can I do tonight in Izmir', 'jazz concerts in Ankara in December'. TR: Moduna/şehrine/tarihe göre etkinlik arar (konser, tiyatro, stand-up, spor, çocuk, sergi).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_events"
  }
}

Input Schema

NameRequiredDescriptionDefault
cityNoCity name, e.g. Istanbul, Ankara, Izmir, Antalya, Bursa, Eskişehir, London. Optional; omit for all cities.
dateNoDate filter: today, tomorrow, weekend, this week, a date YYYY-MM-DD or a range YYYY-MM-DD..YYYY-MM-DD. Optional; default next 30 days.
moodNoUser's mood in English or Turkish, e.g. happy, sad, romantic, calm, energetic, stressed, social, tired / Mutlu, Üzgün, Romantik. See list_moods. Optional.
limitNoMaximum number of events, 1-20 (default 10).
placeNoNeighbourhood or district, e.g. Kadıköy, Beşiktaş, Moda, Çankaya, Alsancak: only events within ~5 km of it. Optional; use with city.
queryNoFree text: artist, band, show, team or venue name, or a keyword like jazz, rock, Hamlet. Optional.
categoryNoCategory: concert, theatre, comedy, sports, kids, exhibition. Optional.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / place
      Added value: +{
      +  "default": null,
      +  "description": "Neighbourhood or district, e.g. Kadıköy, Beşiktaş, Moda, Çankaya, Alsancak: only events within ~5 km of it. Optional; use with city.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. First observed

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds useful behavior beyond that: a hard cap of 20 results, the exact fields returned, and the implied default window of the next 30 days. It says nothing about price freshness, empty-result behavior, or throttling, so with annotations carrying most of the load a 3 is fair.

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 purpose and scope are front-loaded, followed by the return contract and then illustrative queries, so an agent can stop reading early. The Turkish translation line is arguably redundant for an English-speaking agent but is a deliberate bilingual aid rather than 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 seven all-optional parameters and no output schema, the description sensibly documents the return fields and the result cap, which the schema does not. It omits only edge-case guidance such as behavior when mood and category conflict, which is minor for a read-only search 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 coverage is 100%, so every parameter already has its own description including examples and defaults, which sets the baseline at 3. The description only restates that mood matching is optional and that city/date act as filters; it does not, for instance, clarify how place interacts with city or how query combines with category.

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 names a specific verb (find/search) and resource (upcoming events), enumerates the covered categories, and defines scope as Turkey plus selected cities abroad with optional mood matching. It is clearly distinguishable from siblings such as get_event (single event lookup) or list_moods (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?

Three concrete example utterances ('what's on in Istanbul this weekend', the sad-mood Izmir query, 'jazz concerts in Ankara in December') show exactly which natural-language requests route here, and the mood parameter points to list_moods. It stops short of stating exclusions, e.g. when to prefer compare_ticket_prices or find_nearby_places.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources