BostonVacay Directory
Server Details
Search curated Boston, MA tours, activities, hotels, restaurants, nightlife and services.
- Status
- Healthy
- Uptime
- 100.0% over 27 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 5 tools
get_listing vs search_listings (detail vs discovery) and search_listings vs search_tours (directory businesses vs live Viator inventory) are clearly distinct. The only mild overlap is list_categories vs list_filters, since both enumerate facets for search, but their descriptions distinguish categories from usable filter values well enough.
All five tools follow a consistent snake_case verb_noun pattern: get_listing, list_categories, list_filters, search_listings, search_tours. No mixed conventions or vague verbs.
Five tools is well-scoped for a curated directory: two search entry points, one detail fetch, and two facet enumerators. Slightly thin — no pagination or related-listing helper — but nothing is redundant.
The read-only discovery lifecycle is well covered: browse facets, filter/search listings, drill into full detail, plus a separate live tours search. Minor gaps such as listing reviews/ratings for directory entries or a related/nearby-listings shortcut are absent but not blocking.
Available Tools
5 toolsget_listingGet a BostonVacay listingARead-onlyIdempotentInspect
Read-only. Full details for one BostonVacay listing by id: complete plain-text description, FAQ, hours, up to 10 gallery photos with captions and credits (e.g. 'Photo via Expedia'), listing page URL, and booking links (the path to book with the named provider, not ads). Links marked affiliate:true are affiliate links; BostonVacay may earn a commission at no extra cost to the user. Returns NOT_FOUND for an unknown id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Listing id from search_listings | |
| adults | No | ||
| check_in | No | ||
| check_out | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| listing | Yes | |
| affiliate_disclosure | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, idempotentHint, and destructiveHint, so the behavioral bar is lower. The description adds real value beyond them: affiliate:true marking, that links are non-ad booking paths, and the NOT_FOUND behavior for unknown ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the 'Read-only' lead front-loaded, followed by an enumeration of return contents and the NOT_FOUND clause. It is information-rich; the long enumerated list is slightly heavy but every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained, but the description still usefully previews contents and the NOT_FOUND case. The missing coverage of three booking parameters is the main incompleteness for a 4-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, so the description carries the burden for adults, check_in, and check_out, yet it says nothing about them. Only the id param is clarified, and that via the schema itself. The three undocumented params are a clear gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (get) and resource (full details for one BostonVacay listing by id), clearly distinct from sibling search_listings which finds listings. The scope and identity are fully clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the detail-fetch step after a search, and the id parameter guidance ('Listing id from search_listings') reinforces the workflow. However, it never explicitly states when to use this versus search_listings or rules out other entry points.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList BostonVacay categoriesARead-onlyIdempotentInspect
Read-only. List the BostonVacay directory's top-level categories with listing counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | |
| status | Yes | |
| categories | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without the description. The leading 'Read-only' largely duplicates that, though 'top-level' adds a genuine scoping detail. No auth, rate-limit, or caching behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with essentially no waste, and the safety qualifier is front-loaded. It is close to optimally sized for such a small tool, though 'Read-only' is redundant with the annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and a parameterless read tool needs little else. The description is sufficient to call it correctly, though it could note its role as the discovery entry point relative to search_listings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline 4 case; there is nothing for the description to clarify. Schema coverage is 100% and the parameterless signature matches the description's simple enumeration semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (top-level categories) with useful scope detail (directory-level, includes listing counts). An agent knows exactly what it returns. It does not name or distinguish itself from the siblings (search_listings, list_filters, get_listing), leaving that inference to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this enumerates the category vocabulary, but there is no explicit when-to-use, no mention of prerequisites, and no comparison against list_filters, which could be confused as a similar enumeration tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filtersList search filtersARead-onlyIdempotentInspect
Read-only. Values usable in search_listings: areas/neighborhoods, price tiers, amenities and tags, each with listing counts, plus notes on how each is derived.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tags | No | |
| areas | No | |
| status | Yes | |
| amenities | No | |
| price_tiers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered and the leading 'Read-only.' is redundant. The description does add genuine value with 'each with listing counts, plus notes on how each is derived', disclosing the shape/nature of the returned data beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence that front-loads the content categories and their consumers. The opening 'Read-only.' wastes a few words by repeating the annotation, but otherwise every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and it does enough by naming the filter categories and the derived counts/notes. For a zero-parameter read-only reference tool, an agent has what it needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 and there is no parameter semantics for the description to compensate for. Schema coverage is 100% and the description correctly does not invent arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete resource — filter values (areas/neighborhoods, price tiers, amenities, tags) with listing counts — and ties it to the sibling tool search_listings, so an agent can tell it is the metadata/reference lookup rather than a search. It never uses an explicit verb like 'list', but the enumeration of contents makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Values usable in search_listings' implies the usage context (discover valid filter values before searching), which is reasonable guidance. However, it never states when to call this versus list_categories or search_listings directly, and gives no prerequisites or ordering advice, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsSearch BostonVacay listingsARead-onlyIdempotentInspect
Search BostonVacay's curated directory of Boston, Massachusetts businesses (hotels, restaurants, attractions, bars and shops). Read-only. Filters: keyword, category, area/neighborhood, price tier, amenities (e.g. pool, spa, pet_friendly, rooftop, family_friendly), tag, and distance from a lat/lng or from another listing. Returns compact plain-text listings (description shortened; use get_listing for the full text, hours and FAQ) with the listing page URL, address, phone, website, up to 2 credited photos, and booking links. Booking links are the path to book with the named provider (Expedia for hotels, plus Viator/Klook where the listing has one), not ads; those marked affiliate:true are affiliate links, and BostonVacay may earn a commission if the user books, at no extra cost to them. Results are not ranked by commission. Pass check_in/check_out to get date-specific Expedia hotel links (live rates are shown on Expedia, not in this result).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keywords, e.g. 'seafood', 'freedom trail', 'rooftop bar' | |
| tag | No | Exact listing tag, see list_filters | |
| area | No | Area/neighborhood, e.g. 'Back Bay', 'Beacon Hill', 'North End', 'Seaport'. See list_filters. | |
| page | No | ||
| sort | No | ||
| limit | No | ||
| adults | No | ||
| category | No | Category name or id from list_categories, e.g. 'Hotels' | |
| check_in | No | YYYY-MM-DD (hotels) | |
| near_lat | No | ||
| near_lng | No | ||
| amenities | No | All must match | |
| check_out | No | YYYY-MM-DD | |
| radius_km | No | Max distance (km) when near_* is set | |
| price_tier | No | ||
| near_listing_id | No | Rank by distance from this listing | |
| has_booking_link | No | Only listings with a booking link |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | No | |
| total | Yes | |
| status | Yes | |
| has_more | No | |
| listings | Yes | |
| per_page | No | |
| returned | No | |
| data_fetched_at | No | |
| affiliate_disclosure | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely non-structured context: booking links are provider links (Expedia/Viator/Klook) rather than ads, affiliate:true links earn commission at no cost to the user, and results are not ranked by commission, plus the caveat that live rates appear on Expedia and not in the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause and every sentence carries information (filters, return shape, affiliate disclosure, check-in behavior). However, it is delivered as one dense run-on paragraph, which makes the affiliate and return-value content harder to scan than it needs to be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter search tool with an output schema, the description covers purpose, filtering, the get_listing handoff, return contents and the booking-link business model. Since an output schema exists it need not describe returns in detail, yet it does describe them anyway; only a few filter/pagination parameters go unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is a middling 59%, and the description compensates by enumerating the filter dimensions (keyword, category, area, price tier, amenities with examples, tag, distance from lat/lng or another listing) and clarifying semantics the schema lacks, notably that check_in/check_out produce date-specific Expedia hotel links rather than live rates. It leaves sort, page, limit, adults, radius_km and has_booking_link unexplained, so it is not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Search) and resource (BostonVacay's curated directory of Boston businesses), and even enumerates the business types covered. It explicitly distinguishes itself from get_listing for full text/hours/FAQ, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear positive conditions (keyword/category/area/price/amenity/distance filtering) and points to alternatives: get_listing for full text and list_filters for valid tags and areas. There is no explicit 'when not to use this' beyond the get_listing handoff, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toursSearch Boston, Massachusetts tours and activities (Viator)ARead-onlyIdempotentInspect
Read-only. Live search of bookable tours and activities in Boston, Massachusetts from Viator's partner API. Returns title, live starting ('from') price and currency, rating, review count, duration, free-cancellation flag, image and a booking_url. Optional start_date/end_date return only products Viator lists as available on those dates. Default order: keyword relevance when q is given, otherwise traveler rating; 'featured' uses Viator's own default order. booking_url is the Viator booking page and a Viator affiliate link: BostonVacay may earn a commission if the user books, at no extra cost to them. Viator confirms the final price, availability and cancellation terms before payment.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keywords, e.g. 'harbor cruise', 'freedom trail', 'whale watching' | |
| page | No | ||
| sort | No | Default: relevance to q when q is given (Viator keyword match), otherwise rating (highest traveler rating first). featured = Viator's own default order. | |
| limit | No | ||
| currency | No | USD | |
| end_date | No | YYYY-MM-DD | |
| max_price | No | ||
| min_rating | No | ||
| start_date | No | YYYY-MM-DD | |
| free_cancellation | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | |
| tours | Yes | |
| status | Yes | |
| prices_checked_at | No | |
| affiliate_disclosure | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, openWorld, idempotent and destructive=false, so the safety profile is free. The description goes beyond them by disclosing the affiliate/commission relationship on booking_url and warning that Viator confirms final price, availability and cancellation terms before payment, which is real behavioral context an agent needs. It omits rate limits or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the read-only marker and purpose, then layers return fields, date semantics, sort default and the affiliate disclosure in a logical order. It is dense but each sentence carries information; only the return-field enumeration slightly overlaps with the output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not detail return values, yet it still summarizes them usefully. For a zero-required-parameter search tool the guidance is nearly sufficient; the only gap is no routing hint toward the sibling listing/category/filter tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% across 10 parameters, so the description is expected to compensate. It does explain the date-range semantics and the sort default ordering, but page, limit, currency, max_price, min_rating and free_cancellation are left with no added meaning beyond their self-evident names, leaving the compensation partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Live search of bookable tours and activities') plus a precise geographic and source scope (Boston, MA from Viator's partner API). It does not explicitly differentiate from the sibling search_listings, so an agent cannot tell from the text alone when this beats the generic listing search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the default sort behavior and that start_date/end_date restrict results to products Viator lists as available, which implies when the date filters matter. However, it never names an alternative (search_listings, list_filters) or states when-not to use this tool, leaving selection between siblings to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Added
get_listing - Changed
list_categories2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "categories": { + "items": { + "properties": { + "description": { + "type": "string" + }, + "id": { + "description": "Category id; null for categories that exist only as listing group names (filter by name instead)", + "type": [ + "string", + "null" + ] + }, + "listing_count": { + "type": "integer" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "status": { + "type": "string" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "status", + "categories" + ], + "type": "object" +}
- Added
list_filters - Changed
search_listings22 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / adultsAdded value: +{ + "default": 2, + "maximum": 14, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / amenitiesAdded value: +{ + "description": "All must match", + "items": { + "enum": [ + "ski_in_ski_out", + "walk_to_lifts", + "pool", + "hot_tub", + "spa", + "fitness_center", + "pet_friendly", + "parking", + "shuttle", + "family_friendly", + "breakfast", + "kitchen", + "rooftop", + "river_view", + "outdoor_seating", + "apres_ski", + "live_music", + "free_entry", + "michelin", + "wheelchair_accessible" + ], + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / areaAdded value: +{ + "description": "Area/neighborhood, e.g. 'Back Bay', 'Beacon Hill', 'North End', 'Seaport'. See list_filters.", + "type": "string" +} - changed
Input schema / properties / category / descriptionPrevious value: -"Category name filter, e.g. 'Restaurants'"New value: +"Category name or id from list_categories, e.g. 'Hotels'" - added
Input schema / properties / check_inAdded value: +{ + "description": "YYYY-MM-DD (hotels)", + "type": "string" +} - added
Input schema / properties / check_outAdded value: +{ + "description": "YYYY-MM-DD", + "type": "string" +} - added
Input schema / properties / has_booking_linkAdded value: +{ + "description": "Only listings with a booking link", + "type": "boolean" +} - removed
Input schema / properties / limit / descriptionRemoved value: -"Max results (1-50)" - added
Input schema / properties / limit / maximumAdded value: +50 - added
Input schema / properties / limit / minimumAdded value: +1 - added
Input schema / properties / near_latAdded value: +{ + "type": "number" +} - added
Input schema / properties / near_listing_idAdded value: +{ + "description": "Rank by distance from this listing", + "type": "string" +} - added
Input schema / properties / near_lngAdded value: +{ + "type": "number" +} - removed
Input schema / properties / page / descriptionRemoved value: -"Page number" - added
Input schema / properties / page / minimumAdded value: +1 - added
Input schema / properties / price_tierAdded value: +{ + "enum": [ + "budget", + "moderate", + "upscale", + "luxury" + ], + "type": "string" +} - changed
Input schema / properties / q / descriptionPrevious value: -"Keyword search, e.g. 'seafood' or 'freedom trail'"New value: +"Keywords, e.g. 'seafood', 'freedom trail', 'rooftop bar'" - added
Input schema / properties / radius_kmAdded value: +{ + "description": "Max distance (km) when near_* is set", + "type": "number" +} - added
Input schema / properties / sortAdded value: +{ + "enum": [ + "relevance", + "distance", + "name" + ], + "type": "string" +} - added
Input schema / properties / tagAdded value: +{ + "description": "Exact listing tag, see list_filters", + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "affiliate_disclosure": { + "type": "string" + }, + "data_fetched_at": { + "type": "string" + }, + "has_more": { + "type": "boolean" + }, + "listings": { + "items": { + "properties": { + "address": { + "type": [ + "string", + "null" + ] + }, + "amenities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "area": { + "type": [ + "string", + "null" + ] + }, + "booking": { + "items": { + "properties": { + "affiliate": { + "type": "boolean" + }, + "label": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "booking_link": { + "description": "First affiliate booking link, if any", + "type": [ + "string", + "null" + ] + }, + "category": { + "type": [ + "string", + "null" + ] + }, + "description": { + "description": "Plain text", + "type": "string" + }, + "distance_km": { + "type": "number" + }, + "id": { + "type": "string" + }, + "lat": { + "type": [ + "number", + "null" + ] + }, + "lon": { + "type": [ + "number", + "null" + ] + }, + "name": { + "type": "string" + }, + "phone": { + "type": [ + "string", + "null" + ] + }, + "photo_details": { + "items": { + "properties": { + "caption": { + "type": [ + "string", + "null" + ] + }, + "credit": { + "type": "string" + }, + "source": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "photos": { + "items": { + "type": "string" + }, + "type": "array" + }, + "price_tier": { + "type": [ + "string", + "null" + ] + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "url": { + "description": "Listing page on bostonvacay.com", + "type": [ + "string", + "null" + ] + }, + "website": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "page": { + "type": "integer" + }, + "per_page": { + "type": "integer" + }, + "returned": { + "type": "integer" + }, + "status": { + "type": "string" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "status", + "total", + "listings" + ], + "type": "object" +}
- Added
search_tours
2 tool updates
- First observed
list_categories - First observed
search_listings
Related MCP Connectors
Search curated Bangkok, Thailand tours, activities, hotels, restaurants, nightlife and services.
Discover and book 5,000+ curated local experiences across 500 US destinations.
Search 355+ curated Vail Valley, Colorado restaurants, hotels, activities, shops and services.
Search 7,000+ local service businesses across America by category, location, or keyword.
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides music events, concerts, music festivals, nightclubs and other events information.172MIT
- -
- AlicenseAqualityDmaintenanceSearch 8,000+ corporate event venues across 40+ cities. Tools for venue search by capacity/category, pricing guides, expert advice articles, and inquiry handoff. Read-only, PII-redacted, UTM-attributed.710 npmMIT
- AlicenseAqualityFmaintenanceReal-time last-minute tour and activity booking across 18 suppliers in 15 countries via the OCTO open standard. Search available slots, create Stripe checkout sessions, and check booking status.41MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.