Koskamo

hoteldiscount24 MCP

Provides AI assistants with read-only access to hotel amenity data, individual hotel amenity profiles, and typical nightly price ranges per destination and month. It does not provide live availability, ratings, or booking capabilities, serving as a data source for travel planning agents.

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.

hoteldiscount24 MCP logo, by hoteldiscount24Vendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by hoteldiscount24
MCP endpoint (Streamable HTTP)
https://www.hoteldiscount24.com/mcp
Vendor documentation

What you can do with it

  • Find hotels at a destination offering specific amenities like a pool or sauna
  • Look up the amenities of an individual hotel
  • Get typical price ranges per night for a destination and month

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
hoteldiscount24 1.1.0
MCP protocol
2025-06-18
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Hotel amenities as stated by the hotels, and typical nightly price ranges, for destinations worldwide (answers in German, English or Turkish). find_place turns a city or region name into a place_id; search_hotels lists hotels there with given amenities; get_hotel_facts returns the amenity profile of one hotel (by URL, or by name plus place_id); get_price_guide returns a typical price range. Every result carries a hoteldiscount24.com link; live prices, availability and booking are not part of this connector — they are on hoteldiscount24.com.

Tools

4 advertised

find_place — Find a destination
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when a city, region or island name has to be turned into a place_id (needed by search_hotels, get_hotel_facts and get_price_guide): returns up to 5 matching places with place_id and country. A misspelled name returns the likely places; the match field says whether a place is exact, partial or fuzzy. If several fit, choose by country or ask the user.

find_place input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 80,
      "minLength": 2,
      "description": "City, region or island name, in any language."
    },
    "language": {
      "enum": [
        "de",
        "en",
        "tr"
      ],
      "type": "string",
      "description": "The user's language: de, en or tr (default en)."
    }
  },
  "additionalProperties": false
}
find_place output schema
{
  "type": "object",
  "required": [
    "places"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "places": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "match": {
            "enum": [
              "exact",
              "partial",
              "fuzzy"
            ],
            "type": "string"
          },
          "place_id": {
            "type": "integer"
          },
          "country_code": {
            "type": "string"
          }
        }
      }
    },
    "source": {
      "type": "string"
    },
    "website": {
      "type": "string"
    },
    "response_date": {
      "type": "string"
    }
  }
}
find_place annotations
{
  "title": "Find a destination",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_hotels — Hotels with specific amenities
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when the user wants hotels at a place with specific features (pool, sauna, pets allowed …). All given amenities must match, as stated by the hotels; with few or no results, try fewer amenities. Returns up to 10 hotels with links, ordered by star rating — no prices (see get_price_guide) and no ratings. A notice field carries a condition the user should know (e.g. pets are decided case by case). Halal, kosher, wheelchair access, non-smoking and cribs are not search filters — check them per hotel with get_hotel_facts.

search_hotels input schema
{
  "type": "object",
  "required": [
    "place_id",
    "amenities"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 10,
      "minimum": 1,
      "description": "Number of hotels (default 10)."
    },
    "language": {
      "enum": [
        "de",
        "en",
        "tr"
      ],
      "type": "string",
      "description": "The user's language: de, en or tr (default en)."
    },
    "place_id": {
      "type": "integer",
      "description": "place_id from find_place."
    },
    "amenities": {
      "type": "array",
      "items": {
        "enum": [
          "adults-only",
          "air-conditioning",
          "airport-shuttle",
          "alarm-clock",
          "aquapark",
          "atm",
          "badminton",
          "balcony",
          "bank",
          "bar",
          "barbecue",
          "bathrobe",
          "bathtub",
          "beach",
          "beach-shuttle",
          "beauty-treatments",
          "bike-rental",
          "billiards",
          "boating",
          "bottled-water",
          "bowling",
          "breakfast-in-room",
          "bridal-suite",
          "business-center",
          "business-facilities",
          "cafe",
          "car-rental",
          "casino",
          "casino-shuttle",
          "children-pool",
          "coffee-maker",
          "coffee-tea",
          "concierge",
          "currency-exchange",
          "cycling",
          "darts",
          "design-hotel",
          "desk",
          "dishwasher",
          "diving",
          "doorman",
          "dvd-player",
          "early-check-in",
          "elevator",
          "entertainment",
          "equipment-rental",
          "ev-charging",
          "event-facilities",
          "express-check-in",
          "family",
          "fishing",
          "fitness",
          "fridge",
          "front-desk-24h",
          "garden",
          "golf-course",
          "guest-computer",
          "hairdryer",
          "hammam",
          "heated-pool",
          "heating",
          "hiking",
          "horse-riding",
          "hunting",
          "ice-skating",
          "indoor-fireplace",
          "intercom",
          "iron",
          "karaoke",
          "kettle",
          "kids-club",
          "kitchen",
          "late-check-out",
          "laundry",
          "library",
          "linens",
          "locker",
          "luggage-storage",
          "microwave",
          "mini-golf",
          "minibar",
          "mosquito-net",
          "museum",
          "newspapers",
          "nightclub",
          "outdoor-furniture",
          "packed-lunch",
          "parking",
          "pets-allowed",
          "picnic-area",
          "playground",
          "pool",
          "pool-towels",
          "port-shuttle",
          "private-check-in",
          "radio",
          "reception",
          "restaurant",
          "room-connecting",
          "room-service",
          "safe",
          "safe-deposit-box",
          "sailing",
          "sauna",
          "security-staff",
          "shared-kitchen",
          "shoe-shine",
          "shop",
          "shopping-shuttle",
          "shower",
          "shuttle",
          "ski",
          "ski-rental",
          "ski-school",
          "ski-shuttle",
          "ski-storage",
          "slippers",
          "smoking",
          "snack-bar",
          "snorkelling",
          "snowmobile-rental",
          "solarium",
          "soundproofing",
          "spa",
          "squash",
          "table-tennis",
          "taxi-service",
          "telephone",
          "tennis",
          "terrace",
          "theatre",
          "ticket-service",
          "toiletries",
          "train-station-shuttle",
          "trouser-press",
          "tv",
          "vending-machine",
          "vip-amenities",
          "wake-up-service",
          "wardrobe",
          "water-fun",
          "water-sports",
          "whirlpool",
          "wifi",
          "windsurfing",
          "wine-cellar",
          "yoga"
        ],
        "type": "string"
      },
      "maxItems": 5,
      "minItems": 1,
      "description": "Amenity keys from the list, e.g. pool, sauna, pets-allowed."
    },
    "min_stars": {
      "type": "integer",
      "maximum": 5,
      "minimum": 0,
      "description": "Minimum star rating."
    }
  },
  "additionalProperties": false
}
search_hotels output schema
{
  "type": "object",
  "required": [
    "place",
    "hotels"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "place": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "place_id": {
          "type": "integer"
        },
        "country_code": {
          "type": "string"
        }
      }
    },
    "hotels": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "stars": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Star category as listed by the hotel."
          },
          "amenities": {
            "type": "array"
          }
        }
      }
    },
    "notice": {
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "website": {
      "type": "string"
    },
    "response_date": {
      "type": "string"
    },
    "more_on_website": {
      "type": "string"
    }
  }
}
search_hotels annotations
{
  "title": "Hotels with specific amenities",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_hotel_facts — Amenity profile of a hotel
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when the user asks what one specific hotel offers (e.g. does it allow pets, is there a sauna, halal food). Returns its amenities as stated by the hotel, with section and origin; extra_charge marks a stated surcharge (no mark means no information, not free). Identify the hotel by its hoteldiscount24.com URL (e.g. from search_hotels), or by name plus place_id; other_matches lists similar names at that place.

get_hotel_facts input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 120,
      "minLength": 2,
      "description": "Hotel name, if no URL is known (needs place_id)."
    },
    "hotel": {
      "type": "string",
      "maxLength": 300,
      "description": "hoteldiscount24.com hotel URL or slug."
    },
    "language": {
      "enum": [
        "de",
        "en",
        "tr"
      ],
      "type": "string",
      "description": "The user's language: de, en or tr (default en)."
    },
    "place_id": {
      "type": "integer",
      "description": "place_id from find_place."
    }
  },
  "additionalProperties": false
}
get_hotel_facts output schema
{
  "type": "object",
  "required": [
    "name",
    "url",
    "amenities"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "stars": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Star category as listed by the hotel."
    },
    "notice": {
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "website": {
      "type": "string"
    },
    "amenities": {
      "type": "array"
    },
    "country_code": {
      "type": "string"
    },
    "other_matches": {
      "type": "array"
    },
    "response_date": {
      "type": "string"
    }
  }
}
get_hotel_facts annotations
{
  "title": "Amenity profile of a hotel",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_price_guide — Typical nightly price range
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use for budget questions (what does a night cost in …): typical price range per night (2 adults) at a place, measured from recent searches, with date. For orientation only — current prices for specific dates are on hoteldiscount24.com. has_price_data=false means no reliable data for this place and month.

get_price_guide input schema
{
  "type": "object",
  "required": [
    "place_id"
  ],
  "properties": {
    "month": {
      "type": "string",
      "pattern": "^[0-9]{4}-[0-9]{2}$",
      "description": "Travel month YYYY-MM (default: current month)."
    },
    "stars": {
      "enum": [
        "any",
        "1",
        "2",
        "3",
        "4",
        "5"
      ],
      "type": "string",
      "description": "Star category (default any)."
    },
    "language": {
      "enum": [
        "de",
        "en",
        "tr"
      ],
      "type": "string",
      "description": "The user's language: de, en or tr (default en)."
    },
    "place_id": {
      "type": "integer",
      "description": "place_id from find_place."
    }
  },
  "additionalProperties": false
}
get_price_guide output schema
{
  "type": "object",
  "required": [
    "place",
    "has_price_data"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "month": {
      "type": "string"
    },
    "place": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "place_id": {
          "type": "integer"
        },
        "country_code": {
          "type": "string"
        }
      }
    },
    "source": {
      "type": "string"
    },
    "website": {
      "type": "string"
    },
    "sentence": {
      "type": "string"
    },
    "typical_eur": {
      "type": "integer"
    },
    "response_date": {
      "type": "string"
    },
    "has_price_data": {
      "type": "boolean"
    },
    "typical_low_eur": {
      "type": "integer"
    },
    "typical_high_eur": {
      "type": "integer"
    }
  }
}
get_price_guide annotations
{
  "title": "Typical nightly price range",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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
999 ms
95th percentile latency
999 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 999 ms · metadata changed · 4 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http hoteldiscount24-mcp https://www.hoteldiscount24.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add hoteldiscount24-mcp --url https://www.hoteldiscount24.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable hoteldiscount24-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "hoteldiscount24-mcp": {
      "url": "https://www.hoteldiscount24.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "hoteldiscount24-mcp": {
      "type": "streamableHttp",
      "url": "https://www.hoteldiscount24.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start hoteldiscount24-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "hoteldiscount24-mcp": {
      "type": "http",
      "url": "https://www.hoteldiscount24.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http hoteldiscount24-mcp https://www.hoteldiscount24.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "hoteldiscount24-mcp": {
      "url": "https://www.hoteldiscount24.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "hoteldiscount24-mcp": {
      "serverUrl": "https://www.hoteldiscount24.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like hoteldiscount24 MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run hoteldiscount24 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.

Claim this listing