iQuota Hotels MCP
An official MCP server by iQuota that enables AI assistants to search for live hotel availability, check rates, and book independent hotels, apartments, and villas. It supports tools for searching, retrieving hotel details, checking rates, booking, and managing reservations, with payments collected directly by the property.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://iquota.io/mcpWhat you can do with it
- Search for hotels by destination, dates, and guests
- Check live availability and prices for specific hotels
- Book hotel rooms with explicit traveler confirmation
- Retrieve or cancel existing bookings
Source and maintenance
Protocol and capabilities
- Server
- iquota 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 6 advertised
- Resources
- 0 advertised
- Resource templates
- 0 advertised
- Prompts
- 0 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
search_hotels — Search hotels
Search live availability and prices of directly-contracted hotels, apartments and villas. destination: city, area, region, hotel name or ISO country code (not needed on a hotel's own connector). Dates YYYY-MM-DD. adults and children_ages are per room. currency: EUR, USD… (if the property sells in it). board: Room only, Bed & breakfast, Half board, Full board or All inclusive. Returns hotels with options; each option has a rate_key (valid 30 minutes) for check_rate and book_hotel, and each hotel a booking_url (its official page with these dates) that the traveller can open to see prices and book.
{
"type": "object",
"title": "_searchArguments",
"required": [
"checkin",
"checkout"
],
"properties": {
"board": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Board",
"default": null
},
"rooms": {
"type": "integer",
"title": "Rooms",
"default": 1
},
"adults": {
"type": "integer",
"title": "Adults",
"default": 2
},
"checkin": {
"type": "string",
"title": "Checkin"
},
"checkout": {
"type": "string",
"title": "Checkout"
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Currency",
"default": null
},
"destination": {
"type": "string",
"title": "Destination",
"default": ""
},
"children_ages": {
"anyOf": [
{
"type": "array",
"items": {
"type": "integer"
}
},
{
"type": "null"
}
],
"title": "Children Ages",
"default": null
},
"max_total_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Max Total Price",
"default": null
}
}
}{
"title": "Search hotels",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_hotel — Hotel details
Full details of a hotel: description, amenities, photos, location, rooms, check-in times, children policy and payment terms (hotel_code not needed on a hotel's own connector).
{
"type": "object",
"title": "_getArguments",
"properties": {
"hotel_code": {
"type": "string",
"title": "Hotel Code",
"default": ""
}
}
}{
"title": "Hotel details",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}check_rate — Check rate
Re-check price and availability of an option right before booking.
{
"type": "object",
"title": "_checkArguments",
"required": [
"rate_key"
],
"properties": {
"rate_key": {
"type": "string",
"title": "Rate Key"
}
}
}{
"title": "Check rate",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}book_hotel — Book hotel
Confirm a booking. Only call after the traveller has explicitly confirmed the hotel, dates, room, total price, cancellation policy and payment terms (set traveller_confirmed=true). Payment is collected by the property: never ask for card details. Returns the booking reference.
{
"type": "object",
"title": "_bookArguments",
"required": [
"rate_key",
"guest_name",
"guest_email",
"guest_phone",
"traveller_confirmed"
],
"properties": {
"rate_key": {
"type": "string",
"title": "Rate Key"
},
"guest_name": {
"type": "string",
"title": "Guest Name"
},
"guest_email": {
"type": "string",
"title": "Guest Email"
},
"guest_phone": {
"type": "string",
"title": "Guest Phone"
},
"special_requests": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Special Requests",
"default": null
},
"traveller_confirmed": {
"type": "boolean",
"title": "Traveller Confirmed"
}
}
}{
"title": "Book hotel",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_booking — Get booking
Look up a booking made through iQuota, using its reference and the guest email.
{
"type": "object",
"title": "_getbArguments",
"required": [
"booking_reference",
"guest_email"
],
"properties": {
"guest_email": {
"type": "string",
"title": "Guest Email"
},
"booking_reference": {
"type": "string",
"title": "Booking Reference"
}
}
}{
"title": "Get booking",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}cancel_booking — Cancel booking
Cancel a booking. First call with confirm=false to get the cancellation fee, tell the traveller, and only if they agree call again with confirm=true.
{
"type": "object",
"title": "_cancelArguments",
"required": [
"booking_reference",
"guest_email"
],
"properties": {
"confirm": {
"type": "boolean",
"title": "Confirm",
"default": false
},
"guest_email": {
"type": "string",
"title": "Guest Email"
},
"booking_reference": {
"type": "string",
"title": "Booking Reference"
}
}
}{
"title": "Cancel booking",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}Prompts
0 advertised
Resources
0 advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1683 ms
- 95th percentile latency
- 1683 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1683 ms · metadata changed · 6 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http iquota-hotels-mcp https://iquota.io/mcpCodex
codex mcp add iquota-hotels-mcp --url https://iquota.io/mcpCursor
{
"mcpServers": {
"iquota-hotels-mcp": {
"url": "https://iquota.io/mcp"
}
}
}Cline
{
"mcpServers": {
"iquota-hotels-mcp": {
"type": "streamableHttp",
"url": "https://iquota.io/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"iquota-hotels-mcp": {
"type": "http",
"url": "https://iquota.io/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http iquota-hotels-mcp https://iquota.io/mcpClaude Desktop
{
"mcpServers": {
"iquota-hotels-mcp": {
"url": "https://iquota.io/mcp"
}
}
}Windsurf
{
"mcpServers": {
"iquota-hotels-mcp": {
"serverUrl": "https://iquota.io/mcp"
}
}
}Let your agent find its tools
Find servers like iQuota Hotels MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other commerce servers
Do you run iQuota Hotels MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.