이 MCP로 할 수 있는 일
Searches walking tours and activities, provides details and availability, and presents booking options.
도구
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'product_id', 'from_date'], 'properties': {'type': {'enum': ['product', 'free_tour'], 'type': 'string', 'description': "Type of listing: 'product' for paid activities, 'free_tour' for free walking tours. Use the type returned by search_tours_activities_by_destination or get_tours_activities_by_category."}, 'to_date': {'type': 'string', 'description': 'End date in YYYY-MM-DD format. Defaults to from_date if omitted. Maximum 5-day range per item.'}, 'language': {'type': 'string', 'description': 'Language code. Supported: en, es, de, it; any other value falls back to English. Defaults to en.'}, 'from_date': {'type': 'string', 'description': 'Start date in YYYY-MM-DD format.'}, 'product_id': {'type': 'string', 'description': 'The product or tour ID to check availability for.'}, 'participants': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'quantity'], 'properties': {'type': {'enum': ['adult', 'youth', 'child', 'infant', 'senior', 'student', 'eu_citizen', 'military', 'eu_citizen_student'], 'type': 'string', 'description': 'Traveler type.'}, 'quantity': {'type': 'integer', 'minimum': 1, 'description': 'Number of travelers of this type.'}}}, 'description': "Traveler breakdown by type. REQUIRED for paid activities (type: 'product') to get accurate per-person pricing — always pass the actual group the caller confirmed (e.g. 2 adults, 1 child). Ignored for free_tour. If the traveler has not yet confirmed group size, omit this field and a default of 2 adults will be used as a fallback. Valid types: adult, youth, child, infant, senior, student, eu_citizen, military, eu_citizen_student."}}}, 'maxItems': 20, 'minItems': 1, 'description': 'One or more tours/products to check (max 20 per call). Use a single entry for one tour, or many entries to batch multiple tours in the same call.'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'product_id', 'from_date', 'to_date'], 'properties': {'type': {'enum': ['product', 'free_tour'], 'type': 'string'}, 'error': {'type': 'string', 'description': 'Per-item failure; other items in the batch are unaffected.'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['date'], 'properties': {'date': {'type': 'string', 'description': 'YYYY-MM-DD.'}, 'name': {'type': 'string', 'description': 'Session or ticket option name, when the provider names sessions.'}, 'pricing': {'type': 'object', 'properties': {'rates': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': ['string', 'null']}, 'price': {'type': ['number', 'null'], 'description': 'Per-person price.'}, 'total_price': {'type': 'number', 'description': "Total already computed for the requested participants of this rate's type."}, 'max_quantity': {'type': ['integer', 'null']}, 'min_quantity': {'type': ['integer', 'null']}}}}, 'currency': {'type': ['string', 'null']}}}, 'language': {'type': 'string', 'description': 'Free walking tours only.'}, 'available': {'type': 'boolean'}, 'languages': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Languages this session runs in; sessions differing only in language are merged.'}, 'last_seats': {'type': 'boolean', 'description': 'Free walking tours only: true when few seats remain.'}, 'start_time': {'type': 'string'}, 'available_seats': {'type': 'integer'}}}, 'description': 'Available sessions. Paid activity events carry `languages` and `pricing`; free walking tour events carry a single `language` and `last_seats`.'}, 'to_date': {'type': 'string', 'description': 'YYYY-MM-DD.'}, 'from_date': {'type': 'string', 'description': 'YYYY-MM-DD.'}, 'product_id': {'type': 'string'}, 'booking_url': {'type': 'string', 'description': 'Booking link for this item. Share it with the traveler exactly as returned — never rewrite the domain or drop query parameters, they carry required attribution.'}}}, 'description': 'One entry per requested item, in request order, echoing its type and product_id.'}}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['product_id', 'type'], 'properties': {'type': {'enum': ['product', 'free_tour'], 'type': 'string', 'description': "Type of listing: 'product' for paid activities, 'free_tour' for free walking tours."}, 'language': {'type': 'string', 'description': 'Language code. Supported: en, es, de, it; any other value falls back to English. Defaults to en.'}, 'product_id': {'type': 'integer', 'description': 'The numeric ID of the product or free tour.'}}}, 'maxItems': 10, 'minItems': 1, 'description': 'One or more tours/products to fetch details for (max 10 per call). Use a single entry for one tour, or many entries to batch multiple tours in the same call.'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['product_id', 'type'], 'properties': {'id': {'type': 'integer'}, 'url': {'type': 'string', 'description': 'Tour page URL. Share it with the traveler exactly as returned — never rewrite the domain or drop query parameters, they carry required attribution.'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'type': {'enum': ['product', 'free_tour'], 'type': 'string'}, 'error': {'type': 'string', 'description': 'Per-item failure; other items in the batch are unaffected.'}, 'guide': {'type': 'object', 'properties': {'name': {'type': 'string'}}, 'description': 'Free tours only.'}, 'place': {'type': 'object', 'properties': {'id': {'type': ['integer', 'null']}, 'name': {'type': ['string', 'null']}, 'slug': {'type': ['string', 'null']}, 'country': {'type': ['string', 'null'], 'description': 'Free tours only.'}, 'timezone': {'type': ['string', 'null'], 'description': 'Paid activities only.'}}}, 'where': {'type': 'object', 'properties': {'name': {'type': ['string', 'null']}, 'latitude': {'type': ['number', 'null']}, 'longitude': {'type': ['number', 'null']}, 'address_html': {'type': ['string', 'null']}}, 'description': 'Paid activities only: meeting point address and coordinates.'}, 'images': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'string'}, 'reviews': {'type': 'object', 'properties': {'count': {'type': ['integer', 'null']}, 'rating': {'type': ['number', 'string', 'null']}}}, 'duration': {'type': ['string', 'integer'], 'description': 'Free tours only.'}, 'excluded': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Paid activities only.'}, 'features': {'type': 'object', 'properties': {'accessible': {'type': ['boolean', 'null']}, 'pets_allowed': {'type': ['boolean', 'null']}, 'large_groups_limit': {'type': ['integer', 'null']}, 'large_groups_allowed': {'type': ['boolean', 'null']}}, 'description': 'Free tours only.'}, 'included': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Paid activities only.'}, 'itinerary': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Free tours only: point titles.'}, 'highlights': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Paid activities only.'}, 'other_info': {'type': 'array', 'description': 'Paid activities only.'}, 'product_id': {'type': 'integer'}, 'attribution': {'type': 'string'}, 'pricing_from': {'type': 'object', 'properties': {'retail': {'type': 'number'}, 'currency': {'type': ['string', 'null']}}, 'description': 'Paid activities only.'}, 'subtitle_html': {'type': 'string', 'description': 'Paid activities only.'}, 'how_to_find_me': {'type': 'string', 'description': "Free tours only: guide's note on how to recognize them at the meeting point."}, 'description_html': {'type': 'string'}, 'duration_minutes': {'type': 'object', 'properties': {'to': {'type': 'integer'}, 'from': {'type': 'integer'}}, 'description': 'Paid activities only.'}, 'instructions_html': {'type': 'string', 'description': 'Paid activities only.'}, 'meeting_point_url': {'type': 'string', 'description': 'Google Maps link to the meeting point, returned for both paid activities and free tours. Built from the meeting point coordinates, so it is absent when they are unknown.'}, 'meeting_point_html': {'type': 'string', 'description': 'Paid activities only.'}, 'special_notes_html': {'type': 'string', 'description': 'Paid activities only.'}, 'when_starting_time': {'type': 'string', 'description': 'Paid activities only.'}, 'available_languages': {'type': 'array', 'items': {'type': 'string'}}, 'live_guide_languages': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Paid activities only.'}, 'audio_guide_languages': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Paid activities only.'}, 'cancellation_policies': {'type': 'array', 'description': 'Paid activities only.'}, 'meeting_point_latitude': {'type': 'number', 'description': 'Free tours only.'}, 'meeting_point_longitude': {'type': 'number', 'description': 'Free tours only.'}}}, 'description': 'One entry per requested item, in request order, echoing its product_id and type.'}}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['topic'], 'properties': {'topic': {'type': 'string', 'description': "The exact topic of the guide to load, as listed in this tool's description."}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['content'], 'properties': {'content': {'type': 'string', 'description': 'The full guide content.'}}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['vertical_id'], 'properties': {'page': {'type': 'integer', 'default': 1, 'description': 'Page number (default: 1)'}, 'hub_slug': {'type': 'string', 'description': "Hub slug of the destination (required when vertical_id is 'free-tour')"}, 'language': {'type': 'string', 'description': 'Language code. Supported: en, es, de, it; any other value falls back to English. Defaults to en.'}, 'vertical_id': {'type': 'string', 'description': "The ID of the vertical/category to browse. Use 'free-tour' for the free tours category."}, 'how_many_adults': {'type': 'integer', 'description': 'Number of adults in the group. Pass it (together with how_many_children) when the traveler tells you how many people are going, so the free-tour results are narrowed to tours that admit that group size — especially useful for large groups. Whether children count toward capacity is decided per tour.'}, 'how_many_children': {'type': 'integer', 'description': 'Number of children in the group. Pass together with how_many_adults when the group includes children — whether children count toward capacity is decided per tour.'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['category', 'products', 'pagination'], 'properties': {'tip': {'type': 'string'}, 'category': {'type': 'object', 'required': ['id', 'name', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'place': {'type': ['string', 'null'], 'description': 'Destination name; absent for the free tours category.'}}}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'id', 'booking_url'], 'properties': {'id': {'type': 'integer'}, 'name': {'type': ['string', 'null'], 'description': 'Null when the product lacks a translation for the requested language.'}, 'slug': {'type': ['string', 'null']}, 'type': {'enum': ['product', 'free_tour'], 'type': 'string'}, 'rating': {'type': ['number', 'string', 'null']}, 'source': {'type': 'string'}, 'duration': {'type': ['integer', 'string', 'null'], 'description': 'Minutes for paid activities; free tours may report a label.'}, 'languages': {'type': ['array', 'null'], 'items': {'type': 'string'}}, 'booking_url': {'type': 'string', 'description': 'Share it with the traveler exactly as returned — never rewrite the domain or drop query parameters, they carry required attribution.'}, 'pricing_from': {'type': ['object', 'null'], 'properties': {'retail': {'type': 'number'}, 'currency': {'type': ['string', 'null']}}}, 'reviews_count': {'type': ['integer', 'null']}}}}, 'pagination': {'type': 'object', 'properties': {'page': {'type': 'integer'}, 'per_page': {'type': 'integer'}, 'total_count': {'type': 'integer'}}}, 'attribution': {'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['destination'], 'properties': {'page': {'type': 'integer', 'default': 1, 'description': 'Page number for featured products (default: 1)'}, 'text': {'type': 'string', 'description': "Optional text filter. When provided, featured_products are narrowed to paid products whose name matches the text (MATCH AGAINST, all tokens must appear as prefix, tokens of <3 chars ignored), and free tours are automatically excluded (their legacy search doesn't support text filtering). Use when the traveler names a specific attraction ('Casa Batlló', 'Sagrada Familia') or a themed phrase ('food tour'). Leave empty for the full hub listing including free tours."}, 'country': {'type': 'string', 'description': "Country the destination is in (name in any language or ISO code), to disambiguate cities that share a name across countries (e.g. Bayonne in France vs Bayona in Spain). Provide it whenever the country is clear from context. If the country has no matching city, the search returns no destination — a reliable signal that there's no coverage there."}, 'end_date': {'type': 'string', 'description': "Only show tours available until this date (YYYY-MM-DD). Use the traveler's booking date plus 2 days if no specific date was mentioned."}, 'language': {'type': 'string', 'description': 'Language code. Supported: en, es, de, it; any other value falls back to English. Defaults to en.'}, 'start_date': {'type': 'string', 'description': "Only show tours available from this date (YYYY-MM-DD). Use the traveler's booking date minus 2 days if no specific date was mentioned."}, 'destination': {'type': 'string', 'description': "City name, e.g. 'Rome'"}, 'how_many_adults': {'type': 'integer', 'description': 'Number of adults in the group. Pass it (together with how_many_children) when the traveler tells you how many people are going, so only free tours that admit that group size are returned — especially useful for large groups. Whether children count toward capacity is decided per tour.'}, 'how_many_children': {'type': 'integer', 'description': 'Number of children in the group. Pass together with how_many_adults when the group includes children — whether children count toward capacity is decided per tour.'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'tip': {'type': 'string'}, 'place': {'type': 'object', 'properties': {'id': {'type': 'integer'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'country': {'type': ['string', 'null']}, 'has_free_tours': {'type': 'boolean'}}}, 'message': {'type': 'string'}, 'coverage': {'enum': ['none'], 'type': 'string', 'description': 'Present only when GuruWalk has no tours or activities in the destination.'}, 'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'url'], 'properties': {'id': {'type': ['string', 'integer'], 'description': "'free-tour' for the free tours category, numeric for verticals."}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'hub_slug': {'type': 'string', 'description': 'Present on the free tours category.'}}}, 'description': 'Tour categories available in the destination; pass a category `id` as vertical_id to browse it.'}, 'pagination': {'type': 'object', 'properties': {'page': {'type': 'integer'}, 'per_page': {'type': 'integer'}, 'total_count': {'type': 'integer'}}}, 'attribution': {'type': 'string'}, 'destination': {'type': 'string', 'description': 'Echo of the requested destination when coverage is none.'}, 'featured_products': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'id'], 'properties': {'id': {'type': 'integer'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'type': {'enum': ['product', 'free_tour'], 'type': 'string'}, 'rating': {'type': ['number', 'string']}, 'source': {'type': 'string'}, 'duration': {'type': ['integer', 'string'], 'description': 'Minutes for paid activities; free tours may report a label.'}, 'booking_url': {'type': 'string', 'description': 'Share it with the traveler exactly as returned — never rewrite the domain or drop query parameters, they carry required attribution.'}, 'pricing_from': {'type': 'object', 'properties': {'retail': {'type': 'number'}, 'currency': {'type': ['string', 'null']}}}, 'reviews_count': {'type': 'integer'}}}}}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'product_id'], 'properties': {'type': {'enum': ['product', 'free_tour'], 'type': 'string', 'description': 'Type of listing, as returned by the search tools.'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['date'], 'properties': {'date': {'type': 'string', 'description': 'YYYY-MM-DD.'}, 'start_time': {'type': 'string', 'description': 'HH:MM, when the session has a start time.'}}}, 'description': 'Optional: available sessions for this item as returned by get_product_availability — pass them only when you actually checked availability, never invent dates, and skip sessions reported as unavailable or sold out. The card highlights up to 3 of them with booking links preselecting the date.'}, 'product_id': {'type': 'integer', 'description': 'The numeric ID of the product or free tour.'}}}, 'minItems': 1, 'description': 'The tours to display, in the order they should appear. Only the first 12 items are rendered; extras are dropped.'}, 'language': {'type': 'string', 'description': 'Language code. Supported: en, es, de, it; any other value falls back to English. Defaults to en.'}}}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tours'], 'properties': {'tours': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'id', 'url'], 'properties': {'id': {'type': 'integer'}, 'url': {'type': 'string', 'description': 'Booking link. Share it with the traveler exactly as returned — never rewrite the domain or drop query parameters, they carry required attribution.'}, 'name': {'type': ['string', 'null']}, 'type': {'enum': ['product', 'free_tour'], 'type': 'string'}, 'image': {'type': 'string'}, 'price': {'type': 'object', 'properties': {'amount': {'type': 'number'}, 'currency': {'type': ['string', 'null']}}, 'description': 'Absent for free walking tours (pay-what-you-want).'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'url'], 'properties': {'url': {'type': 'string', 'description': 'Booking link preselecting this date. Share it with the traveler exactly as returned.'}, 'date': {'type': 'string', 'description': 'YYYY-MM-DD.'}, 'start_time': {'type': 'string'}}}, 'description': 'Sessions highlighted on the card, present when the request included them.'}, 'rating': {'type': ['number', 'null']}, 'source': {'type': 'string'}, 'languages': {'type': 'array', 'items': {'type': 'string'}}, 'more_events': {'type': 'integer', 'description': 'How many additional valid sessions were passed but not rendered on the card.'}, 'reviews_count': {'type': ['integer', 'null']}}}, 'description': 'One card per resolvable item, in request order; unresolvable items are skipped.'}, 'notice': {'type': 'string', 'description': 'Present only when the request exceeded the item limit and was truncated.'}, 'language': {'type': 'string', 'description': 'Normalized language of the request; the widget localizes its labels with it.'}, 'attribution': {'type': 'string'}}}
최근 도구 변경
유사한 MCP 서버
Award Travel Finder
Searches award flights and hotels, tracks bookings and loyalty balances, evaluates points and credit cards, and monitors travel r…
AI 代理人任務中樞
Aggregates Taiwan-focused tools for AI service comparisons, cryptocurrency data, game information, health guidance, and other con…
Good Turn Studio (all tools)
Offers consumer utilities for insurance claim appeals, subscription cancellation, flight fare research, financial recovery resour…
Gover MCP
Searches and manages corporate travel requests, flights, hotels, rental vehicles, passengers, carts, approvals, reservations, and…
DC Member API
Provides access to Dynamite Circle membership data, community profiles, chapters, events, trips, calendars, alerts, follows, agen…
Nomad Stays
Searches and books remote-work accommodations while supporting host listing management, rooms, packages, availability, and hospit…
lilo Vacation Rentals
Supports vacation-rental discovery, availability and direct booking, property operations, short-term-rental compliance, guest and…
mcp-server
Provides immigration, citizenship and residency programme research alongside tax, wealth structuring, banking, visa, treaty and c…