MCP-Server

Salsa Vida

com.salsavida/mcp
Reisen & Hospitality Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Finds and retrieves Salsa and Bachata events, locations, and destination guides worldwide.

get_event
Read public event facts and dated occurrences within a requested window (default UTC today through 13 days later; pass user-local dates for today/tonight). Unknown timezones remain null. Inactive/private events are unavailable.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['event_id'], 'properties': {'date_to': {'type': 'string'}, 'event_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'language': {'enum': ['en', 'es', 'ja', 'de', 'fr', 'fr-fr', 'it', 'nl', 'pt', 'ka', 'pl', 'tr'], 'type': 'string'}, 'date_from': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['calendar_basis', 'default_window_basis', 'source', 'coverage', 'source_checked_at', 'changes_checked_at', 'dates_are_local', 'freshness', 'freshness_warning', 'date_verification', 'event_id', 'title', 'summary', 'canonical_url', 'visit_url', 'returned_language', 'locale_fallback', 'event_types', 'dances', 'salsa_styles', 'venue', 'address', 'price', 'time_mode', 'start_time', 'end_time', 'timezone', 'source_modified_at', 'date_from', 'date_to', 'occurrences'], 'properties': {'price': {'type': 'string'}, 'title': {'type': 'string'}, 'venue': {'type': 'string'}, 'dances': {'type': 'array', 'items': {'enum': ['salsa', 'bachata'], 'type': 'string'}}, 'source': {'type': 'string', 'const': 'Salsa Vida'}, 'address': {'type': 'string'}, 'date_to': {'type': 'string'}, 'summary': {'type': 'string'}, 'coverage': {'type': 'object', 'required': ['from', 'through'], 'properties': {'from': {'type': ['string', 'null']}, 'through': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'end_time': {'type': ['string', 'null']}, 'event_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'timezone': {'type': ['string', 'null']}, 'date_from': {'type': 'string'}, 'freshness': {'enum': ['unknown', 'fresh', 'delayed', 'degraded'], 'type': 'string'}, 'time_mode': {'enum': ['fixed', 'varies', 'tba'], 'type': 'string'}, 'visit_url': {'type': 'string', 'format': 'uri'}, 'start_time': {'type': ['string', 'null']}, 'event_types': {'type': 'array', 'items': {'enum': ['social', 'lesson', 'festival'], 'type': 'string'}}, 'occurrences': {'type': 'array', 'items': {'type': 'object', 'required': ['occurrence_id', 'start_date', 'end_date'], 'properties': {'end_date': {'type': 'string'}, 'start_date': {'type': 'string'}, 'occurrence_id': {'type': 'string'}}, 'additionalProperties': False}}, 'salsa_styles': {'type': 'array', 'items': {'type': 'string'}}, 'canonical_url': {'type': 'string', 'format': 'uri'}, 'calendar_basis': {'type': 'string', 'const': 'event_local_calendar_dates'}, 'dates_are_local': {'type': 'boolean', 'const': True}, 'locale_fallback': {'type': 'boolean'}, 'date_verification': {'type': 'string', 'const': 'scheduled_from_recorded_data_not_organizer_confirmed'}, 'freshness_warning': {'type': ['string', 'null']}, 'returned_language': {'type': 'string'}, 'source_checked_at': {'type': ['string', 'null']}, 'changes_checked_at': {'type': ['string', 'null']}, 'source_modified_at': {'type': ['string', 'null']}, 'default_window_basis': {'type': 'string', 'const': 'UTC today through UTC today plus 13 calendar dates; pass explicit user-local dates for today or tonight.'}}, 'additionalProperties': False}
get_guide
Read a public Salsa Vida city, region or country guide summary and its canonical link. Uses only existing published language versions, with English fallback.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['location'], 'properties': {'language': {'enum': ['en', 'es', 'ja', 'de', 'fr', 'fr-fr', 'it', 'nl', 'pt', 'ka', 'pl', 'tr'], 'type': 'string'}, 'location': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Salsa Vida source location ID, slug, or location name. Use search_locations to disambiguate.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['calendar_basis', 'default_window_basis', 'source', 'coverage', 'source_checked_at', 'changes_checked_at', 'dates_are_local', 'freshness', 'freshness_warning', 'location_id', 'slug', 'name', 'summary', 'canonical_url', 'visit_url', 'returned_language', 'locale_fallback'], 'properties': {'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'source': {'type': 'string', 'const': 'Salsa Vida'}, 'summary': {'type': 'string'}, 'coverage': {'type': 'object', 'required': ['from', 'through'], 'properties': {'from': {'type': ['string', 'null']}, 'through': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'freshness': {'enum': ['unknown', 'fresh', 'delayed', 'degraded'], 'type': 'string'}, 'visit_url': {'type': 'string', 'format': 'uri'}, 'location_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'canonical_url': {'type': 'string', 'format': 'uri'}, 'calendar_basis': {'type': 'string', 'const': 'event_local_calendar_dates'}, 'dates_are_local': {'type': 'boolean', 'const': True}, 'locale_fallback': {'type': 'boolean'}, 'freshness_warning': {'type': ['string', 'null']}, 'returned_language': {'type': 'string'}, 'source_checked_at': {'type': ['string', 'null']}, 'changes_checked_at': {'type': ['string', 'null']}, 'default_window_basis': {'type': 'string', 'const': 'UTC today through UTC today plus 13 calendar dates; pass explicit user-local dates for today or tonight.'}}, 'additionalProperties': False}
search_events
Find published salsa/bachata events for a location and dates. Defaults to UTC today through 13 days later; for today/tonight pass the user-local date. Supports up to one year, 50 results/page and 10 pages. response_size_limited means the page was shortened to fit; follow next_cursor. Narrow filters when pagination_limit_reached is true.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['location'], 'properties': {'dance': {'enum': ['salsa', 'bachata'], 'type': 'string'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 2000}, 'date_to': {'type': 'string'}, 'language': {'enum': ['en', 'es', 'ja', 'de', 'fr', 'fr-fr', 'it', 'nl', 'pt', 'ka', 'pl', 'tr'], 'type': 'string'}, 'location': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Salsa Vida source location ID, slug, or location name. Use search_locations to disambiguate.'}, 'date_from': {'type': 'string'}, 'event_type': {'enum': ['social', 'lesson', 'festival'], 'type': 'string'}, 'salsa_style': {'enum': ['linear-salsa', 'salsa-on1', 'salsa-on2', 'cuban-salsa', 'salsa-rueda', 'salsa-calena', 'afro-cuban'], 'type': 'string', 'description': 'Filter recorded Salsa style tags. Many events have no recorded style, so an empty result does not prove the style is absent. linear-salsa includes salsa-on1/salsa-on2; cuban-salsa includes salsa-rueda.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['calendar_basis', 'default_window_basis', 'source', 'coverage', 'source_checked_at', 'changes_checked_at', 'dates_are_local', 'freshness', 'freshness_warning', 'location', 'date_from', 'date_to', 'results', 'next_cursor', 'pagination_limit_reached', 'response_size_limited'], 'properties': {'source': {'type': 'string', 'const': 'Salsa Vida'}, 'date_to': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['date_verification', 'event_id', 'title', 'summary', 'canonical_url', 'visit_url', 'returned_language', 'locale_fallback', 'event_types', 'dances', 'salsa_styles', 'venue', 'address', 'price', 'time_mode', 'start_time', 'end_time', 'timezone', 'source_modified_at', 'occurrence_id', 'start_date', 'end_date'], 'properties': {'price': {'type': 'string'}, 'title': {'type': 'string'}, 'venue': {'type': 'string'}, 'dances': {'type': 'array', 'items': {'enum': ['salsa', 'bachata'], 'type': 'string'}}, 'address': {'type': 'string'}, 'summary': {'type': 'string'}, 'end_date': {'type': 'string'}, 'end_time': {'type': ['string', 'null']}, 'event_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'timezone': {'type': ['string', 'null']}, 'time_mode': {'enum': ['fixed', 'varies', 'tba'], 'type': 'string'}, 'visit_url': {'type': 'string', 'format': 'uri'}, 'start_date': {'type': 'string'}, 'start_time': {'type': ['string', 'null']}, 'event_types': {'type': 'array', 'items': {'enum': ['social', 'lesson', 'festival'], 'type': 'string'}}, 'salsa_styles': {'type': 'array', 'items': {'type': 'string'}}, 'canonical_url': {'type': 'string', 'format': 'uri'}, 'occurrence_id': {'type': 'string'}, 'locale_fallback': {'type': 'boolean'}, 'date_verification': {'type': 'string', 'const': 'scheduled_from_recorded_data_not_organizer_confirmed'}, 'returned_language': {'type': 'string'}, 'source_modified_at': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'coverage': {'type': 'object', 'required': ['from', 'through'], 'properties': {'from': {'type': ['string', 'null']}, 'through': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'location': {'type': 'object', 'required': ['id', 'slug', 'name'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}}, 'additionalProperties': False}, 'date_from': {'type': 'string'}, 'freshness': {'enum': ['unknown', 'fresh', 'delayed', 'degraded'], 'type': 'string'}, 'next_cursor': {'type': ['string', 'null']}, 'calendar_basis': {'type': 'string', 'const': 'event_local_calendar_dates'}, 'dates_are_local': {'type': 'boolean', 'const': True}, 'freshness_warning': {'type': ['string', 'null']}, 'source_checked_at': {'type': ['string', 'null']}, 'changes_checked_at': {'type': ['string', 'null']}, 'default_window_basis': {'type': 'string', 'const': 'UTC today through UTC today plus 13 calendar dates; pass explicit user-local dates for today or tonight.'}, 'response_size_limited': {'type': 'boolean'}, 'pagination_limit_reached': {'type': 'boolean'}}, 'additionalProperties': False}
search_locations
Find Salsa Vida cities, regions and countries by name, ignoring case and diacritics. Use the returned source location ID to resolve ambiguous names. Localized guides fall back to English where available. response_size_limited means the page was shortened to fit; follow next_cursor.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'cursor': {'type': 'string', 'maxLength': 2000}, 'language': {'enum': ['en', 'es', 'ja', 'de', 'fr', 'fr-fr', 'it', 'nl', 'pt', 'ka', 'pl', 'tr'], 'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['calendar_basis', 'default_window_basis', 'source', 'coverage', 'source_checked_at', 'changes_checked_at', 'dates_are_local', 'freshness', 'freshness_warning', 'results', 'next_cursor', 'pagination_limit_reached', 'response_size_limited'], 'properties': {'source': {'type': 'string', 'const': 'Salsa Vida'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'source_location_id', 'parent_id', 'slug', 'name', 'ancestors', 'canonical_url', 'visit_url', 'returned_language', 'locale_fallback'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'ancestors': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'slug', 'name'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}}, 'additionalProperties': False}}, 'parent_id': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'visit_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'canonical_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'locale_fallback': {'type': 'boolean'}, 'returned_language': {'type': ['string', 'null']}, 'source_location_id': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}}, 'coverage': {'type': 'object', 'required': ['from', 'through'], 'properties': {'from': {'type': ['string', 'null']}, 'through': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'freshness': {'enum': ['unknown', 'fresh', 'delayed', 'degraded'], 'type': 'string'}, 'next_cursor': {'type': ['string', 'null']}, 'calendar_basis': {'type': 'string', 'const': 'event_local_calendar_dates'}, 'dates_are_local': {'type': 'boolean', 'const': True}, 'freshness_warning': {'type': ['string', 'null']}, 'source_checked_at': {'type': ['string', 'null']}, 'changes_checked_at': {'type': ['string', 'null']}, 'default_window_basis': {'type': 'string', 'const': 'UTC today through UTC today plus 13 calendar dates; pass explicit user-local dates for today or tonight.'}, 'response_size_limited': {'type': 'boolean'}, 'pagination_limit_reached': {'type': 'boolean'}}, 'additionalProperties': False}
Hinzugefügt
get_guide
17. September 2026 12:37
Hinzugefügt
search_locations
17. September 2026 12:37
Hinzugefügt
get_event
17. September 2026 12:37
Hinzugefügt
search_events
17. September 2026 12:37