SofiaStage Events
Server Details
Read-only tools for current SofiaStage events, venues, cities, performers, and editorial.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct resource or search dimension: events, performers, editorial content, and two purpose-specific search paths. search_catalog and search_events have clearly separated scopes, with no overlapping tool responsibilities.
All tool names follow a consistent verb_noun pattern: get_ for direct lookups and search_ for queries. The pattern is uniform and predictable across the entire set.
Five tools is well-scoped for a cultural events discovery server. Each tool earns its place, covering lookup and search without unnecessary redundancy.
The core read-oriented surface is complete: direct retrieval for events, performers, and editorial, plus search for events and broader catalog items. Minor gap: cities and venues appear in search results but lack dedicated detail tools, though this may be intentional for the domain.
Available Tools
5 toolsget_editorialGet an editorial profileARead-onlyIdempotentInspect
Get a SofiaStage editorial collection, article metadata, and precomputed upcoming events by exact title or route slug.
| Name | Required | Description | Default |
|---|---|---|---|
| name_or_slug | Yes | Exact public name/title or route slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| editorial | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, and non-destructive behavior. The description adds behavioral context by specifying the composed return payload and notes that events are 'precomputed', which hints they may not be live. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence conveys the action, resource, and required lookup key with no redundant wording. Every phrase contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single well-documented parameter, existing output schema, and thorough annotations, the description supplies enough context for an agent to invoke the tool correctly. It names the return categories and the exact matching requirement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter and the schema already fully describes it as an exact public name/title or route slug (100% coverage). The description largely restates this, adding no extra format details, examples, or edge-case guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Get') and a concrete resource ('SofiaStage editorial collection, article metadata, and precomputed upcoming events'), with the lookup key ('by exact title or route slug'). This clearly differentiates it from sibling search tools, which are for broader discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by exact title or route slug' signals that this is an exact-match lookup rather than a search, which gives useful usage context. However, it does not explicitly mention alternatives or state when not to use this tool, so it falls just short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eventGet a SofiaStage eventBRead-onlyIdempotentInspect
Get one event by canonical show_stable_id or legacy source ID, optionally including related performers and editorial entries.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | ||
| event_id | Yes | Canonical show_stable_id (preferred) or legacy source ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| event | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior. The description adds useful context about single-record retrieval and the optional include behavior, but does not disclose error cases, missing-ID handling, or what happens when includes are omitted beyond the schema default. It does not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence covers the core action, the identifier variants, and the optional include behavior. Every clause adds information, and there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the annotations, an output schema, a simple two-parameter input, and clear ID semantics, the description is largely sufficient for correct invocation. It could be stronger by explicitly mentioning that include defaults to both stars and extras, but the schema already supplies that default.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is about 50%, with event_id already well-described. The description adds minimal but useful meaning for include by mapping it to 'related performers and editorial entries', which clarifies the opaque enum values. However, it does not fully compensate for the lack of an include description in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb ('Get'), the resource ('one event'), and the key lookup methods ('canonical show_stable_id or legacy source ID'). It also notes optional inclusion of related data, which helps distinguish this fetch-by-ID tool from the search-oriented siblings, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for fetching a single event by ID, but it never states when to prefer this over search_events or get_editorial/get_performer. There is no explicit exclusion or alternative-routing guidance, leaving the agent to infer the right context from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_performerGet a performer profileARead-onlyIdempotentInspect
Get a SofiaStage performer or creative-team profile, biography metadata, public links, and precomputed upcoming events by exact name or route slug.
| Name | Required | Description | Default |
|---|---|---|---|
| name_or_slug | Yes | Exact public name/title or route slug. |
Output Schema
| Name | Required | Description |
|---|---|---|
| performer | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose read-only, idempotent, non-destructive behavior, so the safety burden is covered. The description adds behavioral context by noting that the response includes precomputed upcoming events and that lookup is by exact name/slug, but it does not detail edge cases like no-match behavior or casing/slug normalization.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-structured sentence front-loads the verb and resource, then packs the key response components and lookup mechanism without any filler. Every clause contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only lookup with a robust output schema and strong annotations, the description covers what the tool does, what it returns, and how the identifier is matched. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter description already explains that name_or_slug is an exact public name/title or route slug. The tool description restates this lookup mode without adding new semantic detail, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Get), a precise resource (SofiaStage performer or creative-team profile), and the information returned (biography metadata, public links, precomputed upcoming events). It also specifies the lookup key (exact name or route slug), distinguishing it from search-oriented siblings like search_catalog and search_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool is for direct retrieval by exact public name or route slug, which signals when to use it rather than a search tool. It does not explicitly mention alternatives or exclusions, but the 'exact' qualifier provides solid context for an agent deciding between this and sibling search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_catalogSearch the SofiaStage catalogARead-onlyIdempotentInspect
Search cities, venues, production titles, performers, or editorial collections. Performer and editorial results are compact; use their detail tools next.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| kind | Yes | ||
| limit | No | ||
| query | No | ||
| scope | No | sofia |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| items | Yes | |
| truncated | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds genuine behavioral value beyond annotations by disclosing that performer and editorial results are compact and that detail tools should follow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences deliver the essential purpose and a critical usage note with no filler. The most decision-relevant information appears first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations and the output schema cover safety and return format, and the description covers the tool's purpose and key follow-up actions. However, with all parameter descriptions missing from the schema, the description leaves optional parameters like scope and city ambiguous, so an agent may not confidently formulate every valid search variant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, but it only restates the kind enum as searchable categories. It does not explain the relationship between city and query, the meaning of scope, or how limit behaves—leaving the majority of the 5-parameter surface undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource classes that can be searched—cities, venues, production titles, performers, and editorial collections—and marks the tool as a catalog search. It also sets expectations that performer and editorial results are only compact summaries, distinguishing it from detail-retrieval tools like get_performer and get_editorial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear next-step directive for performer and editorial results ('use their detail tools next'), which is useful usage context. However, it never explicitly addresses when to choose this tool over the sibling search_events, leaving that differentiation to be inferred from the resource list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_eventsSearch SofiaStage eventsARead-onlyIdempotentInspect
Search current cultural events by Sofia/all-city scope, city, date, local time, venue, title, performer, or editorial collection. Returns stable event IDs and cursor pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name. Providing a city takes precedence over the Sofia default. | |
| limit | No | ||
| query | No | Performance-title search text. Bulgarian and Latin transliteration are supported. | |
| scope | No | Default Sofia-only scope, or all cities. | sofia |
| title | No | ||
| venue | No | ||
| date_to | No | ||
| include | No | ||
| time_to | No | Local Europe/Sofia upper boundary for the last requested date. | |
| date_from | No | ||
| editorial | No | Editorial collection or extra name. | |
| performer | No | Performer or creative-team name. | |
| time_from | No | Local Europe/Sofia lower boundary for the first requested date. | |
| page_token | No | ||
| relative_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| events | Yes | |
| has_more | Yes | |
| timezone | Yes | |
| page_token | Yes | |
| applied_filters | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond those annotations: it returns stable event IDs and uses cursor pagination, and it is scoped to 'current' cultural events.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It communicates the action, the target, the main search dimensions, and the key return characteristics efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 15 parameters, this description covers the core search behavior and return characteristics, and the output schema helps with return values. But it omits several optional search capabilities like relative_date and include, so the context is adequate but not fully complete for such a parameter-rich tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 47%, so the description must compensate. It enumerates many filter dimensions (scope, city, date, local time, venue, title, performer, editorial), which maps to several parameters. However, it does not clarify important params like include, relative_date, limit, or page_token semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Search') and resource ('current cultural events') and lists the main filter dimensions. It doesn't explicitly differentiate itself from sibling 'search_catalog', but 'events' is specific enough that an agent can infer the target resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus siblings like search_catalog, get_event, or get_performer. The description implies general event searching but does not state exclusions, conditions, or alternatives.
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.
5 tool updates
- First observed
get_editorial - First observed
get_event - First observed
get_performer - First observed
search_catalog - First observed
search_events
Related MCP Connectors
Live Las Vegas shows, restaurants, attractions and resorts. Read-only, no API key needed.
Anonymous, read-only cross-venue discovery of partner-approved venues, cities, destinations.
Find concerts, theatre, sport and festivals in Sweden. Authless, read-only MCP.
Authenticated, read-only field-service workspace tools for FieldRobin businesses.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides read-only tools for discovering, searching, and browsing events from Luma, Posh, and Partiful platforms, including event details and guest lists, with optional authenticated access to a user's Luma events.10MIT
- AlicenseAqualityBmaintenanceProvides music events, concerts, music festivals, nightclubs and other events information.172MIT
- AlicenseNot gradedqualityBmaintenanceEnables read-only discovery and planning of San Francisco Tech Week events, including searching by hosts, topics, dates, and building itineraries or calendar drafts.MIT
- FlicenseNot gradedqualityDmaintenanceAn event aggregation platform that enables users to search, retrieve, and create event data using a Sanity.io backend. It provides specialized tools for managing event details, locations, categories, and venues through the Model Context Protocol.-
Glama MCP Gateway
Add one secure layer between your agents and this server.