このMCPでできること
Searches language schools abroad, compares courses and accommodations, calculates trip prices and submits booking or quote requests.
ツール
入力スキーマ
{'type': 'object', 'required': ['school_id', 'message'], 'properties': {'contact': {'type': 'object', 'description': 'Optional first_name, last_name. Email always comes from the verified account.', 'additionalProperties': True}, 'message': {'type': 'string', 'description': 'Student message to the school.'}, 'trip_id': {'type': 'string', 'description': 'Optional trip_id from save_trip.'}, 'currency': {'type': 'string', 'default': 'EUR', 'examples': ['EUR'], 'description': 'ISO 4217 currency for prices in this call. Usually EUR.'}, 'school_id': {'type': 'integer', 'examples': [12345], 'description': 'Craft CMS school entry id from search_language_schools hits (field school_id). Not the CRM UUID.'}, 'configuration': {'type': 'object', 'properties': {'mealType': {'type': 'string', 'description': 'Meal plan key when accommodation is selected.'}, 'students': {'type': 'array', 'items': {'type': 'object', 'properties': {'weeks': {'type': 'integer', 'minimum': 1, 'description': 'Course duration in weeks.'}, 'courseId': {'type': 'string', 'description': 'Course product id from list_courses for this school.'}}, 'additionalProperties': True}, 'description': 'One object per traveller. courseId comes from list_courses.'}, 'startDate': {'type': 'string', 'examples': ['2026-09-07'], 'description': 'Course start calendar date (YYYY-MM-DD). Typically a Monday from list_starting_dates.'}, 'accommodationGroupId': {'type': 'string', 'description': 'Accommodation group id from list_accommodations (optional).'}}, 'description': 'Same shape as the Extralingo school-page configurator: startDate (YYYY-MM-DD), students[] with courseId, weeks, optional accommodationGroupId, mealType, extras.', 'additionalProperties': True}, 'idempotencyKey': {'type': 'string', 'description': 'Optional alias of idempotency_key.'}, 'idempotency_key': {'type': 'string', 'description': 'Optional. Same semantics as create_booking (24 hour replay window).'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'kind': {'enum': ['question'], 'type': 'string', 'description': 'Lead type on success.'}, 'message': {'type': 'string', 'description': 'Human-readable confirmation (not a booking confirmation).'}, 'success': {'const': True}, 'redirectUrl': {'type': ['string', 'null'], 'description': 'Extralingo /my URL for the student to follow the request, when available.'}, 'newBookingId': {'type': ['integer', 'null'], 'description': 'Craft newBookings entry id when created.'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'properties': {'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}, 'trip_id': {'type': 'string', 'description': 'Optional saved trip id; when set, the quote may be stored on that trip.'}, 'currency': {'type': 'string', 'default': 'EUR', 'examples': ['EUR'], 'description': 'ISO 4217 currency for prices in this call. Usually EUR.'}, 'school_id': {'type': 'integer', 'examples': [12345], 'description': 'Craft CMS school entry id from search_language_schools hits (field school_id). Not the CRM UUID.'}, 'country_code': {'type': 'string', 'examples': ['NL', 'DE'], 'description': 'Visitor country ISO 3166-1 alpha-2 (e.g. NL). Affects fee display where applicable.'}, 'discountCode': {'type': 'string', 'description': 'Optional promotion or discount code.'}, 'configuration': {'type': 'object', 'properties': {'mealType': {'type': 'string', 'description': 'Meal plan key when accommodation is selected.'}, 'students': {'type': 'array', 'items': {'type': 'object', 'properties': {'weeks': {'type': 'integer', 'minimum': 1, 'description': 'Course duration in weeks.'}, 'courseId': {'type': 'string', 'description': 'Course product id from list_courses for this school.'}}, 'additionalProperties': True}, 'description': 'One object per traveller. courseId comes from list_courses.'}, 'startDate': {'type': 'string', 'examples': ['2026-09-07'], 'description': 'Course start calendar date (YYYY-MM-DD). Typically a Monday from list_starting_dates.'}, 'accommodationGroupId': {'type': 'string', 'description': 'Accommodation group id from list_accommodations (optional).'}}, 'description': 'Same shape as the Extralingo school-page configurator: startDate (YYYY-MM-DD), students[] with courseId, weeks, optional accommodationGroupId, mealType, extras.', 'additionalProperties': True}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'description': 'Full pricing breakdown from the booking engine.', 'additionalProperties': True}, 'quote': {'type': 'object', 'description': 'Human-oriented price summary.', 'additionalProperties': True}, 'success': {'const': True}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'properties': {'phone': {'type': 'string', 'description': 'Student phone number (required).'}, 'contact': {'type': 'object', 'description': 'Optional first_name, last_name, phone. Email always comes from the verified account; contact.email must match or be omitted.', 'additionalProperties': True}, 'trip_id': {'type': 'string', 'description': 'Optional trip_id from save_trip linking this booking to a draft.'}, 'currency': {'type': 'string', 'default': 'EUR', 'examples': ['EUR'], 'description': 'ISO 4217 currency for prices in this call. Usually EUR.'}, 'school_id': {'type': 'integer', 'examples': [12345], 'description': 'Craft CMS school entry id from search_language_schools hits (field school_id). Not the CRM UUID.'}, 'phoneCountry': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country for the phone (e.g. NL).'}, 'configuration': {'type': 'object', 'properties': {'mealType': {'type': 'string', 'description': 'Meal plan key when accommodation is selected.'}, 'students': {'type': 'array', 'items': {'type': 'object', 'properties': {'weeks': {'type': 'integer', 'minimum': 1, 'description': 'Course duration in weeks.'}, 'courseId': {'type': 'string', 'description': 'Course product id from list_courses for this school.'}}, 'additionalProperties': True}, 'description': 'One object per traveller. courseId comes from list_courses.'}, 'startDate': {'type': 'string', 'examples': ['2026-09-07'], 'description': 'Course start calendar date (YYYY-MM-DD). Typically a Monday from list_starting_dates.'}, 'accommodationGroupId': {'type': 'string', 'description': 'Accommodation group id from list_accommodations (optional).'}}, 'description': 'Same shape as the Extralingo school-page configurator: startDate (YYYY-MM-DD), students[] with courseId, weeks, optional accommodationGroupId, mealType, extras.', 'additionalProperties': True}, 'termsAccepted': {'type': 'boolean', 'description': 'Must be true when not using OAuth (OAuth grants record acceptance).'}, 'idempotencyKey': {'type': 'string', 'description': 'Optional alias of idempotency_key.'}, 'studentDetails': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Per-student details aligned with configuration.students (names, dates of birth, etc.).'}, 'idempotency_key': {'type': 'string', 'description': 'Optional. Same key + same payload within 24 hours replays the original response; conflicting payload returns validation_failed.'}, 'privacyAccepted': {'type': 'boolean', 'description': 'Must be true when not using OAuth.'}, 'specialRequests': {'type': 'string', 'description': 'Free-text notes for the school.'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'status': {'type': 'string', 'description': 'e.g. awaiting_school_confirmation.'}, 'success': {'const': True}, 'bookingId': {'type': ['integer', 'null'], 'description': 'Craft booking id when returned by the booking engine.'}, 'redirectUrl': {'type': ['string', 'null']}, 'studentMessage': {'type': 'string'}, 'bookingReference': {'type': ['string', 'null']}, 'agent_must_tell_the_user': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'required': ['trip_id'], 'properties': {'email': {'type': 'string', 'description': 'Optional. Must match the verified OAuth account email if sent. The link is always sent to that account.'}, 'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}, 'trip_id': {'type': 'string', 'description': 'trip_id from save_trip.'}, 'lastName': {'type': 'string', 'description': 'Optional salutation for the email body.'}, 'firstName': {'type': 'string', 'description': 'Optional salutation for the email body.'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'url': {'type': 'string', 'description': 'Legacy alias of continue_url.'}, 'message': {'type': 'string'}, 'success': {'const': True}, 'trip_id': {'type': 'string'}, 'trip_url': {'type': 'string'}, 'emailed_to': {'type': 'string', 'description': 'Verified account inbox that received the email.'}, 'continue_url': {'type': 'string'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'required': ['group_id'], 'properties': {'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}, 'currency': {'type': 'string', 'default': 'EUR', 'examples': ['EUR'], 'description': 'ISO 4217 currency for prices in this call. Usually EUR.'}, 'group_id': {'type': 'string', 'description': 'Accommodation group id from list_accommodations.'}, 'startDate': {'type': 'string', 'examples': ['2026-09-07'], 'description': 'Course start calendar date (YYYY-MM-DD). Typically a Monday from list_starting_dates.'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'group': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Group id (matches group_id).'}, 'name': {'type': 'string', 'description': 'Display name of the accommodation group.'}, 'distance': {'type': ['string', 'object', 'null'], 'description': 'Distance-to-school summary (string or structured object from the API).', 'additionalProperties': True}, 'location': {'type': 'object', 'description': 'Address, distance_to_school, and travel-time hints.', 'additionalProperties': True}, 'amenities': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Facilities and highlighted amenities.'}, 'occupancy': {'type': 'object', 'description': 'Minimum/maximum age and occupancy limits.', 'additionalProperties': True}, 'group_name': {'type': 'string', 'description': 'Grouped title when room-type grouping is enabled.'}, 'room_types': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Room variants, each with meal_options, stay_length, and week pricing.'}, 'stay_length': {'type': 'object', 'description': 'Minimum and maximum stay in weeks.', 'additionalProperties': True}, 'meal_options': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Board/meal plans with pricing_for_requested_weeks when not split by room_types.'}, 'classification': {'type': 'object', 'description': 'Accommodation type, class, and room metadata.', 'additionalProperties': True}}, 'description': 'Accommodation group from GET /v3/accommodations/{id} (v2 grouping): labels, classification, room and meal options, facilities, rules, and pricing hints for the requested start date.', 'additionalProperties': True}, 'success': {'const': True}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'required': ['course_id', 'school_id'], 'properties': {'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}, 'currency': {'type': 'string', 'default': 'EUR', 'examples': ['EUR'], 'description': 'ISO 4217 currency for prices in this call. Usually EUR.'}, 'course_id': {'type': 'string', 'description': 'Course product id from list_courses.'}, 'school_id': {'type': 'integer', 'examples': [12345], 'description': 'Craft CMS school entry id from search_language_schools hits (field school_id). Not the CRM UUID.'}, 'startDate': {'type': 'string', 'examples': ['2026-09-07'], 'description': 'Course start calendar date (YYYY-MM-DD). Typically a Monday from list_starting_dates.'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'course': {'type': ['object', 'null'], 'description': 'Single course product with pricing rows and supplements for the requested start date.', 'additionalProperties': True}, 'success': {'const': True}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'required': ['school_id'], 'properties': {'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}, 'school_id': {'type': 'integer', 'examples': [12345], 'description': 'Craft CMS school entry id from search_language_schools hits (field school_id). Not the CRM UUID.'}, 'include_hero_image': {'type': 'boolean', 'default': True, 'description': 'When true, structuredContent may include a compressed JPEG in MCP image content; hero_image is stripped from structuredContent after attach.'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'description': 'School profile (title, url, city, country, bookings_live, reviews, images[]).', 'additionalProperties': True}, 'success': {'const': True}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'properties': {'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'description': 'Facet lists keyed by filter name.', 'additionalProperties': True}, 'success': {'const': True}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'required': ['trip_id'], 'properties': {'trip_id': {'type': 'string', 'description': 'trip_id returned by save_trip.'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'url': {'type': 'string', 'description': 'Legacy alias of continue_url.'}, 'note': {'type': 'string'}, 'success': {'const': True}, 'summary': {'type': 'string', 'description': 'Human-readable configuration summary for agents.'}, 'trip_id': {'type': 'string', 'description': 'Shareable trip id (/s/{id}).'}, 'trip_url': {'type': 'string'}, 'school_id': {'type': 'integer', 'description': 'Craft school entry id.'}, 'school_url': {'type': 'string'}, 'school_name': {'type': 'string'}, 'continue_url': {'type': 'string', 'description': 'Shareable Extralingo URL that restores configuration.'}, 'configuration': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'required': ['school_id'], 'properties': {'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}, 'currency': {'type': 'string', 'default': 'EUR', 'examples': ['EUR'], 'description': 'ISO 4217 currency for prices in this call. Usually EUR.'}, 'school_id': {'type': 'integer', 'examples': [12345], 'description': 'Craft CMS school entry id from search_language_schools hits (field school_id). Not the CRM UUID.'}, 'startDate': {'type': 'string', 'examples': ['2026-09-07'], 'description': 'Course start calendar date (YYYY-MM-DD). Typically a Monday from list_starting_dates.'}, 'country_code': {'type': 'string', 'examples': ['NL', 'DE'], 'description': 'Visitor country ISO 3166-1 alpha-2 (e.g. NL). Affects fee display where applicable.'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'school': {'type': ['object', 'null'], 'additionalProperties': True}, 'success': {'const': True}, 'currency': {'type': 'string'}, 'start_date': {'type': 'string'}, 'location_discount': {'type': ['object', 'null'], 'additionalProperties': True}, 'busy_school_months': {'type': ['object', 'null'], 'additionalProperties': True}, 'accommodation_groups': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Flat list of accommodation groups (id for get_accommodation_details / configuration).'}, 'has_location_discounts': {'type': 'boolean'}, 'accommodation_categories': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Same groups nested by category for display.'}, 'allows_double_room_individual_bookings': {'type': 'boolean'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'required': ['school_id'], 'properties': {'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}, 'currency': {'type': 'string', 'default': 'EUR', 'examples': ['EUR'], 'description': 'ISO 4217 currency for prices in this call. Usually EUR.'}, 'school_id': {'type': 'integer', 'examples': [12345], 'description': 'Craft CMS school entry id from search_language_schools hits (field school_id). Not the CRM UUID.'}, 'startDate': {'type': 'string', 'examples': ['2026-09-07'], 'description': 'Course start calendar date (YYYY-MM-DD). Typically a Monday from list_starting_dates.'}, 'country_code': {'type': 'string', 'examples': ['NL', 'DE'], 'description': 'Visitor country ISO 3166-1 alpha-2 (e.g. NL). Affects fee display where applicable.'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'school': {'type': ['object', 'null'], 'description': 'School metadata from the booking API.', 'additionalProperties': True}, 'success': {'const': True}, 'currency': {'type': 'string'}, 'start_date': {'type': 'string', 'description': 'Effective start date used for pricing (YYYY-MM-DD).'}, 'course_types': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Course types with nested courses[] (course ids, weeks, week prices).'}, 'pricing_rule': {'type': ['object', 'null'], 'additionalProperties': True}, 'location_discount': {'type': ['object', 'null'], 'additionalProperties': True}, 'busy_school_months': {'type': ['object', 'null'], 'additionalProperties': True}, 'has_location_discounts': {'type': 'boolean'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'required': ['school_id'], 'properties': {'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}, 'school_id': {'type': 'integer', 'examples': [12345], 'description': 'Craft CMS school entry id from search_language_schools hits (field school_id). Not the CRM UUID.'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'dates': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Bookable course start dates (typically Mondays, YYYY-MM-DD strings).'}, 'success': {'const': True}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'properties': {'contact': {'type': 'object', 'description': 'Optional first_name, last_name. Email always comes from the verified account.', 'additionalProperties': True}, 'message': {'type': 'string', 'description': 'Student message to the school.'}, 'trip_id': {'type': 'string', 'description': 'Optional trip_id from save_trip.'}, 'currency': {'type': 'string', 'default': 'EUR', 'examples': ['EUR'], 'description': 'ISO 4217 currency for prices in this call. Usually EUR.'}, 'school_id': {'type': 'integer', 'examples': [12345], 'description': 'Craft CMS school entry id from search_language_schools hits (field school_id). Not the CRM UUID.'}, 'configuration': {'type': 'object', 'properties': {'mealType': {'type': 'string', 'description': 'Meal plan key when accommodation is selected.'}, 'students': {'type': 'array', 'items': {'type': 'object', 'properties': {'weeks': {'type': 'integer', 'minimum': 1, 'description': 'Course duration in weeks.'}, 'courseId': {'type': 'string', 'description': 'Course product id from list_courses for this school.'}}, 'additionalProperties': True}, 'description': 'One object per traveller. courseId comes from list_courses.'}, 'startDate': {'type': 'string', 'examples': ['2026-09-07'], 'description': 'Course start calendar date (YYYY-MM-DD). Typically a Monday from list_starting_dates.'}, 'accommodationGroupId': {'type': 'string', 'description': 'Accommodation group id from list_accommodations (optional).'}}, 'description': 'Same shape as the Extralingo school-page configurator: startDate (YYYY-MM-DD), students[] with courseId, weeks, optional accommodationGroupId, mealType, extras.', 'additionalProperties': True}, 'idempotencyKey': {'type': 'string', 'description': 'Optional alias of idempotency_key.'}, 'idempotency_key': {'type': 'string', 'description': 'Optional. Same semantics as create_booking (24 hour replay window).'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'kind': {'enum': ['discussion'], 'type': 'string', 'description': 'Lead type on success.'}, 'message': {'type': 'string', 'description': 'Human-readable confirmation (not a booking confirmation).'}, 'success': {'const': True}, 'redirectUrl': {'type': ['string', 'null'], 'description': 'Extralingo /my URL for the student to follow the request, when available.'}, 'newBookingId': {'type': ['integer', 'null'], 'description': 'Craft newBookings entry id when created.'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'properties': {'contact': {'type': 'object', 'description': 'Optional first_name, last_name. Email always comes from the verified account.', 'additionalProperties': True}, 'trip_id': {'type': 'string', 'description': 'Optional trip_id from save_trip.'}, 'comments': {'type': 'string', 'description': 'Student message to the school.'}, 'currency': {'type': 'string', 'default': 'EUR', 'examples': ['EUR'], 'description': 'ISO 4217 currency for prices in this call. Usually EUR.'}, 'school_id': {'type': 'integer', 'examples': [12345], 'description': 'Craft CMS school entry id from search_language_schools hits (field school_id). Not the CRM UUID.'}, 'configuration': {'type': 'object', 'properties': {'mealType': {'type': 'string', 'description': 'Meal plan key when accommodation is selected.'}, 'students': {'type': 'array', 'items': {'type': 'object', 'properties': {'weeks': {'type': 'integer', 'minimum': 1, 'description': 'Course duration in weeks.'}, 'courseId': {'type': 'string', 'description': 'Course product id from list_courses for this school.'}}, 'additionalProperties': True}, 'description': 'One object per traveller. courseId comes from list_courses.'}, 'startDate': {'type': 'string', 'examples': ['2026-09-07'], 'description': 'Course start calendar date (YYYY-MM-DD). Typically a Monday from list_starting_dates.'}, 'accommodationGroupId': {'type': 'string', 'description': 'Accommodation group id from list_accommodations (optional).'}}, 'description': 'Same shape as the Extralingo school-page configurator: startDate (YYYY-MM-DD), students[] with courseId, weeks, optional accommodationGroupId, mealType, extras.', 'additionalProperties': True}, 'idempotencyKey': {'type': 'string', 'description': 'Optional alias of idempotency_key.'}, 'idempotency_key': {'type': 'string', 'description': 'Optional. Same semantics as create_booking (24 hour replay window).'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'kind': {'enum': ['quote'], 'type': 'string', 'description': 'Lead type on success.'}, 'message': {'type': 'string', 'description': 'Human-readable confirmation (not a booking confirmation).'}, 'success': {'const': True}, 'redirectUrl': {'type': ['string', 'null'], 'description': 'Extralingo /my URL for the student to follow the request, when available.'}, 'newBookingId': {'type': ['integer', 'null'], 'description': 'Craft newBookings entry id when created.'}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'properties': {'email': {'type': 'string', 'description': 'Optional student email for anonymous drafts. With OAuth, the verified account email is used.'}, 'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}, 'trip_id': {'type': 'string', 'description': 'Omit to create a new trip. Pass an existing trip_id from save_trip to update the same continue_url.'}, 'school_id': {'type': 'integer', 'examples': [12345], 'description': 'Craft CMS school entry id from search_language_schools hits (field school_id). Not the CRM UUID.'}, 'configuration': {'type': 'object', 'properties': {'mealType': {'type': 'string', 'description': 'Meal plan key when accommodation is selected.'}, 'students': {'type': 'array', 'items': {'type': 'object', 'properties': {'weeks': {'type': 'integer', 'minimum': 1, 'description': 'Course duration in weeks.'}, 'courseId': {'type': 'string', 'description': 'Course product id from list_courses for this school.'}}, 'additionalProperties': True}, 'description': 'One object per traveller. courseId comes from list_courses.'}, 'startDate': {'type': 'string', 'examples': ['2026-09-07'], 'description': 'Course start calendar date (YYYY-MM-DD). Typically a Monday from list_starting_dates.'}, 'accommodationGroupId': {'type': 'string', 'description': 'Accommodation group id from list_accommodations (optional).'}}, 'description': 'Same shape as the Extralingo school-page configurator: startDate (YYYY-MM-DD), students[] with courseId, weeks, optional accommodationGroupId, mealType, extras.', 'additionalProperties': True}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'url': {'type': 'string', 'description': 'Legacy alias of continue_url.'}, 'note': {'type': 'string'}, 'success': {'const': True}, 'summary': {'type': 'string', 'description': 'Human-readable configuration summary for agents.'}, 'trip_id': {'type': 'string', 'description': 'Shareable trip id (/s/{id}).'}, 'trip_url': {'type': 'string'}, 'school_id': {'type': 'integer', 'description': 'Craft school entry id.'}, 'school_url': {'type': 'string'}, 'school_name': {'type': 'string'}, 'continue_url': {'type': 'string', 'description': 'Shareable Extralingo URL that restores configuration.'}, 'configuration': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 8, 'maximum': 20, 'minimum': 1, 'description': 'Maximum results (1–20).'}, 'query': {'type': 'string', 'description': 'Destination or school name prefix. Empty returns popular destinations.'}, 'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}, 'language': {'type': 'string', 'description': 'Optional language slug to restrict destinations (e.g. spanish).'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'hits': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Destination matches.'}, 'query': {'type': 'string'}, 'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string'}, 'schools': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Optional school name fallback hits.'}, 'success': {'const': True}}, 'additionalProperties': True}
入力スキーマ
{'type': 'object', 'properties': {'city': {'type': 'string', 'description': 'Single city slug filter. Prefer cities[] for multiple.'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 20, 'minimum': 1, 'description': 'Maximum schools to return (1–20).'}, 'query': {'type': 'string', 'examples': ['Barcelona intensive Spanish'], 'description': 'Free-text search (school name, city, or keyword). Empty returns popular matches for the other filters.'}, 'cities': {'type': 'array', 'items': {'type': 'string', 'description': 'City slug.'}, 'description': 'City slug filters from get_school_filters.'}, 'locale': {'enum': ['en', 'nl', 'da', 'sv'], 'type': 'string', 'examples': ['en', 'nl', 'da', 'sv'], 'description': 'Response language and site context. One of en, nl, da, sv.'}, 'country': {'type': 'string', 'description': 'Country slug or name filter from get_school_filters.'}, 'language': {'type': 'string', 'examples': ['spanish'], 'description': 'Language slug filter from get_school_filters (e.g. spanish, english).'}, 'course_type': {'type': 'string', 'description': 'Course type slug from get_school_filters (e.g. intensive, private).'}}, 'additionalProperties': True}
出力スキーマ
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'description': 'Meilisearch-style payload with hits[] (school_id, title, url, city, country, pricing hints).', 'additionalProperties': True}, 'success': {'const': True}}, 'additionalProperties': True}
最近のツール変更
類似のMCPサーバー
Award Travel Finder
Searches award flights and hotels, tracks bookings and loyalty balances, evaluates points and credit cards, and monitors travel r…
Good Turn Studio (all tools)
Offers consumer utilities for insurance claim appeals, subscription cancellation, flight fare research, financial recovery resour…
AI 代理人任務中樞
Aggregates Taiwan-focused tools for AI service comparisons, cryptocurrency data, game information, health guidance, and other con…
Gover MCP
Searches and manages corporate travel requests, flights, hotels, rental vehicles, passengers, carts, approvals, reservations, and…
DC Member API
Provides access to Dynamite Circle membership data, community profiles, chapters, events, trips, calendars, alerts, follows, agen…
Nomad Stays
Searches and books remote-work accommodations while supporting host listing management, rooms, packages, availability, and hospit…
lilo Vacation Rentals
Supports vacation-rental discovery, availability and direct booking, property operations, short-term-rental compliance, guest and…
mcp-server
Provides immigration, citizenship and residency programme research alongside tax, wealth structuring, banking, visa, treaty and c…