Surf Booking

Surf lessons from verified schools and the sea beach by beach, for your level and hour. Read-only.

사용해야 할까요

품질 및 안전성

A
설명 품질
98%
스키마 완전성
89%
이름 품질
90%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,499토큰 (도구 정의)
~1.1 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.95%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "surfbooking": {
      "url": "https://www.surfbooking.eu/api/mcp"
    }
  }
}

원격 엔드포인트

https://www.surfbooking.eu/api/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (10)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search_lessons(query, level, maxPrice, from, to)

Search bookable surf lessons on SurfBooking by free-text query (zone, beach, level, activity), with optional structured filters (level, maxPrice, date range). Returns upcoming lessons with date, time, spot, level, school, price and a booking link, and says how many matched. All times are local Europe/Lisbon. SurfBooking zones with schools only: Portugal (14 zones with schools), Spain (1 zone with schools). Read-only — does not book or charge anything. It returns lessons, not a ranking of where the surf is good right now. Great for 'aulas de surf na Ericeira', 'beginner lessons this weekend' or 'surf lesson under 40 euros'. This is the general search by place, level, date and price; it does not filter by what the sea is doing, and it does not search hotels.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free text in Portuguese, English, Spanish, French, German or Italian, e.g. 'beginner Carcavelos', 'aulas iniciante Ericeira', 'kurs morgen Ericeira' or 'cours debutant Peniche'. Min 2 chars."
    },
    "level": {
      "type": "string",
      "description": "Optional — only this level.",
      "enum": [
        "beginner",
        "intermediate",
        "advanced",
        "kids"
      ]
    },
    "maxPrice": {
      "type": "number",
      "description": "Optional — only lessons at or below this price in EUR, e.g. 50."
    },
    "from": {
      "type": "string",
      "description": "Optional — earliest date, YYYY-MM-DD."
    },
    "to": {
      "type": "string",
      "description": "Optional — latest date, YYYY-MM-DD."
    }
  },
  "required": [
    "query"
  ]
}
🟢lesson_details(lessonId)

Get full details of a specific bookable lesson by its id (date, time, level, price, duration, spots left, what's included). Takes a lesson id from a lesson search result. Read-only. Great for 'tell me more about that lesson' or 'o que está incluído nessa aula'.

입력 스키마

{
  "type": "object",
  "properties": {
    "lessonId": {
      "type": "string",
      "description": "The lesson id from a lesson search result."
    }
  },
  "required": [
    "lessonId"
  ]
}
🟢get_booking_link(lessonId)

Get the secure SurfBooking link a user opens to BOOK and PAY for a lesson. NEVER books or charges — only returns the URL; the human completes the purchase. Great for 'send me the payment link' or 'manda-me o link para pagar essa aula'.

입력 스키마

{
  "type": "object",
  "properties": {
    "lessonId": {
      "type": "string",
      "description": "The lesson id from a lesson search result."
    }
  },
  "required": [
    "lessonId"
  ]
}
🟢surf_forecast(spot, level)

Get the SurfBooking forecast for a surf spot by name (e.g. 'Carcavelos', 'Ericeira', 'Matosinhos', 'Peniche'). Returns the current 0–10 surf score with label, the level-relevant wave height, period and wind, PLUS a multi-day outlook (the best daylight window per day for the next ~week) so you can answer 'which day this week should I book a lesson?'. The score is level-aware and scored per spot (proprietary). Read-only, SurfBooking zones only: Portugal (27 zones), South Africa (4 zones), Spain (2 zones), Italy (2 zones), times Europe/Lisbon. Books or charges nothing.

입력 스키마

{
  "type": "object",
  "properties": {
    "spot": {
      "type": "string",
      "description": "Surf spot or beach name, e.g. 'Carcavelos' or 'Ericeira'. Min 2 chars."
    },
    "level": {
      "type": "string",
      "description": "Optional — the surfer's level. Tailors BOTH the score and the multi-day outlook to that level.",
      "enum": [
        "beginner",
        "intermediate",
        "advanced",
        "kids"
      ]
    }
  },
  "required": [
    "spot"
  ]
}
🟢size_equipment(weight, height, level, shoeSizeEu)

Recommend surf gear sizes (wetsuit, board, leash, and boots if a shoe size is given) from a person's weight, height and surf level. Pure EU/Portugal sizing calculation — read-only, books or charges nothing. Useful before picking a lesson so the right gear is ready. Great for 'what wetsuit size do I need' or 'que prancha para 80 kg e 1,80 m'.

입력 스키마

{
  "type": "object",
  "properties": {
    "weight": {
      "type": "number",
      "description": "Body weight in kilograms, e.g. 80."
    },
    "height": {
      "type": "number",
      "description": "Height in centimetres, e.g. 180. Optional — improves the wetsuit fit."
    },
    "level": {
      "type": "string",
      "description": "Surf level.",
      "enum": [
        "beginner",
        "intermediate",
        "advanced",
        "kids"
      ]
    },
    "shoeSizeEu": {
      "type": "number",
      "description": "EU shoe size, e.g. 42. Optional — only needed for boots sizing."
    }
  },
  "required": [
    "weight",
    "level"
  ]
}
🟢list_zones

List the surf zones/regions covered by SurfBooking (SurfBooking zones only: Portugal (27 zones), South Africa (4 zones), Spain (2 zones), Italy (2 zones)), with how many certified schools each has and whether lessons are bookable. Answers an open 'where can I learn to surf?' / 'best region for beginners?' question. This is about REGIONS and school coverage, never live sea conditions or per-level rankings.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_spots(zone)

List surf beaches (spots), optionally filtered to one zone/region, with bottom type and a short description so you can pick beginner-friendly beaches. Returns beaches, not forecasts or lessons. Great for 'which beaches are in Ericeira' or 'praias boas para iniciantes no Algarve'.

입력 스키마

{
  "type": "object",
  "properties": {
    "zone": {
      "type": "string",
      "description": "Optional — zone/region name to filter by, e.g. 'Ericeira' or 'Lagos'. Omit for all spots."
    }
  },
  "additionalProperties": false
}
🟢recommend_spots(zone, level, limit)

Recommend the top surf beaches in SurfBooking zones right now. Pass `level` for a LEVEL-AWARE ranking — the best spots for a beginner / advanced surfer at this moment, weighted by how well each spot's live wave fits that level. Without `level`, ranks by the live SurfBooking Index (conditions + activity). Best for 'where's good to surf now?' / 'best beach for a beginner today?'. Optionally filter by zone. It ranks beaches for right now, not the best day ahead, and returns no lessons. This returns BEACHES, not lessons.

입력 스키마

{
  "type": "object",
  "properties": {
    "zone": {
      "type": "string",
      "description": "Optional — zone/region name to filter by, e.g. 'Ericeira'."
    },
    "level": {
      "type": "string",
      "description": "Optional — surfer level. When given, ranks spots by how well each one's live conditions fit that level (a 0.6m beach is great for a beginner, poor for advanced).",
      "enum": [
        "beginner",
        "intermediate",
        "advanced",
        "kids"
      ]
    },
    "limit": {
      "type": "number",
      "description": "Optional — how many to return (default 6, max 12)."
    }
  },
  "additionalProperties": false
}
🟢find_lessons_by_conditions(waveMin, scoreMin, level, zone, days, ...)

Find bookable surf lessons at SurfBooking beaches where current sea conditions match the given criteria: minimum wave height, minimum surf score, wind quality, and/or a specific level. Returns real upcoming lessons with date, time, spot, price and a booking link — only from spots where the sea ACTUALLY meets your threshold right now. Great for 'find beginner lessons when the sea is at least 1m', 'show lessons on days with light wind', or 'surf quando o mar tiver pelo menos 1.5m'. The scoring algorithm is proprietary and runs server-side. Read-only, SurfBooking zones with schools only: Portugal (14 zones with schools), Spain (1 zone with schools). Books or charges nothing. It always returns lessons, never a plain ranking of beaches.

입력 스키마

{
  "type": "object",
  "properties": {
    "waveMin": {
      "type": "number",
      "description": "Minimum wave height in metres, e.g. 1 or 1.5. Omit to skip wave filter."
    },
    "scoreMin": {
      "type": "number",
      "description": "Minimum SurfBooking score (0–10). Omit to skip score filter."
    },
    "level": {
      "type": "string",
      "description": "Optional — only return lessons for this level.",
      "enum": [
        "beginner",
        "intermediate",
        "advanced",
        "kids"
      ]
    },
    "zone": {
      "type": "string",
      "description": "Optional — filter to a zone/region, e.g. 'Porto' or 'Ericeira'."
    },
    "days": {
      "type": "number",
      "description": "How many days ahead to look for lessons (default 7, max 14)."
    },
    "lightWind": {
      "type": "boolean",
      "description": "Optional — if true, only return spots where wind speed is currently ≤ 30 km/h."
    }
  },
  "additionalProperties": false
}
🟢best_surf_today(limit, level)

Return the top surf spots in SurfBooking zones right now, ranked by current live conditions. Scores every active SurfBooking spot (wave height, swell period, wind, coast facing) and returns the best ones with wave height, wind, surf score, level suitability, and a link to each beach's page with its lessons. Great for 'what's the best surf spot today?', 'onde está o surf melhor agora?', or 'melhores condições de surf em Portugal'. Conditions are cached from the live forecast and updated every 15 minutes. Read-only, SurfBooking zones only: Portugal (27 zones), South Africa (4 zones), Spain (2 zones), Italy (2 zones). The ranking is by live conditions only, not weighted to one surfer level.

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Number of spots to return (default 8, max 20)."
    },
    "level": {
      "type": "string",
      "description": "Optional — filter to spots suitable for this level.",
      "enum": [
        "beginner",
        "intermediate",
        "advanced",
        "kids"
      ]
    }
  },
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 10개