TripWays

Find, price, and book tours, day trips, and activities worldwide, with live dates and prices.

사용해야 할까요

품질 및 안전성

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

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

컨텍스트 비용

~3,401토큰 (도구 정의)
~5.2 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.66%)

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

설치

원클릭 설치

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

{
  "mcpServers": {
    "tours": {
      "url": "https://mcp.tripways.com/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.tripways.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (6)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search_tours(query, destination, price_min, price_max, duration_hours_min, ...)

Search the TripWays catalog of bookable tours, day trips, and activities worldwide. Pass a natural-language query plus any filters you already know: destination, price range in USD, duration in hours, activity, theme, or cancellation policy. Returns ranked tours with bokun_id, title, from-price, duration, destinations, rating, cancellation policy, hero_image, the TripWays page (url), and checkout_url. For live dates, remaining seats, or a group total, use check_availability and get_price_quote.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "maxLength": 500,
      "description": "Natural-language search, e.g. 'family food tour in Rome under $100'."
    },
    "destination": {
      "type": "string",
      "maxLength": 120,
      "description": "Place name (city, region, country, or well-known area/landmark). Resolved against TripWays destinations; a landmark that is not a destination is added to the search text."
    },
    "price_min": {
      "type": "number",
      "minimum": 0
    },
    "price_max": {
      "type": "number",
      "minimum": 0
    },
    "duration_hours_min": {
      "type": "number",
      "minimum": 0
    },
    "duration_hours_max": {
      "type": "number",
      "minimum": 0
    },
    "activity": {
      "type": "string",
      "maxLength": 60,
      "description": "Activity facet, e.g. food, hiking, snorkeling."
    },
    "theme": {
      "type": "string",
      "maxLength": 60
    },
    "cancellation": {
      "type": "string",
      "enum": [
        "free",
        "flexible",
        "partial",
        "non_refundable"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 8
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "tours": {
      "type": "array",
      "description": "Ranked tours; empty when nothing matched (see note).",
      "items": {
        "type": "object",
        "properties": {
          "bokun_id": {
            "type": "string",
            "description": "Tour id; the number in tripways.com/t/{id}."
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "The tour's TripWays page."
          },
          "checkout_url": {
            "type": "string",
            "description": "TripWays checkout for this tour."
          },
          "hero_image": {
            "type": "string",
            "description": "Main photo URL."
          },
          "from_price": {
            "type": "object",
            "description": "Lowest adult price.",
            "properties": {
              "amount": {
                "type": "number",
                "minimum": 0
              },
              "currency": {
                "type": "string"
              }
            }
          },
          "duration_text": {
            "type": "string"
          },
          "duration_hours": {
            "type": "number"
          },
          "destinations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "themes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "activities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cancellation": {
            "type": "string",
            "description": "free, flexible, partial, or non_refundable."
          },
          "rating": {
            "type": "object",
            "properties": {
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "count": {
                "type": "integer"
              },
              "low_confidence": {
                "type": "boolean",
                "description": "True when there are fewer than 10 reviews."
              }
            }
          },
          "hotel_pickup": {
            "type": "boolean"
          },
          "bookable_natively": {
            "type": "boolean",
            "description": "True when checkout_url opens TripWays checkout; false when it opens the operator calendar."
          },
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "Why checkout works the way it does, e.g. pickup_required."
          },
          "gttd_eligible": {
            "type": "boolean",
            "description": "Listed on Google Things to Do."
          }
        }
      }
    },
    "note": {
      "type": "string",
      "description": "Why the list is empty or how the destination was read."
    },
    "destination_resolved": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "display_name": {
          "type": "string"
        },
        "level": {
          "type": "string",
          "description": "country, region, city, or district."
        },
        "country_code": {
          "type": "string"
        },
        "hierarchy": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "url": {
          "type": "string",
          "description": "The destination's TripWays page."
        },
        "tour_count": {
          "type": "integer"
        },
        "browseable": {
          "type": "boolean"
        },
        "resolved_via": {
          "type": "string",
          "description": "area_alias when a landmark maps to its parent destination."
        },
        "alias": {
          "type": "string"
        }
      }
    },
    "guidance": {
      "type": "string"
    }
  },
  "required": [
    "ok"
  ]
}
🟢get_tour_details(bokun_id)

Get the full details of one TripWays tour by bokun_id (the number in tripways.com/t/{id}): summary, itinerary stops, inclusions and exclusions, languages, cancellation policy, meeting point or pickup, from-price, rating, hero_image, url, and checkout_url. Live dates and group totals come from check_availability and get_price_quote.

입력 스키마

{
  "type": "object",
  "properties": {
    "bokun_id": {
      "type": "string",
      "pattern": "^[0-9]+$"
    }
  },
  "required": [
    "bokun_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "bokun_id": {
      "type": "string",
      "description": "Tour id; the number in tripways.com/t/{id}."
    },
    "title": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "description": "The tour's TripWays page."
    },
    "checkout_url": {
      "type": "string",
      "description": "TripWays checkout for this tour."
    },
    "hero_image": {
      "type": "string",
      "description": "Main photo URL."
    },
    "from_price": {
      "type": "object",
      "description": "Lowest adult price.",
      "properties": {
        "amount": {
          "type": "number",
          "minimum": 0
        },
        "currency": {
          "type": "string"
        }
      }
    },
    "duration_text": {
      "type": "string"
    },
    "duration_hours": {
      "type": "number"
    },
    "destinations": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "themes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "activities": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "cancellation": {
      "type": "string",
      "description": "free, flexible, partial, or non_refundable."
    },
    "rating": {
      "type": "object",
      "properties": {
        "value": {
          "type": [
            "number",
            "null"
          ]
        },
        "count": {
          "type": "integer"
        },
        "low_confidence": {
          "type": "boolean",
          "description": "True when there are fewer than 10 reviews."
        }
      }
    },
    "hotel_pickup": {
      "type": "boolean"
    },
    "bookable_natively": {
      "type": "boolean",
      "description": "True when checkout_url opens TripWays checkout; false when it opens the operator calendar."
    },
    "reason": {
      "type": [
        "string",
        "null"
      ],
      "description": "Why checkout works the way it does, e.g. pickup_required."
    },
    "gttd_eligible": {
      "type": "boolean",
      "description": "Listed on Google Things to Do."
    },
    "summary": {
      "type": "string"
    },
    "inclusions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "exclusions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "languages": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "meeting_pickup_label": {
      "type": "string"
    },
    "itinerary": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "stop_index": {
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "poi_name": {
            "type": "string"
          }
        }
      }
    },
    "guidance": {
      "type": "string"
    }
  },
  "required": [
    "ok"
  ]
}
🟢get_destination_info(query, country_code)

Resolve a place name (a city, region, country, or well-known area such as Khao Sok) to a TripWays destination with bookable tours. Useful before search_tours when a name could mean more than one place. An ambiguous name returns destination_ambiguous with a did_you_mean list; pass country_code (ISO 3166-1 alpha-2, e.g. FR) to choose one. Area names resolve to their parent destination and include resolved_via=area_alias.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "country_code": {
      "type": "string",
      "pattern": "^[A-Za-z]{2}$",
      "description": "Optional ISO2 pin, e.g. FR."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "destination": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "display_name": {
          "type": "string"
        },
        "level": {
          "type": "string",
          "description": "country, region, city, or district."
        },
        "country_code": {
          "type": "string"
        },
        "hierarchy": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "url": {
          "type": "string",
          "description": "The destination's TripWays page."
        },
        "tour_count": {
          "type": "integer"
        },
        "browseable": {
          "type": "boolean"
        },
        "resolved_via": {
          "type": "string",
          "description": "area_alias when a landmark maps to its parent destination."
        },
        "alias": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "ok"
  ]
}
🟢check_availability(bokun_id, date, date_end, party_size, travelers)

Check live start times and remaining seats for a TripWays tour on one date or a range of up to 31 days. Pass party_size (seats needed) or a travelers object; slots that cannot fit the group are left out, and party_size wins if both are given. The status field is ok, no_schedule, no_fit, or calendar_gone. Use get_price_quote with the same date, start time, and travelers for the total.

입력 스키마

{
  "type": "object",
  "properties": {
    "bokun_id": {
      "type": "string",
      "pattern": "^[0-9]+$"
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "date_end": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Inclusive end; default = date. Max 31 days."
    },
    "party_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Occupied seats to keep (not ticket count). Slots with availabilityCount < party_size are omitted unless unlimited. Wins over travelers when both are set."
    },
    "travelers": {
      "type": "object",
      "description": "Simple ages; mapped to occupied seats (infants excluded unless the tour has an infant category). Used only when party_size is omitted.",
      "properties": {
        "adults": {
          "type": "integer",
          "minimum": 0,
          "default": 1
        },
        "seniors": {
          "type": "integer",
          "minimum": 0
        },
        "youth": {
          "type": "integer",
          "minimum": 0
        },
        "children": {
          "type": "integer",
          "minimum": 0
        },
        "infants": {
          "type": "integer",
          "minimum": 0
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "bokun_id",
    "date"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "bokun_id": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "description": "ok, no_schedule, no_fit, or calendar_gone."
    },
    "note": {
      "type": "string"
    },
    "slots": {
      "type": "array",
      "description": "Open start times that fit the party.",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "YYYY-MM-DD."
          },
          "start_time": {
            "type": "string",
            "description": "HH:MM."
          },
          "start_time_id": {
            "type": "integer",
            "description": "Pass to get_price_quote / get_booking_link."
          },
          "label": {
            "type": "string"
          },
          "spots_left": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Null when unlimited."
          },
          "unlimited": {
            "type": "boolean"
          },
          "sold_out": {
            "type": "boolean"
          },
          "min_participants": {
            "type": "integer"
          },
          "rate_ids": {
            "type": "array"
          }
        }
      }
    },
    "bookable_natively": {
      "type": "boolean"
    },
    "reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "checkout_url": {
      "type": "string"
    }
  },
  "required": [
    "ok"
  ]
}
🟢get_price_quote(bokun_id, date, start_time_id, start_time, travelers)

Get the live total for a TripWays tour on one date and start time for a traveler mix, priced from the operator's booking calendar. A quote does not hold seats or charge anything. Optional extras and promo codes are not included. When the tour's rates cannot price that mix, the result is unpriced.

입력 스키마

{
  "type": "object",
  "properties": {
    "bokun_id": {
      "type": "string",
      "pattern": "^[0-9]+$"
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "start_time_id": {
      "type": "integer",
      "minimum": 1
    },
    "start_time": {
      "type": "string",
      "pattern": "^\\d{2}:\\d{2}$",
      "description": "HH:MM if start_time_id unknown."
    },
    "travelers": {
      "type": "object",
      "description": "Simple ages; mapped to Bokun pricing categories.",
      "properties": {
        "adults": {
          "type": "integer",
          "minimum": 0,
          "default": 1
        },
        "seniors": {
          "type": "integer",
          "minimum": 0
        },
        "youth": {
          "type": "integer",
          "minimum": 0
        },
        "children": {
          "type": "integer",
          "minimum": 0
        },
        "infants": {
          "type": "integer",
          "minimum": 0
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "bokun_id",
    "date"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "bokun_id": {
      "type": "string"
    },
    "quote_kind": {
      "type": "string"
    },
    "currency": {
      "type": "string"
    },
    "package_total": {
      "type": "number",
      "minimum": 0,
      "description": "Total for the whole group, before optional extras and promo codes."
    },
    "from_price": {
      "type": "number",
      "minimum": 0
    },
    "rate_title": {
      "type": "string"
    },
    "date": {
      "type": "string"
    },
    "start_time": {
      "type": "string"
    },
    "travelers_priced": {
      "type": "object",
      "description": "Traveler counts the total covers.",
      "additionalProperties": {
        "type": "integer"
      }
    },
    "min_participants": {
      "type": "integer"
    },
    "includes_required_extras": {
      "type": "boolean"
    },
    "optional_extras_excluded": {
      "type": "boolean"
    },
    "promo_applied": {
      "type": "boolean"
    },
    "bookable_natively": {
      "type": "boolean"
    },
    "reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "checkout_url": {
      "type": "string",
      "description": "Checkout preset to this date, time, and travelers."
    }
  },
  "required": [
    "ok"
  ]
}
🟢get_booking_link(bokun_id, date, start_time_id, start_time, rate_id, ...)

Get the TripWays checkout link for a tour, optionally preset to a date, start time, rate, and traveler mix. The traveler pays on tripways.com; this tool does not hold seats or take payment. bookable_natively and reason say whether the link opens TripWays checkout or the operator's calendar, and whether a hotel pickup must be chosen at checkout.

입력 스키마

{
  "type": "object",
  "properties": {
    "bokun_id": {
      "type": "string",
      "pattern": "^[0-9]+$"
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "start_time_id": {
      "type": "integer",
      "minimum": 1
    },
    "start_time": {
      "type": "string",
      "pattern": "^\\d{2}:\\d{2}$",
      "description": "HH:MM if start_time_id unknown."
    },
    "rate_id": {
      "type": "integer",
      "minimum": 1
    },
    "travelers": {
      "type": "object",
      "description": "Simple ages; mapped to Bokun pricing categories.",
      "properties": {
        "adults": {
          "type": "integer",
          "minimum": 0,
          "default": 1
        },
        "seniors": {
          "type": "integer",
          "minimum": 0
        },
        "youth": {
          "type": "integer",
          "minimum": 0
        },
        "children": {
          "type": "integer",
          "minimum": 0
        },
        "infants": {
          "type": "integer",
          "minimum": 0
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "bokun_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "bokun_id": {
      "type": "string"
    },
    "checkout_url": {
      "type": "string",
      "description": "Open in the browser to pay on tripways.com."
    },
    "bookable_natively": {
      "type": "boolean"
    },
    "reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "start_time": {
      "type": "string"
    },
    "spots_left": {
      "type": [
        "integer",
        "null"
      ]
    },
    "min_participants": {
      "type": "integer"
    }
  },
  "required": [
    "ok"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

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