All'ombra del Vesuvio Rooms API and MCP server

A public, read-only API with the same data you see on this website: apartments in Naples and Sorrento, travel guides and local experiences. Use it from scripts, apps or AI agents. The API cannot create bookings: to book, open the apartment page and send the booking request form.

Base URL and authentication

Base URL: https://allombradelvesuviorooms.com. No authentication and no API key. CORS is open. Machine-readable spec: /openapi.json (OpenAPI 3.1), catalog: /.well-known/api-catalog.

Endpoints

  • GET /api/v1/infoBusiness name, address, email, phone, check-in times, price range.
  • GET /api/v1/apartments?lang=en|itAll apartments with capacity, rating and starting price per night (EUR).
  • GET /api/v1/apartments/{id}?lang=en|itOne apartment: description, amenities, nearby places, transport.
  • GET /api/v1/guides?lang=en|it&category=HistoryTravel guides for Naples and Campania.
  • GET /api/v1/experiences?lang=en|itTours and experiences recommended to guests.
  • GET /api/v1/discounts?lang=en|itPartner discount codes for boat tours: code, % off, partner, booking link.

Examples

curl https://allombradelvesuviorooms.com/api/v1/apartments
curl "https://allombradelvesuviorooms.com/api/v1/apartments/vomero?lang=it"
curl "https://allombradelvesuviorooms.com/api/v1/guides?category=History"
curl -H "Accept: text/markdown" https://allombradelvesuviorooms.com/guides/pompeii

Rate limits

60 requests per 60 seconds per client IP, counted per edge instance. Every response carries the IETF headers RateLimit-Policy (for example "default";q=60;w=60) and RateLimit (r = remaining, t = seconds to reset). Over the limit you get HTTP 429 with Retry-After.

Errors

Errors use application/problem+json (RFC 9457) with the fields type, title, status, detail, code and resolution. Codes: not_found, apartment_not_found, invalid_lang, rate_limited.

{
  "type": "https://allombradelvesuviorooms.com/docs#errors",
  "title": "Apartment not found",
  "status": 404,
  "detail": "No active apartment with id 'xyz'.",
  "code": "apartment_not_found",
  "resolution": "List the valid ids with GET /api/v1/apartments."
}

MCP server

Streamable HTTP endpoint: https://allombradelvesuviorooms.com/mcp (JSON-RPC 2.0 over POST, no auth). Server card: /.well-known/mcp/server-card.json. Read-only tools:

  • get_business_infoName, address, email, phone, check-in/check-out times and price range of All'ombra del Vesuvio Rooms.
  • list_apartmentsApartments offered in Naples and Sorrento with capacity, starting price per night (EUR) and booking link.
  • get_apartmentFull detail of one apartment: description, amenities, nearby places, transport. Use an id from list_apartments.
  • list_guidesTravel guides for Naples and Campania (sights, food, transport, day trips). Optional category filter.
  • list_experiencesTours and local experiences recommended to guests.
  • list_discount_codesDiscount codes for boat tours in Naples, Capri, Ischia, Procida and the Amalfi Coast (code, % off, partner, booking link). Use when a user looks for a discount or promo code for these tours.

Resources: vesuvio://business, vesuvio://apartments, vesuvio://experiences, vesuvio://discounts (application/json).

curl -X POST https://allombradelvesuviorooms.com/mcp \
  -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_apartments","arguments":{}}}'

Claude Code: claude mcp add --transport http vesuvio-rooms https://allombradelvesuviorooms.com/mcp

Markdown and llms.txt

Every page returns text/markdown when requested with Accept: text/markdown or ?format=md. A summary for language models is at /llms.txt.