此 MCP 可以做什么
Discovers Norwegian activities and farm-sale producers using location and experience filters and submits pending booking requests.
工具
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slot_at', 'party_size', 'guest_name', 'guest_email'], 'properties': {'notes': {'type': 'string', 'description': 'Optional free-text note to the producer (e.g. dietary needs, arrival details).'}, 'slot_at': {'type': 'string', 'description': "Requested visit date/time, local (Europe/Oslo), format 'YYYY-MM-DDTHH:MM'. Example: '2026-08-15T13:00'. This is a REQUEST â\x80\x94 the producer may confirm, suggest another time, or decline."}, 'guest_name': {'type': 'string', 'description': "Full name of the person the reservation is for. Example: 'Kari Nordmann'"}, 'party_size': {'type': 'number', 'description': 'Number of people in the group (1-50). Example: 4'}, 'guest_email': {'type': 'string', 'description': "Guest's email address â\x80\x94 REQUIRED. Receives a confirmation-of-request email plus a read-only status link; the booking stays pending until the PRODUCER responds (confirms, proposes another time, or declines) â\x80\x94 the guest's link cannot finalize anything. Example: 'kari@example.no'"}, 'guest_phone': {'type': 'string', 'description': 'Optional guest phone number.'}, 'provider_id': {'type': 'string', 'description': "The gÃ¥rdssalg producer's id â\x80\x94 the `id` field of a discover_gardssalg result (NOT the profile slug). Example: '3f1b2c4d-...'. Either provider_id or provider_query is required; provider_id wins when both are given."}, 'experience_id': {'type': 'string', 'description': 'Optional experience UUID if this booking is for a specific listed experience rather than a general gÃ¥rdssalg visit.'}, 'provider_query': {'type': 'string', 'maxLength': 200, 'description': "Alternative to provider_id: the producer's name as the guest said it, optionally with a place, e.g. 'Fjordgard Bryggeri' or 'Egge gÃ¥rd Steinkjer'. Resolved to exactly ONE producer; if several match, the tool returns the candidates (no booking created) so you can ask the guest which one; if none match, it says so."}, 'requested_weekday': {'type': 'string', 'maxLength': 20, 'description': "Safety check â\x80\x94 the weekday the guest actually said, e.g. 'fredag' or 'Friday'. If slot_at does not fall on that weekday (Europe/Oslo) the tool returns weekday_mismatch:true with the nearest dates that do, instead of booking the wrong day. Always pass it when the guest named a weekday."}, 'confirm_outside_hours': {'type': 'boolean', 'description': "Set to true only when RETRYING after a previous call to this tool returned outside_hours:true and the requested time should be kept anyway, despite falling outside the producer's stated opening hours. Omit on a first attempt."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'age': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Age of the youngest participant. Filters out experiences with a minimum-age requirement above this. Example: 8'}, 'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Origin latitude for a near-me search (decimal degrees). Must be given together with lng. Example: 69.65 (Tromsø)'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Origin longitude for a near-me search (decimal degrees). Must be given together with lat. Example: 18.95 (Tromsø)'}, 'sort': {'enum': ['distance'], 'type': 'string', 'description': "'distance' â\x80\x94 sort results ascending by distance from lat/lng. Already the default whenever lat/lng are given; this makes the request explicit."}, 'fylke': {'type': 'string', 'description': "Norwegian county (fylke). Examples: 'Oslo', 'Vestland', 'Troms', 'Rogaland'"}, 'limit': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Max results (default 20, max 50)'}, 'season': {'type': 'string', 'description': "Season filter: 'summer', 'winter', 'spring' or 'autumn' (the Norwegian words sommer/vinter/vÃ¥r/høst work too). Year-round experiences are always included."}, 'kommune': {'type': 'string', 'description': "Norwegian municipality (kommune). Examples: 'Tromsø', 'Bergen', 'Stavanger'"}, 'weather': {'enum': ['rain', 'snow', 'clear', 'any'], 'type': 'string', 'description': "Weather suitability filter. 'rain'/'snow' prefers indoor + weather-independent experiences. Examples: 'rain', 'clear'"}, 'category': {'type': 'string', 'description': "Experience category slug â\x80\x94 one of: 'kultur_historie' (culture/history, museums), 'natur_friluft' (nature/outdoors), 'adrenalin_action', 'sightseeing_transport' (sightseeing, cruises, cable cars), 'overnatting_opplevelse' (stays), 'dyreliv_safari' (wildlife, whale/moose safaris, dog sledding), 'vinter_sno' (winter & snow), 'mat_drikke' (food & drink), 'velvaere_spa' (wellness/spa). Call list_experience_categories for live counts."}, 'language': {'type': 'string', 'description': "Required language for the experience. Examples: 'no', 'en'"}, 'max_price': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Maximum price per person in Norwegian kroner (NOK). Example: 500', 'exclusiveMinimum': 0}, 'radius_km': {'type': 'number', 'maximum': 5000, 'description': 'Max distance from lat/lng in kilometers. Only applies when lat/lng are given. Example: 50', 'exclusiveMinimum': 0}, 'group_size': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Number of people in the group. Used to filter experiences by min/max group capacity. Example: 4', 'exclusiveMinimum': 0}, 'duration_max': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Maximum duration in minutes. Example: 120 (2 hours)', 'exclusiveMinimum': 0}, 'indoor_outdoor': {'enum': ['indoor', 'outdoor', 'both'], 'type': 'string', 'description': "Indoor/outdoor preference. Examples: 'indoor', 'outdoor', 'both'"}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Origin latitude for a near-me search (decimal degrees). Must be given together with lng. Example: 69.65 (Tromsø)'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Origin longitude for a near-me search (decimal degrees). Must be given together with lat. Example: 18.95 (Tromsø)'}, 'fylke': {'type': 'string', 'description': "Norwegian county (fylke) of the producer. Examples: 'Oslo', 'Vestland', 'Troms', 'Rogaland'"}, 'limit': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Max results (default 20, max 50)'}, 'query': {'type': 'string', 'maxLength': 200, 'description': "Free-text lookup of a specific producer by name and/or place, e.g. 'Fjordgard Bryggeri', 'Egge gÃ¥rd', 'sideri Hardanger'. Every word must match the producer's name, URL slug, place (poststed) or municipality; exact name matches rank first. Use this to get the `id` (provider_id) for book_gardssalg when the guest names a producer."}, 'kommune': {'type': 'string', 'description': "Norwegian municipality (kommune) of the producer. Examples: 'Tromsø', 'Bergen', 'Stavanger'"}, 'radius_km': {'type': 'number', 'maximum': 5000, 'description': 'Max distance from lat/lng in kilometers. Only applies when lat/lng are given. Example: 50', 'exclusiveMinimum': 0}, 'booking_live': {'type': 'boolean', 'description': 'When true, only return producers that currently accept direct bookings. Omit to include producers regardless of booking status.'}, 'producer_type': {'type': 'string', 'description': "Type of drink producer â\x80\x94 one of the six canonical drink venue kinds: 'bryggeri' (brewery), 'cideri' (cidery), 'vingÃ¥rd' (winery), 'destilleri' (distillery), 'gÃ¥rdskafé' (farm café), 'mjød'/'mjøderi' (meadery). 'seltzeri' also occurs in the data."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': "UUID of the experience to fetch. Example: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'"}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
近期工具变更
类似的 MCP 服务器
Itaim Bibi
Provides an Itaim Bibi neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, t…
Tatuapé
Provides a Tatuapé neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticke…
Agenda SP
Provides São Paulo cultural agenda and local directory features, including events, venues, restaurants, offers, bookings, reserva…
Vila Buarque
Provides a neighborhood directory for local places, restaurants, menus, events, offers, services, reservations, bookings, and pur…
Centro
Provides a Centro neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticket…
Bela Vista
Provides a Bela Vista neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ti…
Jardins
Provides a Jardins neighborhood directory with local place search, menus, events, offers, services, bookings, reservations, ticke…
Aclimação
Provides a neighborhood directory for Aclimação with local places, restaurant menus, events, offers, services, bookings, reservat…