Skip to content
Official MCP RegistryListed

Extralingo

Search language schools abroad, compare courses, dates and prices, and request bookings.

First seen 3 Oct 2026. Evidence as of 6 Oct 2026.

17
Tools
From an anonymous probe
1
Source listings
Each with its own history
35
Recorded changes
Since first seen

Tools

ToolDescriptionBehaviour
ask_school_questionSend a question to the school without a full trip configuration. Requires OAuth requests scope. Optional idempotency_key.Changes data
calculate_trip_priceLive checkout quote for a configuration. Not a booking. Call before create_booking and before telling the student a final price.Read-only
create_bookingSubmit an unpaid booking for a bookings_live school (same path as the website Book now flow). The school still confirms availability; Extralingo emails the student; down payment is due within 5 days of school confirmation via Extralingo only. Never tell the user they are confirmed or paid. Requires OAuth bookings scope (Bearer token). Optional idempotency_key replays the same payload within 24 hours.Changes data
email_tripEmail continue_url (/s/{id}) to the verified account inbox. Requires OAuth trips scope. Rate-limited. Not a booking; you can share continue_url without emailing.Changes data
get_accommodation_detailsOne group from list_accommodations (group_id): type, room_types, meal/board options, distance, amenities, age and min-stay rules, and week prices for startDate and currency. Use after list_accommodations, before save_trip or calculate_trip_price, or to answer questions about one option. Week prices are indicative; call calculate_trip_price for a checkout total.Read-only
get_course_detailsDetails for one course id from list_courses (pricing rows, supplements, metadata).Read-only
get_schoolSchool briefing: profile, cancellation policy, reviews, image URLs, bookings_live flag, and optional hero image for chat UI. Requires school_id from search_language_schools.Read-only
get_school_filtersValid filter values for search_language_schools (languages, countries, cities, course types, and other facets).Read-only
get_tripLoad a saved trip by trip_id from save_trip. Returns continue_url for website handoff with configuration restored.Read-only
list_accommodationsAccommodation groups for a school. Use group ids in save_trip configuration (accommodationGroupId).Read-only
list_coursesLive course catalogue for a bookings_live school (course ids, weeks, prices). Use returned course ids inside save_trip configuration.Read-only
list_starting_datesAllowed course start dates (typically Mondays) for a school. Use startDate values in list_courses and configuration.startDate.Read-only
request_discussionTrip discussion: trip_id or school_id+configuration plus message. ask_school_question: question without a trip. request_quote: personal quote (comments) when not booking. School gets the config; Extralingo emails the verified account and coordinates replies. Returns kind, newBookingId, redirectUrl, message (not a booking). OAuth scope requests. Optional idempotency_key.Changes data
request_quoteAsk the school for a personal quote when bookings_live is false or the student is not ready to book. Requires OAuth requests scope. Optional idempotency_key.Changes data
save_tripCreate or update a server-side trip draft. Returns trip_id, url, trip_url, and continue_url (/s/{id}) so the student can restore selections on Extralingo.com. Not a booking. Requires OAuth trips scope (Bearer token).Changes data
search_destinationsSearch cities, countries, and school names. Use before search_language_schools to resolve place names to slugs.Read-only
search_language_schoolsSearch and rank language schools. Returns school_id, url, indicative from-price, and reviews. Prices are not a booking quote; call calculate_trip_price before quoting a total.Read-only

Change history

  1. search_language_schools: input schema changed
  2. search_language_schools: description changed (+"and" +"quote; call calculate_trip_price before quoting a total." -"quote.")
  3. search_destinations: input schema changed
  4. search_destinations: description changed (+"countries," +"before search_language_schools" +"names to slugs.")
  5. save_trip: input schema changed
  6. save_trip: description changed (+"url," +"restore selections" +"Extralingo.com.")
  7. request_quote: input schema changed (+idempotencyKey, +idempotency_key, -auth_token)
  8. request_quote: description changed (+"quote" +"false" +"OAuth requests scope. Optional idempotency_key.")
  9. request_discussion: input schema changed (+idempotencyKey, +idempotency_key, -auth_token)
  10. request_discussion: description changed (+"Trip discussion: trip_id or school_id+configuration plus message. ask_school_question: question without" +"trip. request_quote: personal quote (comments) when not booking. School gets" +"config; Extralingo emails")
  11. list_starting_dates: input schema changed
  12. list_starting_dates: description changed (+"Use startDate values in list_courses and configuration.startDate.")
  13. list_courses: input schema changed
  14. list_courses: description changed (+"(course ids," +"returned course" +"inside save_trip configuration.")
  15. list_accommodations: input schema changed
  16. list_accommodations: description changed (+"save_trip configuration (accommodationGroupId)." -"save_trip.")
  17. get_trip: input schema changed
  18. get_trip: description changed (+"trip_id from save_trip." -"trip_id." -"the")
  19. get_school_filters: input schema changed
  20. get_school_filters: description changed (+"countries," +"and other facets)." -"etc.).")
  21. get_school: input schema changed
  22. get_school: description changed (+"cancellation policy," +"bookings_live flag," +"optional")
  23. get_course_details: input schema changed
  24. get_course_details: description changed (+"list_courses (pricing rows, supplements, metadata)." -"list_courses.")
  25. get_accommodation_details: input schema changed
  26. get_accommodation_details: description changed (+"One group from list_accommodations (group_id): type, room_types, meal/board options, distance, amenities, age and min-stay rules, and week prices" +"startDate and currency. Use after list_accommodations, before save_trip or calculate_trip_price, or to answer questions about" +"option. Week prices are indicative; call calculate_trip_price for a checkout total.")
  27. email_trip: input schema changed
  28. email_trip: description changed (+"inbox." +"Not" +"booking; you can")
  29. create_booking: input schema changed (+idempotency_key, -auth_token)
  30. create_booking: description changed (+"Submit an" +"for a bookings_live school (same path as" +"website Book now flow).")
  31. calculate_trip_price: input schema changed
  32. calculate_trip_price: description changed (+"before create_booking and" +"telling the student a final price." -"this")
  33. ask_school_question: input schema changed (+configuration, +idempotencyKey, +idempotency_key, +trip_id, -auth_token)
  34. ask_school_question: description changed (+"configuration." +"OAuth requests scope. Optional idempotency_key." -"config.")
  35. Listed (registry)
Source listings
SourceListingFirst seenLast seenVersions
Official MCP Registrycom.extralingo/extralingo3 Oct 20266 Oct 20261