Skip to content

Corissia Resorts Crete

com.corissia/hotelscorissia.comstreamable-httpv2.3.2Scanned

Hotel facts, prices for exact stays with a booking link, dining and jobs of Corissia Resorts, Crete

10 tools: 1 change things and 9 only read.

Tools: 0 delete, 0 irreversible, 1 write, 9 read.
  • Reads private data · 0
  • Reads text others write · 10
  • Can send data out · 0
  • 1 finding

Anlyon alternative

1 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

10 tools

Changes things 1Claude Code: ask
  • list_jobsOpen positions (jobs) at the hotels of Corissia Resorts in Crete, as on the career page: title, summary, departments, location (Georgioupolis, Chania), employment type, salary wher…Reads text others write1 finding

    Why it is in this group

    • The name "list_jobs" says "list": a word for reading.
    • The description's first verb is "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "list_jobs" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "list_jobs" says "list": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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 only on the page of the position (url), with its form, by the candidate: an AI assistant cannot apply and must not ask for or collect personal data (CV, name, e-mail, phone). salary null: the website publishes no salary for this position, do not guess one; quote salary_note. API v3.

    Annotations the server declares

    • title: Open positions (jobs)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 9Show 9 read-only tools
  • compare_hotelsCompare the five hotels that Corissia Resorts offers in Crete (location, season, ages, character, opening periods).Reads text others writeNo findings

    Why it is in this group

    • The name "compare_hotels" says "compare": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Compare the five hotels that Corissia Resorts offers in Crete (location, season, ages, character, opening periods). Start here when the user has not chosen a hotel yet. API v3, read only.

    Annotations the server declares

    • title: Compare the five hotels
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • corissia_offersGet hotel offers for a specific Corissia hotel and date range (API version 2.0, no guests parameter; it may answer for a different stay, so compare stay.checkin and stay.checkout w…Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Get hotel offers for a specific Corissia hotel and date range (API version 2.0, no guests parameter; it may answer for a different stay, so compare stay.checkin and stay.checkout with the request). For an exact stay and guests use get_quote.

    Annotations the server declares

    • title: Offers (API 2.0)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_hotel_factsFacts about one hotel and its rooms: identity, operation, policies (ages, pets, check-in), location, pools, dining, services, accessibility, terms, rooms.Reads text others writeNo findings

    Why it is in this group

    • The name "get_hotel_facts" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Facts about one hotel and its rooms: identity, operation, policies (ages, pets, check-in), location, pools, dining, services, accessibility, terms, rooms. A fact answered "unknown, ask the hotel" is not confirmed: say so and refer the user to the hotel. API v3.

    Annotations the server declares

    • title: Hotel facts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_jobOne open position with its full description (tasks, skills, what we offer) and the page to apply on.Reads text others writeNo findings

    Why it is in this group

    • The name "get_job" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One open position with its full description (tasks, skills, what we offer) and the page to apply on. Use the ids from list_jobs. JOB_NOT_FOUND: the position is not open (any more); list_jobs gives the open ones. Applications only on the page of the position (url), with its form, by the candidate: an AI assistant cannot apply and must not ask for or collect personal data (CV, name, e-mail, phone). salary null: the website publishes no salary for this position, do not guess one; quote salary_note. API v3.

    Annotations the server declares

    • title: Job details
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_menuThe menu, drinks or spa treatments of a venue with the prices of the website (EUR).Reads text others writeNo findings

    Why it is in this group

    • The name "get_menu" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "website": it reads web pages, which anyone can write.
    Description, as the server wrote it
    The menu, drinks or spa treatments of a venue with the prices of the website (EUR). price null: the website shows no price, do not invent one. lang_served says when a page shows its menu in another language. Prices may change: say they are as published on the website (as_of). API v3.

    Annotations the server declares

    • title: Menu or treatment list
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_quotePrices and offers for an exact stay and guests at one hotel.Reads text others writeNo findings

    Why it is in this group

    • The name "get_quote" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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): explain it, never invent a price. availability_status "available": the guest can book on the website with a 20% deposit or send a request; "on_request": high-demand nights, only a request, the booking advisor confirms the room. An agent cannot book or pay: for the room and board the guest chose, give rooms[].offers[].rates[].booking_url. It opens the room page with the dates, the board and the guests of that room; the guest adds the room and sends the request or books, typing name, e-mail and phone there (nothing personal goes into the link). API v3.

    Annotations the server declares

    • title: Prices for a stay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_room_detailsDetails of one room type of a hotel: name, booking limits (maximum adults, children, total) and facts.Reads text others writeNo findings

    Why it is in this group

    • The name "get_room_details" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Details of one room type of a hotel: name, booking limits (maximum adults, children, total) and facts. Use the room ids from get_hotel_facts. API v3.

    Annotations the server declares

    • title: Room details
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_venueOne venue: access, minimum age, opening hours, services with prices, reservation and its menu sections.Reads text others writeNo findings

    Why it is in this group

    • The name "get_venue" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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). Respect access (other_guests only under their condition, external_guests, min_age with age_note). Nothing can be reserved through this tool: give reservation.url or a phone of the venue; where reservation is null the website offers no reservation, so do not promise one. What a board (half board, all inclusive) includes is not answered here. API v3.

    Annotations the server declares

    • title: Venue details
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_venuesRestaurants, bars, café, spa, room and beach service of the five hotels of Corissia Resorts: access, opening hours, services with prices, reservation, menu sections.Reads text others writeNo findings

    Why it is in this group

    • The name "list_venues" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    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). Respect access (other_guests only under their condition, external_guests, min_age with age_note). Nothing can be reserved through this tool: give reservation.url or a phone of the venue; where reservation is null the website offers no reservation, so do not promise one. What a board (half board, all inclusive) includes is not answered here. API v3.

    Annotations the server declares

    • title: Restaurants, bars and spa
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data or outbound.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write10
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "list_jobs" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "list_jobs" says "list": a word for reading.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 2.3.2. Values in angle brackets are yours to fill in.

claude mcp add --transport http hotels https://mcp.hoteloperating.com/mcp
claude mcp add --transport http hotels https://mcp.hoteloperating.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__hotels__compare_hotels",
      "mcp__hotels__get_hotel_facts",
      "mcp__hotels__get_room_details",
      "mcp__hotels__get_quote",
      "mcp__hotels__list_venues",
      "mcp__hotels__get_venue",
      "mcp__hotels__get_menu",
      "mcp__hotels__get_job",
      "mcp__hotels__corissia_offers"
    ],
    "ask": [
      "mcp__hotels__list_jobs"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as hotels. Review it before you use it.

Capability tags behind 10 rules
  • mcp__hotels__compare_hotels untrusted-input
  • mcp__hotels__get_hotel_facts untrusted-input
  • mcp__hotels__get_room_details untrusted-input
  • mcp__hotels__get_quote untrusted-input
  • mcp__hotels__list_venues untrusted-input
  • mcp__hotels__get_venue untrusted-input
  • mcp__hotels__get_menu untrusted-input
  • mcp__hotels__list_jobs untrusted-input
  • mcp__hotels__get_job untrusted-input
  • mcp__hotels__corissia_offers untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.corissia/hotels/verify?hash=dc0ae2bdbda44f98c803751a751806a615495d78de5bbd9d80b0f9ba0960a4b3" | jq -e '.changed == false'

Pinned hash dc0ae2bdbda4, from Nov 4, 2026, 21:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.corissia/hotels/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.corissia/hotels
[![anlyon.dev](https://anlyon.dev/badge/com.corissia/hotels.svg)](https://anlyon.dev/servers/com.corissia/hotels)

Source: MCP Registry. Synced Nov 4, 2026, 22:17 UTC.