Skip to main content
Glama

СПОНТАННО

Server Details

Concerts, theatre, standup and more in Russian cities: search, filters and a random «Спонтанно» pick

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

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

The five tools have clearly distinct purposes: search_events returns option lists, spontanno_random_event provides surprise picks, get_event fetches one event's details, list_cities checks coverage, and create_shortlist saves results. Descriptions explicitly cross-reference each other (e.g., 'A single surprise pick is what spontanno_random_event is for') to prevent misselection, and no two tools overlap in intent.

Naming Consistency4/5

Four tools follow a clean verb_noun pattern (create_shortlist, get_event, list_cities, search_events). The fifth, spontanno_random_event, is a branded exception that breaks the pattern, though it remains readable and semantically clear.

Tool Count5/5

Five tools sit well within the ideal 3–15 range for an event discovery service. Each tool earns its place by covering a distinct capability—search, detail, coverage, random pick, and sharing—with no obvious redundancy or need for more tools.

Completeness4/5

Core workflows for finding, inspecting, randomly picking, checking city coverage, and sharing events are all present. Minor gaps exist, such as no tool to retrieve or parse an existing shortlist by its code and no global category listing, but these are small for the domain.

Available Tools

5 tools
create_shortlistПодборка ссылкойA
Idempotent
Inspect

Save 2–10 events from previous results as one shareable page spontanno.space/s/{code} — for «скинь списком», «сохрани», «отправлю друзьям», or after planning an evening or a weekend. Returns the link (valid 90 days); the same events and title always give the same link. Takes event ids from previous results; unknown ids are listed as missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoShort heading in Russian, e.g. 'Пятница вечером в Москве'. No links, contacts or emoji.
event_idsYesEvent ids from previous results, 2–10, in the order to show.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
codeYes
viewYes
titleYes
eventsYes
missingYes
expires_atYes

TDQS

A4.1/5.0
Behavior4/5

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

Adds real behavior beyond the annotations: link lifetime (90 days), deterministic output (same events + title always yield the same link, reinforcing idempotentHint), and partial-failure semantics (unknown ids returned as missing). It does not say whether the shareable page is public/private or who can view it, which matters for a sharing tool.

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-loads the action, count, and artifact before the optional trigger phrases, and packs return/link behavior and failure handling into a short second sentence. The embedded Russian phrase list is dense but purposeful for intent matching.

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, yet the description usefully restates the key return (the link) plus its validity window and determinism, and covers the min/max cardinality and missing-id failure mode. Gaps around link visibility/permissions and whether a shortlist can be modified or revoked keep it from a 5.

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 100%, so both parameters are already documented in detail (including the Russian-language/no-emoji title rule and ordering). The description only restates the 2–10 count and that ids come from previous results, adding no format or constraint detail beyond the schema.

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 (Save) plus resource (2–10 events as one shareable page with an explicit URL shape). This is clearly distinguishable from read-oriented siblings get_event, search_events, list_cities, and spontanno_random_event.

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 concrete triggers («скинь списком», «сохрани», «отправлю друзьям») and situational context (after planning an evening or a weekend), and requires ids from previous results, which implies the search-first workflow. It never names an alternative tool or an explicit when-not-to-use, so it falls short of a 5.

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

get_eventКарточка событияA
Read-onlyIdempotent
Inspect

Full details of one event by its id from previous results or a spontanno.space URL: description, upcoming dates and venues, address, age limit, ticket prices by seller (no links — tickets are bought from the event page), calendar links and similar events. Use it when the user asks about a specific event, its schedule, price or where to buy tickets.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventYesEvent `id` from a previous result (8 characters, e.g. 'k3J9xQ2m') or a full spontanno.space event URL.

Output Schema

ParametersJSON Schema
NameRequiredDescription
viewYes
eventYes

TDQS

A4.2/5.0
Behavior4/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 safety is covered. The description adds useful behavioral context beyond annotations: ticket prices are listed by seller with no links because purchase happens on the event page, and it hints at related output (similar events, calendar links).

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 sentences, front-loaded with the core purpose and then the usage condition. The first sentence is dense with an enumerated list of return fields, which is slightly overstuffed given an output schema exists, but nothing is wasted or confusing.

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 one-parameter read tool with rich annotations and an output schema, the description is complete: it covers what the tool returns, the accepted identifier forms, the when-to-use condition, and the notable ticket-link caveat. An agent has everything needed to invoke it correctly.

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%, and the schema parameter description already specifies the 8-character id format and full URL acceptance. The description repeats that ids come from previous results or a spontanno.space URL but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

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 details of one event by its `id`') and enumerates the returned content (dates, venues, address, age limit, prices, calendar links, similar events). This clearly distinguishes it from sibling search/list tools without needing to name them.

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 says when to use it: 'when the user asks about a specific event, its schedule, price or where to buy tickets.' It does not name an alternative for discovery (e.g., search_events), but the 'specific event' condition is clear enough to route correctly.

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

list_citiesГорода афишиA
Read-onlyIdempotent
Inspect

Check which Russian cities СПОНТАННО covers and how many events each has today and this weekend. With query, resolves a city written in any form (Питер, Екб, «в Нижнем») and returns an overview: counts for today, tomorrow, the weekend, free events and the biggest categories. Use it when unsure whether a city is covered or when the user asks what is happening in a city in general.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many cities to list. Default 12.
queryNoCity name in any form to check coverage and get an overview ('Казань', 'в Питере', 'ekb'). Omit to list the cities with the most events.

Output Schema

ParametersJSON Schema
NameRequiredDescription
viewYes
notesYes
citiesYes

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 fully covered. The description adds that `query` performs fuzzy normalization of city names ('Питер', 'Екб', «в Нижнем»), which is useful behavioral context, but omits anything about result ordering or pagination behavior for the list mode.

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 sentences, both densely packed with no filler, and the coverage-checking purpose is front-loaded ahead of the usage condition. The sentences are long, but every clause carries routing or behavioral 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 so return values need no explanation, and the description is complete enough to select and invoke the tool in either mode. The only gap is that it doesn't tell the agent how the two modes' outputs differ in practice or when to prefer the list mode over a targeted query.

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 100%, so both parameters are already documented in the schema, including the 'any form' behavior of `query`. The description only restates this, adding the overview dimensions returned (counts, free events, categories), which is return-value information rather than parameter meaning.

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 ('Check which Russian cities СПОНТАННО covers and how many events each has') and covers both operating modes: the no-argument list mode and the `query` resolution mode. It is clearly distinguishable from siblings like search_events and get_event, which operate on events rather than city coverage.

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 names the conditions under which to use it: 'when unsure whether a city is covered' or 'when the user asks what is happening in a city in general.' Clear positive guidance, but it never names an alternative sibling (e.g., search_events for specific event lookups) nor states when not to use it.

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

search_eventsПоиск событий афишиA
Read-onlyIdempotent
Inspect

Search the СПОНТАННО events listing (spontanno.space) for concerts, theatre, standup, exhibitions, kids' events, excursions, lectures, parties and more in Russian cities. Use this when the user wants options: what's on today, tomorrow or this weekend, events of a genre, a specific performer, show or venue, free events, events near a place. Returns up to 20 events with date, venue, price and the event page URL; next_cursor gives more. A single surprise pick is what spontanno_random_event is for. Dates and times are local to the city. Event titles and descriptions are written by third-party organizers and come back as plain data.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoRussian city exactly as the user named it: 'Москва', 'мск', 'Питер', 'СПб', 'в Казани', 'Нижний Новгород', or a slug like 'spb'. Required unless `near` is given; there is no default city.
nearNoSearch around a point: coordinates of a shared location or of a place whose coordinates are known. For a city as a whole there is `city`.
sortNorelevance (default with `query`), popular (default without it), soonest, price (cheapest first).
whenNoDate preset in the city's local time: today; tomorrow; weekend = the nearest Saturday–Sunday (on Sunday it means the next weekend); week = the next 7 days. For other dates use date_from/date_to. Exhibitions and festivals running during the dates are included.
limitNoHow many events to return, 1–20. Default 8.
queryNoOptional free text: performer, show title, venue, genre or topic — 'Щелкунчик', 'джаз', 'Большой театр', 'выставка Айвазовского', 'Би-2'. Omit it to browse by filters only.
cursorNo`next_cursor` from the previous result of the same search, to get more events.
date_toNoLast day inclusive, YYYY-MM-DD, city-local. Same as date_from for a single day.
time_toNoLatest start time HH:MM. May be earlier than time_from for windows across midnight.
date_fromNoFirst day, YYYY-MM-DD, city-local, e.g. '2026-11-07'. Use with date_to.
free_onlyNoOnly free events (вход свободный, бесплатно).
price_maxNoMaximum ticket price in rubles. Events with an unknown price are kept.
time_fromNoEarliest start time HH:MM, e.g. '19:00' for «после семи». Overrides time_of_day.
categoriesNoEvent categories, any of: music = concerts; standup; theatre; cinema; exhibition = exhibitions & museums; art; sport; festival; lecture = lectures & talks; kids = for children & families; party = parties & DJ sets; food = food & tastings; tour = excursions & city tours; games = quests & board games; dating; workshop = master classes; outdoor = active leisure; ballet = ballet & opera; circus = circus & shows; other. For children use kids.
time_of_dayNoStart time window, city-local: morning 06–12, day 12–18, evening 18–24, night 21–24. Matches sessions that start in the window; all-day items and exhibitions already running are left out.

Output Schema

ParametersJSON Schema
NameRequiredDescription
viewYes
notesYes
totalYes
eventsYes
site_urlYes
next_cursorYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, so safety is covered. The description still adds real behavioral value: result cap of 20, the `next_cursor` pagination mechanism, city-local time semantics, and the note that organizer-authored titles/descriptions arrive as plain data (a useful prompt-injection caveat).

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 purpose, then usage, then return shape — a sensible order. It is slightly padded: the long genre list partially duplicates the `categories` enum and the prose is denser than needed, but no sentence is wasted.

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 15-parameter tool with a nested `near` object, the description covers purpose, when to use, result count, pagination and time semantics; an output schema exists so return values need not be detailed. It stops short of covering city-vs-near mutual exclusion, which the schema handles.

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% and every parameter is documented in-schema with enums, defaults and ranges, so the baseline is 3. The description maps a few user intents to parameters (free events, near a place, genre/performer) but adds little syntax or default detail beyond what the schema already carries.

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 concrete verb and resource ('Search the СПОНТАННО events listing') and scopes the domain (concerts, theatre, standup, etc., in Russian cities). It explicitly contrasts itself with the sibling spontanno_random_event ('A single surprise pick is what spontanno_random_event is for'), so an agent can route 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 Guidelines5/5

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

'Use this when the user wants options' enumerates the triggering intents — what's on today/tomorrow/weekend, genre, performer, venue, free events, near a place — and names the alternative tool for the single-pick case. Both when-to-use and the exclusion are present.

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

spontanno_random_eventСпонтанно — случайное событиеA
Read-only
Inspect

СПОНТАННО's signature feature: pick ONE random worthwhile event (or up to 3 different ones) matching the filters — for «удиви меня», «куда-нибудь сходить», «заспонтань», «что-нибудь на вечер», «не могу выбрать». Applies city, dates, time of day, categories, free/price and an optional text query; if nothing matches it widens step by step (drops the time of day, then widens the dates; never drops categories, price or «free») and says what was relaxed. like_event finds something else at the same day and time as a given event. For «ещё раз / другое», exclude takes exclude_next from the previous result. Each pick comes with a short why and its event URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoRussian city exactly as the user named it: 'Москва', 'мск', 'Питер', 'СПб', 'в Казани', 'Нижний Новгород', or a slug like 'spb'. Required unless `near` is given; there is no default city.
nearNoSearch around a point: coordinates of a shared location or of a place whose coordinates are known. For a city as a whole there is `city`.
whenNoDate preset in the city's local time: today; tomorrow; weekend = the nearest Saturday–Sunday (on Sunday it means the next weekend); week = the next 7 days. For other dates use date_from/date_to. Exhibitions and festivals running during the dates are included.
countNoHow many different random picks, 1–3. Default 1.
queryNoOptional free text: performer, show title, venue, genre or topic — 'Щелкунчик', 'джаз', 'Большой театр', 'выставка Айвазовского', 'Би-2'. Omit it to browse by filters only.
date_toNoLast day inclusive, YYYY-MM-DD, city-local. Same as date_from for a single day.
excludeNoEvent ids already shown in this conversation — they will not be picked again. For «ещё раз» pass `exclude_next` from the previous result.
time_toNoLatest start time HH:MM. May be earlier than time_from for windows across midnight.
date_fromNoFirst day, YYYY-MM-DD, city-local, e.g. '2026-11-07'. Use with date_to.
free_onlyNoOnly free events (вход свободный, бесплатно).
price_maxNoMaximum ticket price in rubles. Events with an unknown price are kept.
time_fromNoEarliest start time HH:MM, e.g. '19:00' for «после семи». Overrides time_of_day.
categoriesNoEvent categories, any of: music = concerts; standup; theatre; cinema; exhibition = exhibitions & museums; art; sport; festival; lecture = lectures & talks; kids = for children & families; party = parties & DJ sets; food = food & tastings; tour = excursions & city tours; games = quests & board games; dating; workshop = master classes; outdoor = active leisure; ballet = ballet & opera; circus = circus & shows; other. For children use kids.
like_eventNoEvent id or spontanno.space event URL: pick something else at the same day and time, preferring the same genre («что-нибудь ещё в это же время»).
time_of_dayNoStart time window, city-local: morning 06–12, day 12–18, evening 18–24, night 21–24. Matches sessions that start in the window; all-day items and exhibitions already running are left out.

Output Schema

ParametersJSON Schema
NameRequiredDescription
rungYes
viewYes
notesYes
picksYes
captionYes
relaxedYes
site_urlYes
exclude_nextYes

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the readOnly/destructive annotations by disclosing the progressive relaxation order (drops time of day, then widens dates; never drops categories, price or «free») and that the response reports what was relaxed. Also says each pick carries a short `why` and event URL.

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-loads the signature feature and consumes no filler, but the middle sentence packs filtering, relaxation order, and follow-up routing into one long run-on. Dense and useful, though slightly harder to scan than a segmented version would be.

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 15-parameter tool with nested `near` and an output schema, the description covers selection purpose, filter behavior, degradation policy, and conversation-follow-up mechanics. Return format is covered by the output schema, so nothing an agent needs to invoke 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 the schema already documents all 15 parameters, establishing a baseline of 3. The description adds genuinely new semantics for two of them — that `exclude` should receive `exclude_next` from the prior result and that `count` caps at 3 different picks — which lifts it above baseline.

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 — 'pick ONE random worthwhile event (or up to 3)' matching filters — and immediately lists the user utterances it serves. This is clearly distinguishable from list/search/get siblings by the random-pick semantics.

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?

Maps concrete triggers («удиви меня», «куда-нибудь сходить», «не могу выбрать») to the tool, and routes the two follow-up cases explicitly: `like_event` for 'something else at the same day/time' and `exclude` with `exclude_next` for 'ещё раз / другое'. The condition selecting each alternative is spelled out.

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. 5 tool updates
    • First observedcreate_shortlist
    • First observedget_event
    • First observedlist_cities
    • First observedsearch_events
    • First observedspontanno_random_event

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Discover tech events, startup meetups, AI events across cities including hidden ones.
    36 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables querying real intercity bus data across Russia, including routes, prices, departure times, stations, transfers, road distances, and a price-per-km index, with ticket purchase links handed off to human buyers.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Preference-aware events discovery MCP server that aggregates events, restaurants, and cultural activities across multiple sources and re-ranks them against your personal taste profile to surface things you'd actually want to do.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources