MCP-Server

OiAir activities

br.com.oiair/marketplace
Commerce & Retail Suche & Recherche Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Searches published children's activities in Florianópolis and provides current offering details and request-form links.

get_booking_link
Prepare a canonical PT-BR OiAir form link for one exact organization, publication and expected version. Trial requires that the selected group offers a trial. Opening the link and submitting a request are separate actions; this tool neither submits a request nor reserves or confirms a place.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['organizationId', 'publicationId', 'expectedVersion'], 'properties': {'visit': {'enum': ['trial', 'regular'], 'type': 'string'}, 'publicationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'organizationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'expectedVersion': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['organizationId', 'publicationId', 'offeringId', 'version', 'url', 'visit', 'source', 'checkedAt', 'validUntil', 'bookingSemantics'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'visit': {'enum': ['trial', 'regular'], 'type': 'string'}, 'source': {'type': 'string', 'const': 'organization_confirmation'}, 'version': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'checkedAt': {'type': 'string'}, 'offeringId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'validUntil': {'type': 'string'}, 'publicationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'organizationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'bookingSemantics': {'type': 'object', 'required': ['availability', 'bookingMode', 'createsRequest', 'reservesSeat', 'requiresOrganizationConfirmation'], 'properties': {'bookingMode': {'type': 'string', 'const': 'request_confirmation'}, 'availability': {'type': 'string', 'const': 'unknown'}, 'reservesSeat': {'type': 'boolean', 'const': False}, 'createsRequest': {'type': 'boolean', 'const': False}, 'requiresOrganizationConfirmation': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_offering
Read one exact, current published group by publication ID. Optionally require its expected version. Withdrawn, expired, changed-address or stale-version groups fail rather than falling back to another group. Published availability remains unknown.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['publicationId'], 'properties': {'locale': {'enum': ['pt-BR', 'pt-PT', 'en', 'ru', 'es'], 'type': 'string'}, 'publicationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'expectedVersion': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['revision', 'syncedAt', 'generation', 'item', 'bookingSemantics'], 'properties': {'item': {'type': 'object', 'required': ['id', 'organizationId', 'version', 'freshness'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'version': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'freshness': {'type': 'object', 'required': ['source', 'checkedAt', 'validUntil'], 'properties': {'source': {'type': 'string', 'const': 'organization_confirmation'}, 'checkedAt': {'type': 'string'}, 'validUntil': {'type': 'string'}}, 'additionalProperties': False}, 'organizationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': {}}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'syncedAt': {'type': 'string'}, 'generation': {'type': 'string'}, 'bookingSemantics': {'type': 'object', 'required': ['availability', 'bookingMode', 'createsRequest', 'reservesSeat', 'requiresOrganizationConfirmation'], 'properties': {'bookingMode': {'type': 'string', 'const': 'request_confirmation'}, 'availability': {'type': 'string', 'const': 'unknown'}, 'reservesSeat': {'type': 'boolean', 'const': False}, 'createsRequest': {'type': 'boolean', 'const': False}, 'requiresOrganizationConfirmation': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_organization
Read the current public organization profile and its address-scoped published groups, prices and source timestamps. This exposes published facts only and does not provide staff, parent or participant data.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['organizationId'], 'properties': {'locale': {'enum': ['pt-BR', 'pt-PT', 'en', 'ru', 'es'], 'type': 'string'}, 'organizationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['revision', 'syncedAt', 'generation', 'item', 'bookingSemantics'], 'properties': {'item': {'type': 'object', 'required': ['id', 'organization', 'publishedOffers'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'organization': {'type': 'string'}, 'publishedOffers': {'type': 'array', 'items': {'type': 'object', 'required': ['publicationId', 'version', 'offeringId', 'source', 'checkedAt', 'validUntil'], 'properties': {'source': {'type': 'string', 'const': 'organization_confirmation'}, 'version': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'checkedAt': {'type': 'string'}, 'offeringId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'validUntil': {'type': 'string'}, 'publicationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': {}}}}, 'additionalProperties': {}}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'syncedAt': {'type': 'string'}, 'generation': {'type': 'string'}, 'bookingSemantics': {'type': 'object', 'required': ['availability', 'bookingMode', 'createsRequest', 'reservesSeat', 'requiresOrganizationConfirmation'], 'properties': {'bookingMode': {'type': 'string', 'const': 'request_confirmation'}, 'availability': {'type': 'string', 'const': 'unknown'}, 'reservesSeat': {'type': 'boolean', 'const': False}, 'createsRequest': {'type': 'boolean', 'const': False}, 'requiresOrganizationConfirmation': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}}, 'additionalProperties': {}}
list_offerings
List all current published groups belonging to one public organization at its current address. Each group retains its exact publication ID, version, schedule, prices and confirmation timestamps; an empty list does not authorize substituting another group.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['organizationId'], 'properties': {'locale': {'enum': ['pt-BR', 'pt-PT', 'en', 'ru', 'es'], 'type': 'string'}, 'organizationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['revision', 'syncedAt', 'generation', 'organizationId', 'items', 'bookingSemantics'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['publicationId', 'version', 'offeringId', 'source', 'checkedAt', 'validUntil'], 'properties': {'source': {'type': 'string', 'const': 'organization_confirmation'}, 'version': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'checkedAt': {'type': 'string'}, 'offeringId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'validUntil': {'type': 'string'}, 'publicationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': {}}}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'syncedAt': {'type': 'string'}, 'generation': {'type': 'string'}, 'organizationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'bookingSemantics': {'type': 'object', 'required': ['availability', 'bookingMode', 'createsRequest', 'reservesSeat', 'requiresOrganizationConfirmation'], 'properties': {'bookingMode': {'type': 'string', 'const': 'request_confirmation'}, 'availability': {'type': 'string', 'const': 'unknown'}, 'reservesSeat': {'type': 'boolean', 'const': False}, 'createsRequest': {'type': 'boolean', 'const': False}, 'requiresOrganizationConfirmation': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}}, 'additionalProperties': False}
search_activities
Search OiAir public activities using its current search API, ranking and filters. Age is inclusive; weekdays use Sunday=0 through Saturday=6, and any selected day may match. Age, day and time must match the same published group. Keep unresolved constraints and unknown availability; results do not confirm a place.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 500}, 'cursor': {'type': 'string', 'maxLength': 4000, 'minLength': 1}, 'locale': {'enum': ['pt-BR', 'pt-PT', 'en', 'ru', 'es'], 'type': 'string'}, 'filters': {'type': 'object', 'properties': {'age': {'anyOf': [{'type': 'integer', 'maximum': 18, 'minimum': 0}, {'type': 'null'}]}, 'city': {'type': 'string', 'maxLength': 120}, 'days': {'type': 'array', 'items': {'type': 'integer', 'maximum': 6, 'minimum': 0}, 'maxItems': 7}, 'price': {'anyOf': [{'type': 'object', 'required': ['operator', 'amount', 'currency', 'unit'], 'properties': {'unit': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'amount': {'type': 'number', 'minimum': 0}, 'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'operator': {'enum': ['lte', 'gte', 'eq'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'bounds': {'anyOf': [{'type': 'array', 'items': False, 'maxItems': 4, 'minItems': 4, 'prefixItems': [{'type': 'number'}, {'type': 'number'}, {'type': 'number'}, {'type': 'number'}]}, {'type': 'null'}]}, 'period': {'enum': ['', 'manha', 'tarde', 'noite'], 'type': 'string'}, 'after17': {'type': 'boolean'}, 'categories': {'type': 'array', 'items': {'enum': ['danca', 'esportes', 'artes', 'musica', 'ciencia', 'linguas', 'natureza', 'projetos'], 'type': 'string'}, 'maxItems': 8}, 'neighborhood': {'type': 'string', 'maxLength': 120}}, 'additionalProperties': False}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['items', 'appliedFilters', 'queryStatus', 'nextCursor', 'bookingSemantics'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'organization', 'publishedOffers'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'organization': {'type': 'string'}, 'publishedOffers': {'type': 'array', 'items': {'type': 'object', 'required': ['publicationId', 'version', 'offeringId', 'source', 'checkedAt', 'validUntil'], 'properties': {'source': {'type': 'string', 'const': 'organization_confirmation'}, 'version': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'checkedAt': {'type': 'string'}, 'offeringId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'validUntil': {'type': 'string'}, 'publicationId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': {}}}}, 'additionalProperties': {}}}, 'nextCursor': {'type': ['string', 'null']}, 'queryStatus': {'type': 'string'}, 'appliedFilters': {'type': 'object', 'properties': {}, 'additionalProperties': {}}, 'bookingSemantics': {'type': 'object', 'required': ['availability', 'bookingMode', 'createsRequest', 'reservesSeat', 'requiresOrganizationConfirmation'], 'properties': {'bookingMode': {'type': 'string', 'const': 'request_confirmation'}, 'availability': {'type': 'string', 'const': 'unknown'}, 'reservesSeat': {'type': 'boolean', 'const': False}, 'createsRequest': {'type': 'boolean', 'const': False}, 'requiresOrganizationConfirmation': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}}, 'additionalProperties': {}}
Hinzugefügt
get_booking_link
3. October 2026 02:40
Hinzugefügt
get_offering
3. October 2026 02:40
Hinzugefügt
list_offerings
3. October 2026 02:40
Hinzugefügt
get_organization
3. October 2026 02:40
Hinzugefügt
search_activities
3. October 2026 02:40