{"apiVersion":"v1","directorySlug":"holibob-mcp-835e41df46","title":"Holibob","description":"Discover and book tours, activities and attractions anywhere in the world, with a guide that plans the trip with you.","pageUrl":"https://www.mcpbundles.com/skills/holibob-mcp-835e41df46","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.holibob.it/mcp","hostedMcpUrl":null,"toolCount":13,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"it.holibob/holibob-mcp-835e41df46","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"verify-connection-tool","description":"Verify the Holibob API connection and authentication status. Also reports the active environment (sandbox/production) and API URL this request is using.","inputSchema":{"type":"object","properties":{}},"title":"Verify Connection Tool","logicalName":"verify-connection-tool","displayName":"Verify Connection Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"search-activities-tool","description":"AI-powered search for tours, activities, and attractions. Understands natural language for destinations, activity types, dates, and traveller groups. Returns ranked results with prices, ratings, images, and suggested related searches.","inputSchema":{"type":"object","properties":{"who":{"type":"string"},"count":{"type":"integer"},"end_date":{"type":"string"},"start_date":{"type":"string"},"destination":{"type":"string"},"search_term":{"type":"string"},"currency_code":{"type":"string"},"seen_product_ids":{"type":"array","items":{"type":"string"}}}},"title":"Search Activities Tool","logicalName":"search-activities-tool","displayName":"Search Activities Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get-activity-details-tool","description":"Get full details for a specific tour or activity: description, gallery images, what is included/excluded, highlights, important notes, itinerary, cancellation policy, review score, and duration.","inputSchema":{"type":"object","required":["product_id"],"properties":{"product_id":{"type":"string"},"currency_code":{"type":"string"}}},"title":"Get Activity Details Tool","logicalName":"get-activity-details-tool","displayName":"Get Activity Details Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"check-availability-tool","description":"Check available dates for a tour or activity within a date range. Works uniformly for both fixed-date and open-dated/charter products — the server automatically resolves date options for charter products using the supplied start_date/end_date, so the client always receives usable availability IDs. If additional non-date options need user input (e.g. pickup point), they are returned in options_to_select — answer them by calling check-availability again with session_id and option_list:[{id, value}","inputSchema":{"type":"object","required":["product_id","start_date","end_date"],"properties":{"end_date":{"type":"string"},"product_id":{"type":"string"},"session_id":{"type":"string"},"start_date":{"type":"string"},"option_list":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"}}}},"currency_code":{"type":"string"}}},"title":"Check Availability Tool","logicalName":"check-availability-tool","displayName":"Check Availability Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"configure-availability-tool","description":"REQUIRED step between check-availability and add-to-booking. ITERATIVE: call repeatedly until is_valid is true. Returns pricing_categories (set units per type, e.g. ADULT/CHILD) and options (required selections such as Start Time, variant, language — each with choices). First call: pass only availability_id to discover available options and pricing_categories. Then call again with: pricing_category_list [{id, units}] to set traveller counts, and option_list [{id, value}] to select required and o","inputSchema":{"type":"object","required":["availability_id"],"properties":{"option_list":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"}}}},"currency_code":{"type":"string"},"availability_id":{"type":"string"},"pricing_category_list":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"units":{"type":"integer"}}}}}},"title":"Configure Availability Tool","logicalName":"configure-availability-tool","displayName":"Configure Availability Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create-booking-tool","description":"Create a new booking (shopping cart) on Holibob. Returns a booking ID that must be used in subsequent steps to add activities and confirm the booking.","inputSchema":{"type":"object","properties":{"currency_code":{"type":"string"}}},"title":"Create Booking Tool","logicalName":"create-booking-tool","displayName":"Create Booking Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add-to-booking-tool","description":"Add a configured availability to an existing booking. PREREQUISITE: You must have already called configure-availability with traveller counts and received is_valid = true. If you skip configure-availability, this call will fail.","inputSchema":{"type":"object","required":["booking_id","availability_id"],"properties":{"booking_id":{"type":"string"},"currency_code":{"type":"string"},"availability_id":{"type":"string"}}},"title":"Add To Booking Tool","logicalName":"add-to-booking-tool","displayName":"Add To Booking Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get-booking-tool","description":"Retrieve full booking details including state, payment_state, total price, unanswered questions, booked activities, and voucher URL. Booking state machine: OPEN (created, not yet paid) → PENDING (payment received, awaiting supplier confirmation) → CONFIRMED (supplier confirmed, voucher available). payment_state: REQUIRED (needs payment) → AUTHORISED (card captured) → SETTLED. can_commit becomes true after payment is authorised — call confirm-booking to finalise. After confirm-booking, poll get-b","inputSchema":{"type":"object","required":["booking_id"],"properties":{"booking_id":{"type":"string"},"full_options":{"type":"boolean"},"option_search":{"type":"string"}}},"title":"Get Booking Tool","logicalName":"get-booking-tool","displayName":"Get Booking Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"answer-booking-questions-tool","description":"Answer booking questions at all levels: booking-level, availability-level, and per-traveller. Questions CASCADE — answering some reveals more (e.g. hotel pickup → lead traveller name/email → per-traveller details). Always answer ALL currently-required questions in one batch call, not one at a time. After submitting, call get-booking again to check for newly surfaced questions. Repeat the answer/get-booking cycle until questions_complete is true.","inputSchema":{"type":"object","required":["booking_id","answer_list"],"properties":{"booking_id":{"type":"string"},"answer_list":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"question_id":{"type":"string"}}}},"lead_passenger_name":{"type":"string"}}},"title":"Answer Booking Questions Tool","logicalName":"answer-booking-questions-tool","displayName":"Answer Booking Questions Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get-payment-link-tool","description":"Generate a secure payment link for a booking that is ready to pay. Use this after all passenger questions are answered (isQuestionsComplete: true) and the booking cannot be committed without a payment. Share the returned URL with the user — they click it, enter their card in a browser, and payment is processed. You can then call get-booking to confirm the booking state.","inputSchema":{"type":"object","required":["booking_id"],"properties":{"booking_id":{"type":"string"}}},"title":"Get Payment Link Tool","logicalName":"get-payment-link-tool","displayName":"Get Payment Link Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get-payment-intent-tool","description":"Return the Stripe PaymentIntent for a booking that is ready to pay, so an integrating APP can render Stripe's embedded Payment Element on its OWN domain (first-party) instead of sending the user to the hosted /pay page. Use after all passenger questions are answered (isQuestionsComplete: true). Returns client_secret + publishable_key: load Stripe.js with the publishable key, mount elements({clientSecret}), and call stripe.confirmPayment(). The client_secret is safe to expose to the browser by de","inputSchema":{"type":"object","required":["booking_id"],"properties":{"booking_id":{"type":"string"}}},"title":"Get Payment Intent Tool","logicalName":"get-payment-intent-tool","displayName":"Get Payment Intent Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"confirm-booking-tool","description":"Confirm and commit a booking. This finalises the booking with Holibob and their suppliers. In production this triggers payment processing. Returns the booking state, booking code, and voucher URL.","inputSchema":{"type":"object","required":["booking_id"],"properties":{"booking_id":{"type":"string"}}},"title":"Confirm Booking Tool","logicalName":"confirm-booking-tool","displayName":"Confirm Booking Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"cancel-booking-tool","description":"Cancel a confirmed booking. Returns the cancellation state and refund amount based on the cancellation policy. Cancellation is processed asynchronously: CONFIRMED → PENDING → CANCELLED.","inputSchema":{"type":"object","required":["booking_id"],"properties":{"booking_id":{"type":"string"}}},"title":"Cancel Booking Tool","logicalName":"cancel-booking-tool","displayName":"Cancel Booking Tool","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Holibob&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuaG9saWJvYi5pdC9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Holibob%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.holibob.it%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Holibob%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.holibob.it%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Holibob&connectorUrl=https%3A%2F%2Fmcp.holibob.it%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Holibob\" --url \"https://mcp.holibob.it/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/holibob-mcp-835e41df46","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/holibob-mcp-835e41df46/tools/{tool}","mcpServerUrl":"https://mcp.holibob.it/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/holibob-mcp-835e41df46?live=1"}