MCP 서버

Salsa Vida

com.salsavida/mcp
여행 및 호스피탈리티 공개 · 연결 가능 MCP 2025-11-25

이 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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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}
추가됨
get_guide
2026년 9월 17일 12:37 PM
추가됨
search_locations
2026년 9월 17일 12:37 PM
추가됨
get_event
2026년 9월 17일 12:37 PM
추가됨
search_events
2026년 9월 17일 12:37 PM