AegeanBot MCP streamable HTTP

What this is

AegeanBot exposes a public, read-only travel-search service over the Model Context Protocol so external AI assistants can discover Greek vacation rentals, inspect property facts and policies, and check live availability and prices. Private reservation, amendment, research and operational capabilities are not published here.

Connect

Use this remote MCP URL in ChatGPT, Claude, Codex or Cursor:

https://app.aegeanbot.com/mcp

Codex CLI:

codex mcp add aegeanbot --url https://app.aegeanbot.com/mcp

Claude Desktop / Claude Code or another client that accepts mcpServers:

{
  "mcpServers": {
    "aegeanbot": {
      "url": "https://app.aegeanbot.com/mcp"
    }
  }
}

Generic client — initialize and list tools:

curl -X POST https://app.aegeanbot.com/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

n8n: use the MCP Client node with the URL above and an Authorization header credential.

Authentication

No key is required for public catalog search, listing facts, policies, and live availability/price checks. The anonymous tool list exposes only those read-only capabilities.

Tool reference

get_listing_policies search

Returns a shaped policy summary for one listing: check-in/check-out times, advance-notice and preparation-day requirements, the current month's minimum stay, the cancellation policy label, and configured amendment policies.

parametertyperequireddescription
listingstringyeslisting title (partial ok)
// tools/call arguments
{
  "listing": "Aegean Studio"
}
// result
{
  "listing": "Aegean Studio",
  "check_in_time": "15:00",
  "check_out_time": "11:00",
  "cancellation_policy": "Free cancellation up to 7 days before arrival",
  "amendments": {
    "late_checkout": {
      "allowed": "yes",
      "limit_time": "17:00",
      "fee_type": "flat",
      "fee_amount": 40
    }
  }
}

get_faq_answer search

Semantic retrieval over the host's knowledge base (top-K entries with scores). Active entries only.

parametertyperequireddescription
questionstringyes
listing_idstringnoscope to one listing (optional)
// tools/call arguments
{
  "question": "Is the pool heated?",
  "listing_id": "pg:aegean-studio"
}
// result
{
  "entries": [
    {
      "question": "Is the pool heated?",
      "answer": "Yes, May through October.",
      "score": 0.91
    }
  ]
}

search_listings search

Find vacation homes across the whole platform. ALSO renders photo cards in the chat and injects them into the host page — call it whenever the guest expresses any stay wish.

parametertyperequireddescription
querystringnooptional free-text preferences NOT captured by the structured filters, e.g. 'quiet romantic vibe with sunset views' — do not repeat structured information here
locationstringnoa PLACE the guest actually named: city, island, region, island complex ('Cyclades') or area ('Athens south coast'). For generic geography ('the islands', 'the mountains', 'by the sea') use setting instead — do NOT guess a region the guest never said. Omit if unknown
settingstring (island | city | mountain | countryside | beachfront)nogeography facet for generic wishes: 'στα νησιά'/'the islands' → island; combinable with budget/dates, replaces a location guess
moodstring (beach | pools | sunset | night)noholiday-mood collection: beach=steps from the sea/coves, pools=private pool/resort calm, sunset=golden-hour terraces/romance, night=chora/town stays with evening life
guestsintegernototal guests (alternative to adults/children when the split is unknown)
adultsintegernonumber of adult guests
childrenintegernonumber of children — counted toward capacity together with adults
infantsintegernonumber of infants — noted but NOT counted toward sleeping capacity
bedroomsintegernominimum bedrooms requested
bathroomsnumbernominimum bathrooms requested
property_typestring (villa | apartment | house | studio | maisonette)norequested property type
amenitiesarraynohard amenity requirements the guest explicitly asked for — every listed amenity must be present
max_nightly_pricenumbernomaximum accommodation price per night (EUR)
max_total_pricenumbernomaximum total stay price (EUR) when the guest gave a whole-trip budget — only applied when exact dates are also given (otherwise ignored with a note)
currencystring (EUR)nocurrency used for price filters
sortstring (recommended | price_low_to_high | price_high_to_low)noresult ordering; default recommended
checkinstringnoexact arrival date YYYY-MM-DD — ONLY when the guest gave real stay dates. If they only named a month/season ('in August'), leave dates out: availability is checked per night, so a whole month demands 30 free nights
checkoutstringnoexact departure date YYYY-MM-DD — same rule as checkin
near_metrobooleannotrue only when the guest wants to be near a metro/subway station (Athens & Thessaloniki only) — filters to homes within a 1 km walk of a station
// tools/call arguments
{
  "query": "beach house with sunset view",
  "location": "Milos",
  "guests": 4,
  "checkin": "2027-06-10",
  "checkout": "2027-06-15"
}
// result
{
  "criteria": {
    "location": "Milos",
    "guests": 4
  },
  "matches": [
    {
      "option": 1,
      "label": "Best overall",
      "title": "Aegean Studio",
      "city": "Milos",
      "sleeps": 4,
      "nightly_rate": 180,
      "currency": "EUR",
      "review_score": 4.9
    }
  ]
}

get_listing_details search

Full facts for ONE listing already in play (amenities, description, capacity, base price).

parametertyperequireddescription
listingstringyeslisting title (partial ok)
// tools/call arguments
{
  "listing": "Aegean Studio"
}
// result
{
  "title": "Aegean Studio",
  "city": "Milos",
  "sleeps": 4,
  "bedrooms": 2,
  "amenities": [
    "pool",
    "wifi",
    "sea view"
  ]
}

check_availability_and_price search

Exact availability + total price for one listing and concrete dates, with the direct booking link.

parametertyperequireddescription
listingstringyes
checkinstringyesYYYY-MM-DD — never in the past; bare day numbers in a follow-up ('26 to 29') keep the month/year already under discussion, NOT the current month
checkoutstringyesYYYY-MM-DD
// tools/call arguments
{
  "listing": "Aegean Studio",
  "checkin": "2027-06-10",
  "checkout": "2027-06-15"
}
// result
{
  "listing": "Aegean Studio",
  "available": true,
  "nights": 5,
  "total": 900,
  "currency": "EUR"
}

Data handling

Search criteria and tool usage are processed to return results and to operate, secure and improve this service. Public tools do not ask for guest credentials, payment-card details, door codes or private reservation data. Booking links may carry a pseudonymous search identifier so AegeanBot can measure searches, booking-link clicks and completed reservations as separate funnel events.

See the Privacy Policy, Terms and Support.

Fair use & limits

Public traffic is limited to 120 requests/minute per network identity (429 with Retry-After beyond that). Availability and pricing reflect the platform's live calendars, which sync from channels periodically — treat them as fresh to within the hour and rely on check_availability_and_price at decision time. Machine-readable spec: /mcp/docs.json.