REST API-versionering
Agent-REST API'et er dokumenteret på https://www.extralingo.com/api/v1 (OpenAPI-version 1.0.0). De samme endpoints virker også under unversioned /api/* og forbliver understøttet. Breaking changes udgives under et nyt major-path (for eksempel /api/v2) med mindst 6 måneders varsel før gamle paths fjernes. MCP forbliver på POST /mcp på site-roden.
Forbindelse
- Endpoint:
https://www.extralingo.com/mcp- Transport:
- Streamable HTTP (JSON-RPC 2.0 via POST /mcp)
- MCP-protokolversioner:
2025-06-18, 2025-03-26- Serverversion:
3.0.1
Godkendelse
Læseværktøjer (søgning, kataloger, pristilbud, hent tur efter id) kræver ingen token.
Skriveværktøjer kræver OAuth 2.1: authorization code med PKCE S256, scopes trips, requests og bookings. Protected resource metadata findes på /.well-known/oauth-protected-resource.
Værktøjer
Listen nedenfor genereres fra det live MCP-værktøjsregister på denne server.
| Værktøj | Beskrivelse | Adgang |
|---|---|---|
| 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. | Kun læsning |
| search_destinations | Search cities, countries, and school names. Use before search_language_schools to resolve place names to slugs. | Kun læsning |
| get_school_filters | Valid filter values for search_language_schools (languages, countries, cities, course types, and other facets). | Kun 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. | Kun læsning |
| list_courses | Live course catalogue for a bookings_live school (course ids, weeks, prices). Use returned course ids inside save_trip configuration. | Kun læsning |
| list_starting_dates | Allowed course start dates (typically Mondays) for a school. Use startDate values in list_courses and configuration.startDate. | Kun læsning |
| list_accommodations | Accommodation groups for a school. Use group ids in save_trip configuration (accommodationGroupId). | Kun læsning |
| get_course_details | Details for one course id from list_courses (pricing rows, supplements, metadata). | Kun 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. | Kun 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. | Kun 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). | Opretter en forespørgsel / kræver login |
| get_trip | Load a saved trip by trip_id from save_trip. Returns continue_url for website handoff with configuration restored. | Kun 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. | Opretter en forespørgsel / kræver login |
| 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. | Opretter en forespørgsel / kræver login |
| 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. | Opretter en forespørgsel / kræver login |
| 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. | Opretter en forespørgsel / kræver login |
| ask_school_question | Send a question to the school without a full trip configuration. Requires OAuth requests scope. Optional idempotency_key. | Opretter en forespørgsel / kræver login |
Sådan forbinder du
Brug streamable HTTP mod endpointet ovenfor. Tjek din clients aktuelle dokumentation for det præcise config-format.
- Claude (Connectors / remote MCP): tilføj en custom connector med URL https://www.extralingo.com/mcp og gennemfør OAuth, når skriveværktøjer beder om det.
- Cursor: tilføj en streamable-http MCP-server på https://www.extralingo.com/mcp (se Cursor-docs for mcp.json / MCP-indstillinger).
- Generiske clients: POST JSON-RPC initialize, derefter tools/list og tools/call. Send Accept: application/json, text/event-stream og genbrug Mcp-Session-Id fra initialize-svaret.
Maskinlæsbare ressourcer
- Site-index for agenter
- Mange offentlige sider svarer også på Accept: text/markdown.
- MCP-serverkort
- Agent resource directory (ARD)
- AI-katalog (samme payload som ARD)
- OpenAPI 3.1 (REST)
- Godkendelsesguide
Listet på
Kontakt
Spørgsmål om MCP-serveren eller API-integration:



