# `travel.phiphiparadise/booking` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/travel.phiphiparadise/booking
- JSON: https://anlyon.dev/api/v1/servers/travel.phiphiparadise/booking
- Version: 1.0.0 (active)
- Publisher: travel.phiphiparadise (domain proven to the MCP Registry)
- Runs: remote (streamable-http)
- Sign-in to list tools: none
- Metadata from the official MCP Registry, synced 2026-10-21T18:55:19.662Z

Title and description, as the publisher wrote them:

```untrusted-server-text
Phi Phi Paradise Travel
Plan and book southern Thailand trips: island tours, private boats, ferries, hotels, itineraries.
```

Scanned 2026-10-21T19:21:00.995Z over streamable-http.

**10 tools: 3 can delete or cancel things, 1 do something that can't be undone, 1 change things and 5 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 3 | deny |
| Can't be undone | irreversible | 1 | ask |
| Changes things | write | 1 | ask |
| Only reads | read | 5 | allow |

## Findings

- **warn** Annotations that disagree with the tool in `search_transfers` ([annotation-conflict](https://anlyon.dev/methodology#annotation-conflict))

```untrusted-server-text
The server marks "search_transfers" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "search_transfers" says "search": a word for reading.
```


## Deletes or cancels (3)

Removes, cancels or revokes something. Claude Code: deny.

### `book_experience`

- The description's first verb is "create": a word for a change.
- The server marks it destructive (destructiveHint: true).

Description, as the server wrote it:

```untrusted-server-text
Creates a tour booking pending payment and returns its reference and a secure payment page on phiphiparadise.travel. Requires traveller_confirmed: true, set once the traveller has approved the tour, date, party, total and payment. Payment is online: 'full' (default) or 'deposit' when the tour offers it (private tours: balance online before the trip; shared tours: balance in cash on the day). The booking is secured only when the traveller pays on that page.
```

### `book_transfer`

- The name "book_transfer" says "transfer": a word for a change that another call does not undo.
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it destructive (destructiveHint: true).

Description, as the server wrote it:

```untrusted-server-text
Creates a booking for one transfer that Phi Phi Paradise organizes, listed by search_transfers, and returns its reference and a secure payment page. Partner departures listed with a trip_id: pass trip_id. Lines listed with a 12Go price are booked on 12Go, not here. Our own boat departures: pass from, to, type, departure_time and company exactly as listed. Requires traveller_confirmed: true, set once the traveller has approved the route, date, time, passengers and total. Transfers are paid online in full; the seat is secured only when paid.
```

### `plan_trip`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).

Description, as the server wrote it:

```untrusted-server-text
Build a multi-stop Thailand itinerary (stops in travel order) and get a shareable page plus a PDF: day-by-day plan, map, transport between stops with prices, hotel picks and tours. Suited to trips of several days or several places.
```

## Can't be undone (1)

Sends, pays, publishes or merges: once done, it cannot be taken back. Claude Code: ask.

### `search_transfers`

- The name "search_transfers" says "search": a word for reading.
- The description's first verb is "transfer": a word for a change that another call does not undo.
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
- Findings: warn annotation-conflict

Description, as the server wrote it:

```untrusted-server-text
Transfers across the whole of Thailand: ferries, speedboats and catamarans between the islands (Phuket, Krabi, Ao Nang, Koh Phi Phi, Koh Lanta, Koh Yao, Koh Lipe, Samui, Phangan, Tao, Koh Chang, Koh Kood…), shared vans and private taxis between towns and airports. Departure times, operator, piers or pickup point, price per person or per vehicle, and a photo page of the boat. Routes Phi Phi Paradise organizes (its boats between Phuket, Krabi, Ao Nang, Koh Phi Phi, Railay, Koh Lipe and Koh Yao, and partner companies with a trip_id) are booked with book_transfer; every other route is listed at its 12Go price with a 12Go booking link (12Go, our partner, takes the booking and the payment).
```

## Changes things (1)

Creates or changes something that can be changed back. Claude Code: ask.

### `check_availability`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Live availability and exact party price of one tour on one date (seats left, blocked dates, 48h notice rule, dated prices). When the date is not bookable, it lists the next open dates.
```

## Only reads (5)

Looks things up and changes nothing. Claude Code: allow.

### `ask_travel_guides`

- The description's first verb is "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Search our own Thailand travel guides: how to get from A to B, last boats, weather and monsoon by month, Maya Bay rules, how many days per island, budgets, safety. Returns excerpts and links.
```

### `get_experience_details`

- The name "get_experience_details" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Full live sheet of one tour: price tiers (per person or per whole boat), child price, dated price periods, duration, schedule, meeting point, what is included, national park fee, page link.
```

### `search_experiences`

- The name "search_experiences" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Search our tours: island hopping, Maya Bay, private boats, snorkeling, diving, boat parties, cultural day trips. Covers Koh Phi Phi, Krabi (Ao Nang, Railay), Phuket, Koh Yao, Bangkok and Chiang Mai. Returns ids, starting prices, durations and page links. Tour titles are in French.
```

### `search_flights`

- The name "search_flights" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Flights to and within Thailand (e.g. Paris CDG to Bangkok BKK, Bangkok to Krabi KBV or Phuket HKT). Returns live fares when our search has them, plus a ready-made booking link: 12Go (our partner, prices in baht) for flights within Thailand, Google Flights and Skyscanner otherwise. The traveller books on the partner site.
```

### `search_hotels`

- The name "search_hotels" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Hotels for a destination. With check-in and check-out dates: live Agoda nightly rates, stars, guest scores and booking links. Without dates: our editorial shortlist. Destinations: koh-phi-phi, phuket, krabi, koh-yao, bangkok, chiang-mai, koh-lanta, koh-lipe, koh-samui, koh-phangan, koh-tao, khao-lak, khao-sok, koh-muk.
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `booking`:

```json
{
  "permissions": {
    "allow": [
      "mcp__booking__search_experiences",
      "mcp__booking__get_experience_details",
      "mcp__booking__search_hotels",
      "mcp__booking__search_flights",
      "mcp__booking__ask_travel_guides"
    ],
    "ask": [
      "mcp__booking__check_availability",
      "mcp__booking__search_transfers"
    ],
    "deny": [
      "mcp__booking__book_experience",
      "mcp__booking__book_transfer",
      "mcp__booking__plan_trip"
    ]
  }
}
```
