Serveur MCP

Salsa Vida

com.salsavida/mcp
Voyage et hôtellerie Public et accessible MCP 2025-11-25

Ce que fait ce MCP

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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Ajouté
get_guide
17 September 2026 12:37
Ajouté
search_locations
17 September 2026 12:37
Ajouté
get_event
17 September 2026 12:37
Ajouté
search_events
17 September 2026 12:37