lastminutedeals-api
This server provides real-time access to last-minute tour and activity inventory from 20+ suppliers across 15 countries, enabling you to search, book, and manage travel experiences.
Search Available Slots – Find live, bookable tours and activities filtered by city/country, category, time window (
hours_ahead, default 72h), max price (USD), and result limit. Inventory is refreshed every 4 hours across 28 cities.Book a Slot – Reserve tours or activities in two modes:
Approval Mode (default): Generates a Stripe Checkout URL for the customer to complete payment; booking is confirmed with the supplier after payment.
Autonomous Mode: Instantly completes the booking using a pre-funded agent wallet, returning a confirmation number directly — no human action required.
Supports group bookings via the
quantityparameter.
Check Booking Status – Retrieve the current status of a booking by
booking_id, including status (pending_payment,fulfilling,booked,failed,cancelled), confirmation number, service details, payment status, and a recoverable checkout URL if payment is still pending.Get Supplier Info – Explore the full supplier network to understand available destinations, experience types, booking platforms, and confirmation speeds before searching.
Manage Agent Wallets – Create and fund pre-funded wallets for autonomous booking mode.
Monitor System Health – Access endpoints for health checks and live metrics.
Searching requires no API key; booking requires a free API key (no credit card needed for basic access).
Provides payment processing for booking tours and activities, allowing creation of Stripe checkout sessions for customer payments and handling payment status tracking.
Serves as the production database backend for storing and querying live tour and activity inventory, enabling real-time search and booking operations.
This Platform Is For Sale — $8,000 (Open to Offers)
47 live supplier contracts across 18 countries, MCP server on Smithery + Glama, Stripe payments, US LLC, domain, and infrastructure included.
Pre-revenue but production-ready. You're buying 6+ months of development time and 47 active supplier relationships.
View full details and make an offer | Email: bookings@lastminutedealshq.com
Last Minute Deals HQ
MCP server with real-time last-minute tour and activity inventory. Live bookable slots across 40 suppliers in 48 countries and 100+ cities, sourced live from production booking systems via the OCTO open standard. Inventory refreshed every 4 hours.
Search available slots and create Stripe checkout sessions — customers pay on our page, suppliers are confirmed automatically.
Related MCP server: Flights MCP
Install
Claude Desktop
npx -y @smithery/cli install @johnanleitner1/Last_Minute_Deals_HQ --client claudeClaude Code
npx -y @smithery/cli install @johnanleitner1/Last_Minute_Deals_HQ --client claude-codeCursor
npx -y @smithery/cli install @johnanleitner1/Last_Minute_Deals_HQ --client cursorWindsurf
npx -y @smithery/cli install @johnanleitner1/Last_Minute_Deals_HQ --client windsurfOther MCP Clients
npx -y @smithery/cli install @johnanleitner1/Last_Minute_Deals_HQ --client <client-name>Or connect directly to the remote MCP endpoint:
https://api.lastminutedealshq.com/mcpTools
Tool | Description |
| Search available tours and activities. Filter by city, category, |
| Book a slot for a customer. Approval mode (default) returns a Stripe checkout URL for the customer to pay. Autonomous mode charges a pre-funded wallet and returns a confirmation number directly. Supports quantity for group bookings. |
| Get a shareable booking page URL for a slot. The user clicks the link, sees full details, enters their own name/email/phone, and pays via Stripe. Use this when a human is browsing with an AI assistant. |
| Check booking status by |
| Returns the full supplier network — destinations, experience types, booking platform, and confirmation speed. Use before searching to understand what inventory is available. |
Example
"What tours are available in Rome this weekend under $50?"
search_slots(city="Rome", hours_ahead=72, max_price=50)[
{
"service_name": "E-Bike Tour of Ancient Rome & Appian Way",
"business_name": "Bicycle Roma",
"start_time": "2026-04-19T09:00:00+00:00",
"price": 42.00,
"currency": "EUR",
"location_city": "Rome",
"hours_until_start": 26.5,
"slot_id": "a1b2c3..."
},
{
"service_name": "Castelli Romani Wine & Food E-Bike Tour",
"business_name": "Bicycle Roma",
"start_time": "2026-04-19T13:00:00+00:00",
"price": 48.50,
"currency": "EUR",
"location_city": "Rome",
"hours_until_start": 30.5,
"slot_id": "d4e5f6..."
}
]"Book the e-bike tour for Jane Smith"
book_slot(
slot_id="a1b2c3...",
customer_name="Jane Smith",
customer_email="jane@example.com",
customer_phone="+15550001234"
){
"booking_id": "bk_a1b2c3_x9y8z7",
"status": "pending_payment",
"checkout_url": "https://checkout.stripe.com/c/pay/...",
"message": "Customer should complete payment at checkout_url"
}"Did she pay yet?"
get_booking_status(booking_id="bk_a1b2c3_x9y8z7"){
"status": "booked",
"confirmation_number": "BR-20260419-001",
"service_name": "E-Bike Tour of Ancient Rome & Appian Way",
"start_time": "2026-04-19T09:00:00+00:00",
"payment_status": "captured"
}Suppliers
40 active suppliers. Live inventory across 48 countries including France, UK, Germany, Italy, Spain, Netherlands, Switzerland, Iceland, Egypt, Japan, Portugal, Turkey, Brazil, Morocco, Tanzania, Finland, Montenegro, Romania, United States, United Kingdom, China, Mexico, Costa Rica, and more.
Supplier | Destinations | Experiences |
Arctic Adventures | Reykjavik, Husafell, Skaftafell, Iceland | Glacier hikes, ice caves, snowmobiling, aurora tours, whale watching, diving |
Bicycle Roma | Rome, Appia Antica, Castelli Romani | E-bike tours, food tours, guided city tours, bike rentals |
Boka Bliss | Kotor, Montenegro | Boat tours, sea caves, coastal experiences |
EgyExcursions | Cairo, Egypt | Pyramids, cultural tours, day trips |
Hillborn Experiences | Arusha, Serengeti, Zanzibar, Kilimanjaro | Private safaris, Kilimanjaro climbs, ultra-luxury wildlife tours |
Íshestar Riding Tours | Selfoss, Iceland | Horse riding, glacier rides, Viking tours |
Marvel Egypt Tours | Cairo, Luxor, Aswan | Pyramids, Nile cruises, temple tours |
O Turista Tours | Lisbon, Porto, Sintra, Fatima, Nazaré | Private tours, day trips, wine experiences |
Pure Morocco Experience | Marrakech, Sahara Desert | Desert tours, multi-day tours, cultural experiences |
Ramen Factory Kyoto | Kyoto, Japan | Cooking classes, ramen workshops |
REDRIB Experience | Helsinki, Finland | Speed boat tours, archipelago experiences |
TourTransfer Bucharest | Bucharest, Romania | City tours, Dracula castle, Peles castle |
Tours El Chiquiz | Puerto Vallarta, Mexico | Tequila tasting, hiking, nightlife tours, botanical gardens |
Trivanzo Holidays | Cairo, Luxor, Red Sea, Egypt | Nile cruises, cultural tours, desert tours |
TUTU VIEW Ltd | Shanghai, Xi'an, Beijing, Chengdu, Hangzhou | Multi-day tours, Silk Road, food tours, nature tours |
Vakare Travel Service | Antalya, Turkey | Boat tours, jeep safaris, cultural excursions |
All Washington View | Washington D.C. | City tours, sightseeing, monuments, panoramic views |
Zestro Bizlinks | Japan | Experiences |
Adi Tours - Nuba travel | Cairo, Egypt | Pyramids, cultural tours, Nile excursions, desert tours, day trips |
The Photo Experience | London, United Kingdom | Photography tours, photo walks, city photography experiences |
Sailing Windermere | Windermere, Lake District, United Kingdom | Sailing, lake cruises |
Perfect Day Tours | Luxor, Egypt | Temple tours, Valley of the Kings |
Nefertiti Tours | Cairo, Giza, Egypt | Pyramids, cultural tours |
Blue Dolphin Sailing | Guanacaste, Costa Rica | Sailing tours, sunset cruises, snorkeling |
EGYPT GATE | Cairo, Egypt | Tours and experiences |
Imperio tours | Rome, Italy | Fiat 500 tours, golf cart tours, food tours |
VIDABOA | Porto, Douro Valley, Portugal | Wine tours, private tours |
Gallo Tour | Rome, Italy | Golf cart tours |
Food Activity Japan | Osaka, Japan | Matcha making, food experiences |
European Voyages | Paris, London, Rome, Barcelona, Amsterdam, Berlin, Vienna, Prague, Budapest + 38 more | Walking tours, city tours, food tours, day trips, multi-day tours, river cruises, wine tours, cooking classes, transfers |
CruiserCar Palermo | Palermo, Sicily, Italy | Car tours, city tours, transfers |
Nile Navigators | Cairo, Luxor, Aswan, Egypt | Nile cruises, river tours, cultural experiences |
Fantastic Walks | United Kingdom | Walking tours |
Top Gear Tours | Cairo, Egypt | Tours and experiences |
Amazing Tours Agency | Brazil | Tours and experiences |
Anatolia Expedition | Istanbul, Turkey | Cultural tours, expeditions |
Turkey Tours Company | Istanbul, Turkey | Cultural tours, Cappadocia, Ephesus, day trips |
Eimverk Distillery | Reykjavik, Iceland | Distillery tours |
mondo guide srl | Rome, Italy | Guided tours, cultural experiences, day trips |
The Osaka&Tokyo | Osaka, Tokyo, Japan | Cultural experiences, city tours |
Categories
experiences · wellness · beauty · hospitality
API Key
Free. No credit card required. Needed for booking operations — search works without one.
curl -X POST https://api.lastminutedealshq.com/api/keys/register \
-H "Content-Type: application/json" \
-d '{"name": "MyAgent", "email": "agent@example.com"}'{"api_key": "lmd_..."}Pass the key when configuring the MCP server or as X-API-Key header for REST calls.
REST API
Base URL: https://api.lastminutedealshq.com
Endpoint | Method | Description |
| GET | Search slots — |
| POST | Create Stripe checkout for a slot |
| POST | Book with pre-funded wallet (autonomous agents) |
| GET | Check booking status |
| POST | Get a free API key |
| POST | Create a pre-funded agent wallet |
| POST | Get Stripe link to fund wallet |
| GET | System health check |
| GET | Live system metrics |
Booking Modes
Approval (default) — Returns a Stripe checkout URL. The customer visits the link, pays, and the booking is confirmed with the supplier automatically. Best for human-in-the-loop flows.
Autonomous — Requires a pre-funded wallet. The system debits the wallet instantly and confirms with the supplier. No redirect, no latency. Best for fully autonomous agents.
book_slot(
slot_id="...",
customer_name="Jane Smith",
customer_email="jane@example.com",
mode="autonomous",
wallet_id="wlt_..."
)How It Works
Every 4 hours:
fetch_octo_slots.py → Pull availability from 40 suppliers via OCTO API
aggregate_slots.py → Deduplicate, filter, sort by urgency
compute_pricing.py → Dynamic commission-based pricing
sync_to_supabase.py → Upsert to production database
MCP/REST requests:
Agent calls search_slots → Supabase query → Live results
Agent calls book_slot → Stripe checkout → OCTO booking → Supplier confirmedStatus
Slots live: 8,000+
Suppliers: 32
Countries: 47
Refresh interval: Every 4 hours
Uptime: Hosted on Railway (24/7)
Payments: Stripe (authorization-then-capture — customer is never charged for a failed booking)
Available Tools
4 toolsbook_slotAInspect
Book a last-minute slot for a customer. Two modes:
APPROVAL MODE (default — no wallet_id):
Creates a Stripe Checkout Session and returns a checkout_url.
You MUST share this URL with the customer immediately — do not summarise it,
do not wait, show it directly so they can complete payment.
The booking is confirmed with the supplier after payment succeeds.
The session expires in 24 hours.
AUTONOMOUS MODE (wallet_id + execution_mode='autonomous'):
The booking completes immediately using a pre-funded agent wallet.
Returns a confirmation_number directly — no checkout step, no human action needed.
Use this when your application manages payment on behalf of the customer.
Args:
slot_id: Slot ID from search_slots results.
customer_name: Full name of the person attending.
customer_email: Email address for booking confirmation.
customer_phone: Phone number including country code (e.g. +15550001234).
quantity: Number of people (default 1). Price is per-person × quantity.
wallet_id: Pre-funded agent wallet ID (format: wlt_...). Enables autonomous mode.
execution_mode: Set to 'autonomous' when providing a wallet_id.
Returns:
Approval mode: { success: true, checkout_url, booking_id, expires_at, action_required }
Autonomous mode: { success: true, confirmation_number, booking_id, status: 'booked' }
On error: { success: false, error }
| Name | Required | Description | Default |
|---|---|---|---|
| slot_id | Yes | ||
| customer_name | Yes | ||
| customer_email | Yes | ||
| customer_phone | Yes | ||
| quantity | No | ||
| wallet_id | No | ||
| execution_mode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does an excellent job disclosing behavioral traits: it explains the two distinct modes, payment flow differences (Stripe Checkout vs. pre-funded wallet), session expiration (24 hours), and immediate action requirements (sharing URL directly). It doesn't cover rate limits or error handling specifics, but provides substantial operational context.
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?
The description is well-structured with clear sectioning (two modes, args, returns), uses bullet points for readability, and every sentence earns its place by providing essential operational guidance. It's appropriately sized for a complex tool with multiple modes and avoids redundancy.
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?
Given the tool's complexity (7 parameters, two distinct modes, payment integration) and absence of both annotations and output schema, the description provides complete context: it explains both operational modes, documents all parameters, specifies return formats for both success cases and errors, and provides necessary implementation guidance. No significant gaps remain.
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?
With 0% schema description coverage, the description fully compensates by explaining all 7 parameters: it clarifies slot_id's source (search_slots results), provides format examples for customer_phone, explains quantity's effect on pricing, and crucially details the interaction between wallet_id and execution_mode that triggers autonomous mode. This adds significant meaning beyond the bare schema.
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 clearly states the tool's purpose with specific verbs ('Book a last-minute slot for a customer') and distinguishes it from siblings by focusing on booking functionality rather than searching (search_slots), checking status (get_booking_status), or retrieving supplier info (get_supplier_info). The two operational modes further clarify the specific actions involved.
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 provides explicit guidance on when to use each mode: approval mode (default, no wallet_id) for customer-facing payment flows, and autonomous mode (wallet_id + execution_mode='autonomous') for automated payment scenarios. It clearly distinguishes between the two alternatives and specifies the conditions for each.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_booking_statusAInspect
Check the status of a booking.
Args:
booking_id: The booking_id returned by book_slot.
Returns:
Booking record with status, confirmation_number, service details, and checkout_url.
Status values:
pending_payment — awaiting customer checkout
fulfilling — payment received, confirming with supplier (up to 45s)
booked — confirmed by supplier; confirmation_number is set
failed — fulfillment failed; payment hold cancelled
cancelled — booking cancelled and refunded
| Name | Required | Description | Default |
|---|---|---|---|
| booking_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool as a read-only status check (implied by 'Check'), and details the possible status values with explanations, including time estimates (e.g., 'up to 45s' for fulfilling) and outcomes (e.g., 'payment hold cancelled' for failed). This adds valuable context beyond basic functionality.
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?
The description is appropriately sized and front-loaded, starting with the core purpose. Each sentence earns its place: the first states the action, the second explains the parameter, the third describes the return, and the list details status values without redundancy. It is efficient and well-structured.
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?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is complete. It covers the purpose, parameter semantics, return values, and status details, providing all necessary information for an agent to use the tool correctly without gaps.
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 description adds significant meaning beyond the input schema, which has 0% description coverage. It explains that booking_id is 'returned by book_slot', clarifying its origin and purpose. This compensates fully for the schema's lack of documentation, providing essential context for the single parameter.
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 clearly states the tool's purpose with a specific verb ('Check') and resource ('status of a booking'), and distinguishes it from siblings like book_slot (which creates bookings) and search_slots (which finds available slots). It directly addresses what the tool does without being vague or tautological.
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 provides clear context by referencing book_slot as the source for booking_id, implying this tool should be used after a booking is created. However, it does not explicitly state when not to use it or mention alternatives like get_supplier_info for supplier details, which could help avoid misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supplier_infoAInspect
Returns information about the supplier network and available inventory.
Use this to understand what destinations and experience types are available
before calling search_slots.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the tool as returning information, which implies a read-only operation, but doesn't explicitly state whether it's safe, whether it requires authentication, or any rate limits. The description adds some context about what information is returned (destinations and experience types) but lacks detailed behavioral traits. This is adequate but has clear gaps.
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?
The description is two sentences, front-loaded with the purpose followed by usage guidance. Every sentence earns its place by adding clear value, with zero waste or redundancy. It's appropriately sized for a simple tool.
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?
Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is complete enough. It explains what the tool does and when to use it, which covers the essential context. However, it could benefit from more detail on return values or behavioral aspects, but for a read-only info tool, this is largely sufficient.
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 has 0 parameters, and schema description coverage is 100% (though empty). The description doesn't need to add parameter semantics, so it naturally compensates by focusing on usage. Baseline for 0 parameters is 4, as the description provides value without parameter details.
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 clearly states the tool's purpose: 'Returns information about the supplier network and available inventory.' It specifies both the resource ('supplier network and available inventory') and the action ('returns information'), though it doesn't explicitly distinguish from siblings beyond mentioning one alternative. The purpose is clear but sibling differentiation is only partial.
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 provides explicit usage guidance: 'Use this to understand what destinations and experience types are available before calling search_slots.' It clearly states when to use this tool (before search_slots) and names a specific alternative (search_slots), which meets the criteria for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_slotsAInspect
Search for last-minute available tours and activities.
Returns real production inventory from 19 suppliers (Adi Tours - Nuba travel, All Washington View,
Arctic Adventures, Bicycle Roma, Boka Bliss, EgyExcursions, Hillborn Experiences,
Íshestar Riding Tours, Marvel Egypt Tours, O Turista Tours, Pure Morocco Experience,
REDRIB Experience, Ramen Factory Kyoto, TourTransfer Bucharest, Tours El Chiquiz,
Trivanzo Holidays, TUTU VIEW Ltd, Vakare Travel Service, Zestro Bizlinks) sourced live via the OCTO open booking protocol.
Slots are sorted by urgency (soonest first).
Args:
city: City or country filter, partial match (e.g. "Reykjavik", "Rome", "Iceland").
Leave empty to search all locations.
category: Category filter. Use "experiences" for tours/activities.
Leave empty for all categories.
hours_ahead: Return slots starting within this many hours (default: 72).
max_price: Maximum price in USD. Set to 0 to return all prices.
limit: Max results to return (default 50). Results are sorted by urgency
so the most time-sensitive slots come first. Increase for broader
browsing (e.g. limit=500). Use city/category filters to narrow
results instead of raising the limit when possible.
Returns:
List of available slot dicts sorted by hours_until_start (soonest first).
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| category | No | ||
| hours_ahead | No | ||
| max_price | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it returns 'real production inventory' from 19 specific suppliers, uses 'live' sourcing via OCTO protocol, sorts by urgency (soonest first), and explains result sorting logic. It doesn't mention rate limits or authentication requirements, but provides substantial operational context.
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?
The description is efficiently structured with purpose statement, supplier list, sorting explanation, parameter documentation, and return format - all in appropriate detail. Every sentence adds value, and it's well-organized with clear sections for Args and Returns.
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?
Given the tool's complexity (5 parameters, no annotations, but has output schema), the description is remarkably complete. It covers purpose, behavioral context, detailed parameter semantics, and explains the return format. With an output schema present, it appropriately doesn't need to detail return value structure.
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?
With 0% schema description coverage, the description fully compensates by providing detailed semantics for all 5 parameters: explains city accepts partial matches and can be empty, specifies category should be 'experiences' for tours/activities, clarifies hours_ahead default and meaning, explains max_price=0 means all prices, and provides nuanced guidance on limit usage with sorting implications.
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 clearly states the tool searches for 'last-minute available tours and activities' with specific details about real inventory from 19 suppliers via OCTO protocol. It distinguishes from siblings like book_slot (booking) and get_booking_status (status checking) by focusing on search functionality.
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 provides clear context for when to use this tool (searching for last-minute tours/activities) and includes practical guidance like 'Use city/category filters to narrow results instead of raising the limit when possible.' However, it doesn't explicitly state when NOT to use it or mention alternatives among sibling tools.
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. Dates show when Glama detected each change.
4 tool updates
v0.1.1- Added
book_slot - Added
get_booking_status - Added
get_supplier_info - Added
search_slots
4 tool updates
v0.1.0- Removed
book_slot - Removed
get_booking_status - Removed
get_supplier_info - Removed
search_slots
4 tool updates
- First observed
book_slot - First observed
get_booking_status - First observed
get_supplier_info - First observed
search_slots
TDQS
Each tool has a clearly distinct purpose with no overlap: book_slot handles booking creation, get_booking_status checks booking status, get_supplier_info provides supplier network details, and search_slots finds available inventory. The descriptions clearly differentiate their functions, eliminating any ambiguity or confusion for an agent.
All tool names follow a consistent verb_noun pattern (e.g., book_slot, get_booking_status, get_supplier_info, search_slots), using snake_case throughout. This predictability makes the tool set easy to understand and navigate without any deviations in naming conventions.
With 4 tools, the set is well-scoped for a last-minute deals API, covering core workflows: searching for slots, booking them, checking status, and getting supplier info. Each tool earns its place without being overly sparse or bloated, aligning perfectly with the server's purpose.
The tool surface covers essential CRUD-like operations for the domain: search (search_slots), create (book_slot), and read (get_booking_status, get_supplier_info). A minor gap exists in lacking explicit update or cancellation tools, but agents can work around this by using the provided tools, as the domain focuses on last-minute bookings where updates might be limited.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Booking gateway for AI agents — discover events, movies & hotels, hand off to partner checkout.
Search and compare outdoor experiences. Public keyless API; booking and payment happen on Viator.
111Search and book last-minute tours and activities in 28 cities from 21 suppliers.
Search & compare prices for tours, activities and tickets across multiple providers.
Related MCP Servers
- AlicenseBqualityBmaintenanceThe first MCP server dedicated to families who travel with their kids. Find activities tested by families worldwide11MIT
- AlicenseAqualityFmaintenanceMCP server searching flights with granular filtering, sorting options, and purchase integration.415PythonGPL 3.0
- AlicenseAqualityCmaintenanceHotel booking MCP server — the first transaction-complete hotel booking integration for AI agents. Search 300K+ properties in 140+ countries, get live rates and room details, and generate secure checkout URLs. No payment in the AI conversation — guests complete booking at a hosted checkout page and receive a real hotel confirmation number. Set your own booking fee via Stripe Connect.8172-
- AlicenseAqualityCmaintenanceDiscover and book theatre, shows, events, tours and experiences across 700+ cities worldwide on tickadoo® with real-time pricing and booking links.4221MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/johnanleitner1-Coder/lastminutedeals-api'
If you have feedback or need assistance with the MCP directory API, please join our Discord server