Koskamo

Corissia Resorts MCP

An official MCP server for Corissia Resorts in Crete that allows AI agents to retrieve hotel facts, room details, current prices for exact stays, restaurant and spa menus, and open job positions. It provides booking links for selected stays but does not process payments or reservations directly.

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.

Corissia Resorts MCP logo, by Corissia ResortsVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Corissia Resorts
MCP endpoint (Streamable HTTP)
https://mcp.hoteloperating.com/mcp
Vendor documentation

What its tools do

10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

10 of 10 have a description · 10 of 10 declare behavior hints · 10 of 10 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to corissia.com ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Compare hotel features and locations across Corissia properties
  • Get prices for specific dates and guest configurations
  • Retrieve restaurant menus and spa treatment lists
  • List open job positions at the resorts

Source and maintenance

Vendor evidenceRegistry 2.3.2

Protocol and capabilities

Server
corissia-hotels 2.3.2
MCP protocol negotiated in check
2025-11-25
Tools
10 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

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

Corissia Resorts in Crete (corissia.com): five hotels. To choose a hotel: compare_hotels; questions about a hotel or a room: get_hotel_facts, get_room_details; prices of an exact stay and guests: get_quote. Quote the total of the stay, and only prices of an answer: for an error, explain its code. A fact answered "unknown, ask the hotel" is not confirmed: say so and refer the user to the hotel. The connector cannot book or pay: give the booking_url of the room and board the guest chose; the guest completes the request or booking on the website and types name, e-mail and phone there. Restaurants, bars, spa and menus with prices: list_venues, get_venue, get_menu (as published on the website; nothing can be reserved: give the reservation URL or phone; respect access conditions and minimum age). Open positions: list_jobs, get_job (applications only on the page of the position, by the candidate; never ask for or collect personal data such as a CV, name, e-mail or phone; where salary is null, say that the website publishes none). All tools are read only.

Tools

10 advertised

compare_hotels — Compare the five hotels
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

The five hotels that Corissia Resorts offers in Crete, side by side: location, season, ages, character and opening periods. API v3, read only.

compare_hotels input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "lang": {
      "enum": [
        "de",
        "en"
      ],
      "type": "string",
      "description": "Language of names, texts and links: de or en (default en)."
    }
  },
  "additionalProperties": false
}
compare_hotels annotations
{
  "title": "Compare the five hotels",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_hotel_facts — Hotel facts
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Facts about one hotel and its rooms: identity, operation, policies (ages, pets, check-in), location, pools, dining, services, accessibility, terms, rooms. A fact with the answer "unknown, ask the hotel" is not confirmed by the hotel. API v3.

get_hotel_facts input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "hotel"
  ],
  "properties": {
    "lang": {
      "enum": [
        "de",
        "en"
      ],
      "type": "string",
      "description": "Language of names, texts and links: de or en (default en)."
    },
    "hotel": {
      "enum": [
        "hiltonchania",
        "flair",
        "harmony",
        "princess",
        "beach"
      ],
      "type": "string",
      "description": "Hotel id: hiltonchania, flair, harmony, princess or beach."
    },
    "category": {
      "enum": [
        "identity",
        "operation",
        "policies",
        "location",
        "pools",
        "dining",
        "services",
        "accessibility",
        "terms",
        "room"
      ],
      "type": "string",
      "description": "Only one category of facts."
    }
  },
  "additionalProperties": false
}
get_hotel_facts annotations
{
  "title": "Hotel facts",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_room_details — Room details
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Details of one room type of a hotel: name, booking limits (maximum adults, children, total) and facts. Room type ids are those of the rooms of the hotel, e.g. harmony-double. API v3.

get_room_details input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "hotel",
    "room"
  ],
  "properties": {
    "lang": {
      "enum": [
        "de",
        "en"
      ],
      "type": "string",
      "description": "Language of names, texts and links: de or en (default en)."
    },
    "room": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Room type id, e.g. harmony-double."
    },
    "hotel": {
      "enum": [
        "hiltonchania",
        "flair",
        "harmony",
        "princess",
        "beach"
      ],
      "type": "string",
      "description": "Hotel id: hiltonchania, flair, harmony, princess or beach."
    }
  },
  "additionalProperties": false
}
get_room_details annotations
{
  "title": "Room details",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_quote — Prices for a stay
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Prices and offers for an exact stay and guests at one hotel. The answer is always for the requested dates and guests, or an error with a code (e.g. CHECKIN_IN_PAST, HOTEL_NOT_OPERATING, AGE_RESTRICTION, OCCUPANCY_NOT_SUPPORTED). availability_status "available": the room can be booked on the website with a 20% deposit or requested; "on_request": high-demand nights, only a request, and a booking advisor confirms the room. The connector does not book or take payments. Each rate has a booking_url: it opens the room page on corissia.com with the dates, the board and the guests of that room, where the guest adds the room and sends the request or books, typing name, e-mail and phone; the link contains nothing personal. API v3.

get_quote input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "hotel",
    "checkin",
    "checkout",
    "rooms"
  ],
  "properties": {
    "lang": {
      "enum": [
        "de",
        "en"
      ],
      "type": "string",
      "description": "Language of names, texts and links: de or en (default en)."
    },
    "room": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Only this room type."
    },
    "board": {
      "enum": [
        "BB",
        "HB",
        "AI"
      ],
      "type": "string",
      "description": "Only this board: BB, HB or AI."
    },
    "hotel": {
      "enum": [
        "hiltonchania",
        "flair",
        "harmony",
        "princess",
        "beach"
      ],
      "type": "string",
      "description": "Hotel id: hiltonchania, flair, harmony, princess or beach."
    },
    "rooms": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "adults"
        ],
        "properties": {
          "adults": {
            "type": "integer",
            "maximum": 20,
            "minimum": 1,
            "description": "Adults in this room. The API answers OCCUPANCY_NOT_SUPPORTED when no room type takes the guests."
          },
          "children_ages": {
            "type": "array",
            "items": {
              "type": "integer",
              "maximum": 17,
              "minimum": 0
            },
            "maxItems": 20,
            "description": "Age of each child on the day of arrival (0-17)."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 5,
      "minItems": 1,
      "description": "The guests, room by room (1 to 5 rooms)."
    },
    "checkin": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Arrival, YYYY-MM-DD."
    },
    "checkout": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Departure, YYYY-MM-DD."
    }
  },
  "additionalProperties": false
}
get_quote annotations
{
  "title": "Prices for a stay",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_venues — Restaurants, bars and spa
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Restaurants, bars, café, spa, room and beach service of the five hotels of Corissia Resorts: access, opening hours, services with prices, reservation, menu sections. With hotel: the venues its guests may use, each with access_for_hotel (as hotel guest, or as other guest under a condition such as "adults, with reservation"). Hours, prices and access as published on the website (they may change; hours may vary by season). access: hotel_guests, other_guests with their condition, external_guests, min_age with age_note. The connector does not reserve tables or treatments; reservation has the reservation URL and phones of the venue, and reservation null means that the website offers no reservation. What a board (half board, all inclusive) includes is not part of this answer. API v3.

list_venues input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "lang": {
      "enum": [
        "de",
        "en"
      ],
      "type": "string",
      "description": "Language of names, texts and links: de or en (default en)."
    },
    "type": {
      "enum": [
        "restaurant",
        "bar",
        "cafe",
        "spa",
        "room_service",
        "beach_service"
      ],
      "type": "string",
      "description": "Only this type of venue."
    },
    "hotel": {
      "enum": [
        "hiltonchania",
        "flair",
        "harmony",
        "princess",
        "beach"
      ],
      "type": "string",
      "description": "Only the venues the guests of this hotel may use."
    }
  },
  "additionalProperties": false
}
list_venues annotations
{
  "title": "Restaurants, bars and spa",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_venue — Venue details
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

One venue: access, minimum age, opening hours, services with prices, reservation and its menu sections. Hours, prices and access as published on the website (they may change; hours may vary by season). access: hotel_guests, other_guests with their condition, external_guests, min_age with age_note. The connector does not reserve tables or treatments; reservation has the reservation URL and phones of the venue, and reservation null means that the website offers no reservation. What a board (half board, all inclusive) includes is not part of this answer. API v3.

get_venue input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "venue"
  ],
  "properties": {
    "lang": {
      "enum": [
        "de",
        "en"
      ],
      "type": "string",
      "description": "Language of names, texts and links: de or en (default en)."
    },
    "venue": {
      "enum": [
        "restaurant-poeme",
        "restaurant-celeste",
        "bar-c",
        "bar-littlegalaxy",
        "fauchon",
        "room-service-hiltonchania",
        "wellness-loccitane",
        "restaurant-360",
        "restaurant-flair",
        "bar-flair",
        "bar-flairbeach",
        "room-service-flair",
        "wellness-flair",
        "restaurant-ophelia",
        "restaurant-autograph",
        "bar-H2O",
        "room-service",
        "wellness-harmony",
        "restaurant-armonia",
        "restaurant-park",
        "bar-park",
        "beach-park",
        "bar-panorama",
        "bar-portokali",
        "wellness-princess"
      ],
      "type": "string",
      "description": "Venue id, e.g. restaurant-ophelia, bar-c, wellness-harmony."
    }
  },
  "additionalProperties": false
}
get_venue annotations
{
  "title": "Venue details",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_menu — Menu or treatment list
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

The menu, drinks or spa treatments of a venue with the prices of the website (EUR), as published on as_of; prices may change. price null: the website shows no price for that item. lang_served: the language in which the page shows its menu, when it differs from the requested one. API v3.

get_menu input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "venue"
  ],
  "properties": {
    "lang": {
      "enum": [
        "de",
        "en"
      ],
      "type": "string",
      "description": "Language of names, texts and links: de or en (default en)."
    },
    "venue": {
      "enum": [
        "restaurant-poeme",
        "restaurant-celeste",
        "bar-c",
        "bar-littlegalaxy",
        "fauchon",
        "room-service-hiltonchania",
        "wellness-loccitane",
        "restaurant-360",
        "restaurant-flair",
        "bar-flair",
        "bar-flairbeach",
        "room-service-flair",
        "wellness-flair",
        "restaurant-ophelia",
        "restaurant-autograph",
        "bar-H2O",
        "room-service",
        "wellness-harmony",
        "restaurant-armonia",
        "restaurant-park",
        "bar-park",
        "beach-park",
        "bar-panorama",
        "bar-portokali",
        "wellness-princess"
      ],
      "type": "string",
      "description": "Venue id, e.g. restaurant-ophelia, bar-c, wellness-harmony."
    },
    "section": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "Only one section: an id of the menu sections of the venue."
    }
  },
  "additionalProperties": false
}
get_menu annotations
{
  "title": "Menu or treatment list",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
list_jobs — Open positions (jobs)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Open positions (jobs) at the hotels of Corissia Resorts in Crete, as on the career page: title, summary, departments, location (Georgioupolis, Chania), employment type, salary where published, date posted and the page of the position. Newest first. Applications are made only on the page of the position (url), with its form, by the candidate; the connector does not apply and receives no personal data. salary null: the website publishes no salary for that position; salary_note is the note of the career page. API v3.

list_jobs input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "lang": {
      "enum": [
        "en",
        "de",
        "el"
      ],
      "type": "string",
      "description": "Language of the position: en, de or el (Greek); default en."
    },
    "location": {
      "enum": [
        "georgioupolis",
        "chania"
      ],
      "type": "string",
      "description": "Only positions in this place: georgioupolis (Corissia Princess, Corissia Beach, Harmony) or chania (Hilton Chania Old Town, Chania Flair)."
    },
    "department": {
      "enum": [
        "management",
        "sales",
        "backoffice",
        "frontoffice",
        "wellness",
        "housekeeping",
        "engineering",
        "technology",
        "food",
        "fnb"
      ],
      "type": "string",
      "description": "Only this department: management, sales, backoffice, frontoffice, wellness, housekeeping, engineering, technology, food (kitchen) or fnb (restaurant and bar service)."
    }
  },
  "additionalProperties": false
}
list_jobs annotations
{
  "title": "Open positions (jobs)",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_job — Job details
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

One open position with its full description (tasks, skills, what we offer) and the page to apply on. JOB_NOT_FOUND: the position is not open (any more). Applications are made only on the page of the position (url), with its form, by the candidate; the connector does not apply and receives no personal data. salary null: the website publishes no salary for that position; salary_note is the note of the career page. API v3.

get_job input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "job_id"
  ],
  "properties": {
    "lang": {
      "enum": [
        "en",
        "de",
        "el"
      ],
      "type": "string",
      "description": "Language of the position: en, de or el (Greek); default en."
    },
    "job_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Id of an open position, e.g. receptionist."
    }
  },
  "additionalProperties": false
}
get_job annotations
{
  "title": "Job details",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
corissia_offers — Offers (API 2.0)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Hotel offers for a Corissia hotel and date range, API version 2.0, without a guests parameter. The answer may be for a different stay than the requested one: stay.checkin and stay.checkout show the stay it is for. Kept unchanged for the integrations of the first server.

corissia_offers input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "hotel",
    "checkin",
    "checkout"
  ],
  "properties": {
    "hotel": {
      "enum": [
        "flair",
        "harmony",
        "princess",
        "beach",
        "hiltonchania"
      ],
      "type": "string",
      "description": "Hotel code: flair, harmony, princess, beach, or hiltonchania."
    },
    "checkin": {
      "type": "string",
      "description": "Check-in date in YYYY-MM-DD format, e.g. 2025-06-01."
    },
    "checkout": {
      "type": "string",
      "description": "Check-out date in YYYY-MM-DD format, e.g. 2025-06-05."
    }
  },
  "additionalProperties": false
}
corissia_offers annotations
{
  "title": "Offers (API 2.0)",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

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

Maintenance history

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

  • · probe · passed · 2425 ms · metadata changed · 10 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 corissia-resorts-mcp https://mcp.hoteloperating.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 corissia-resorts-mcp --url https://mcp.hoteloperating.com/mcp

Cursor

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

Cline

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

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start corissia-resorts-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "corissia-resorts-mcp": {
      "type": "http",
      "url": "https://mcp.hoteloperating.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 corissia-resorts-mcp https://mcp.hoteloperating.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.hoteloperating.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": {
    "corissia-resorts-mcp": {
      "serverUrl": "https://mcp.hoteloperating.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Corissia Resorts 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 Corissia Resorts 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