Playwright MCP Server
mcp.so:en/extralingo
Score: 90/100
Handshake verified by our own probe.
How to earn +10 points
Tools · 17
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.
Search cities, countries, and school names. Use before search_language_schools to resolve place names to slugs.
Valid filter values for search_language_schools (languages, countries, cities, course types, and other facets).
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.
Live course catalogue for a bookings_live school (course ids, weeks, prices). Use returned course ids inside save_trip configuration.
Allowed course start dates (typically Mondays) for a school. Use startDate values in list_courses and configuration.startDate.
Accommodation groups for a school. Use group ids in save_trip configuration (accommodationGroupId).
Details for one course id from list_courses (pricing rows, supplements, metadata).
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_accommodati…
Live checkout quote for a configuration. Not a booking. Call before create_booking and before telling the student a final price.
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…
Load a saved trip by trip_id from save_trip. Returns continue_url for website handoff with configuration restored.
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.
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 o…
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.
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; Extra…
Send a question to the school without a full trip configuration. Requires OAuth requests scope. Optional idempotency_key.
Resources · 3
https://www.extralingo.com/openapi.json
https://www.extralingo.com/llms.txt
https://www.extralingo.com/auth.md
How to use
Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://www.extralingo.com/mcp
Cursor or Cline: add to your MCP config:
{
"mcpServers": {
"playwright_mcp_server": {
"url": "https://www.extralingo.com/mcp",
"transport": "http"
}
}
}