REST API-versionering
Agent-REST API:et dokumenteras på https://www.extralingo.com/api/v1 (OpenAPI-version 1.0.0). Samma endpoints fungerar också under unversioned /api/* och fortsätter att stödjas. Breaking changes publiceras under en ny major-sökväg (till exempel /api/v2) med minst 6 månaders varsel innan gamla paths tas bort. MCP ligger kvar på POST /mcp i site-roten.
Anslutning
- Endpoint:
https://www.extralingo.com/mcp- Transport:
- Streamable HTTP (JSON-RPC 2.0 via POST /mcp)
- MCP-protokollversioner:
2025-06-18, 2025-03-26- Serverversion:
3.0.1
Autentisering
Läsverktyg (sökning, kataloger, prisofferter, hämta resa via id) kräver ingen token.
Skrivverktyg kräver OAuth 2.1: authorization code med PKCE S256, scopes trips, requests och bookings. Protected resource metadata finns på /.well-known/oauth-protected-resource.
Fullständig auth-guide · /.well-known/oauth-protected-resource
Verktyg
Listan nedan genereras från det live MCP-verktygsregistret på den här servern.
| Verktyg | Beskrivning | Åtkomst |
|---|---|---|
| search_language_schools | Search 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. | Endast läsning |
| search_destinations | Search cities, countries, and school names. Use before search_language_schools to resolve place names to slugs. | Endast läsning |
| get_school_filters | Valid filter values for search_language_schools (languages, countries, cities, course types, and other facets). | Endast läsning |
| get_school | School briefing: profile, cancellation policy, reviews, image URLs, bookings_live flag, and optional hero image for chat UI. Requires school_id from search_language_schools. | Endast läsning |
| list_courses | Live course catalogue for a bookings_live school (course ids, weeks, prices). Use returned course ids inside save_trip configuration. | Endast läsning |
| list_starting_dates | Allowed course start dates (typically Mondays) for a school. Use startDate values in list_courses and configuration.startDate. | Endast läsning |
| list_accommodations | Accommodation groups for a school. Use group ids in save_trip configuration (accommodationGroupId). | Endast läsning |
| get_course_details | Details for one course id from list_courses (pricing rows, supplements, metadata). | Endast läsning |
| get_accommodation_details | One 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. | Endast läsning |
| calculate_trip_price | Live checkout quote for a configuration. Not a booking. Call before create_booking and before telling the student a final price. | Endast läsning |
| save_trip | Create 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). | Skapar en förfrågan / kräver inloggning |
| get_trip | Load a saved trip by trip_id from save_trip. Returns continue_url for website handoff with configuration restored. | Endast läsning |
| email_trip | Email 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. | Skapar en förfrågan / kräver inloggning |
| create_booking | Submit 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. | Skapar en förfrågan / kräver inloggning |
| request_quote | Ask 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. | Skapar en förfrågan / kräver inloggning |
| request_discussion | Trip 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. | Skapar en förfrågan / kräver inloggning |
| ask_school_question | Send a question to the school without a full trip configuration. Requires OAuth requests scope. Optional idempotency_key. | Skapar en förfrågan / kräver inloggning |
Så ansluter du
Använd streamable HTTP mot endpointen ovan. Kontrollera din klients aktuella dokumentation för exakt config-format.
- Claude (Connectors / remote MCP): lägg till en custom connector med URL https://www.extralingo.com/mcp och slutför OAuth när skrivverktyg kräver det.
- Cursor: lägg till en streamable-http MCP-server på https://www.extralingo.com/mcp (se Cursor-docs för mcp.json / MCP-inställningar).
- Generiska klienter: POST JSON-RPC initialize, sedan tools/list och tools/call. Skicka Accept: application/json, text/event-stream och återanvänd Mcp-Session-Id från initialize-svaret.
Maskinläsbara resurser
- Site-index för agenter
- Många offentliga sidor svarar också på Accept: text/markdown.
- MCP-serverkort
- Agent resource directory (ARD)
- AI-katalog (samma payload som ARD)
- OpenAPI 3.1 (REST)
- Autentiseringsguide
Listad på
Kontakt
Frågor om MCP-servern eller API-integration:



