---
name: tourvy
description: Connect to and operate a Tourvy travel-agency workspace over MCP — look up departures, requests, trips, and templates; plan and draft offers; and send proposals to customers. Use when the user asks about their Tourvy trips, requests, or departures, or wants to plan or send an offer.
---

# Tourvy

Tourvy is trip-planning software for travel agencies (Request → Offer → Booking).
This skill connects your agent to a Tourvy workspace over MCP and describes the tools.

## Connect

Add the Tourvy MCP server, then authenticate — a browser sign-in, no API key:

```
claude mcp add tourvy --transport http https://api.tourvy.com/mcp
```

Then authorize: in Claude Code type `/mcp`, select `tourvy`, choose Authenticate.
Other clients open the browser automatically. The connection acts as the signed-in
member, scoped to the workspace they pick.

## No account yet

Tourvy is workspace software: the connection always acts as a member of a travel
agency's workspace, so there is nothing to connect to before one exists. If the user
has no Tourvy account — or the consent screen says their account is not a member of
any workspace — do this instead of retrying the connection:

1. Send them to https://www.tourvy.com/signup. If the browser is already on the consent screen,
   its "Create your workspace" button carries them back there afterwards. If you
   send the link yourself, append the consent URL as a `next` parameter —
   `?next=%2Foauth%2Fauthorize%3F…`, URL-encoded, same-origin paths only.
2. Let them finish sign-up and the "Create a new workspace" steps. If they were invited
   by a colleague instead, they accept that invitation on the same screen.
3. Once they are in a workspace, start authentication again in the client (in Claude
   Code: `/mcp` → `tourvy` → Authenticate) and approve the consent screen.

Do not guess a workspace, and do not treat this as a tool failure to work around —
without a workspace there is no data to read, and every tool call will keep failing.

## Tools

- **Read (safe, no changes)**: `get_departures`, `get_departure_checks`, `list_requests`, `search_trips`, `get_request`, `get_trip_summary`, `get_trip_outline`, `get_trip_blocks`, `get_trip_events`, `get_booking_status`, `aggregate_trips`, `search_templates`, `search_accommodations`, `find_similar_trips`, `read_trip_from_url`, `get_offer_publication`, `preview_offer_send`, `feedback_list`.
- **Write (additive, reversible in the app, no email)**: `create_request`, `update_request`, `create_offer_from_template`, `create_trip_draft`, `apply_trip_plan`, `add_trip_items`, `update_trip_items`, `patch_trip_days`, `add_trip_days`, `reorder_trip_days`, `split_trip_day`, `merge_trip_days`, `set_trip_day_span`, `update_trip_stays`, `split_trip_stay`, `merge_trip_stays`, `move_trip_stay_boundary`, `add_trip_services`, `create_trip_variant`, `attach_trip_media`, `publish_offer`, `accept_suggestion`, `update_trip_settings`, `draft_trip_texts`, `draft_day_texts`, `draft_stay_text`, `submit_feedback`, `feedback_done`.
- **Destructive (only with `confirm: true` after the user approves)**: `remove_trip_blocks`, `reject_suggestion`, `feedback_delete`.
- **Send (real, non-reversible customer email)**: `send_offer`.

## Rules

- Ground every answer in tool results — never invent trips, customers, or dates.
- `send_offer` emails a real customer and cannot be undone. ALWAYS call
  `preview_offer_send` first, show the recipient, subject, and body to the user, and
  only call `send_offer` with `confirm: true` after they explicitly approve.
- Day copy and day structure are two different things. `patch_trip_days` writes a
  day's title and text; `add_trip_days` and `reorder_trip_days` change the calendar
  itself, so they are refused on a confirmed trip and cannot be proposed as
  suggestions. Days sort only inside one stay — moving a day to another stay is
  rescheduling and stays in the app.
- All data is scoped to the signed-in member's organization; every action is
  attributed to them.

## Examples

- "Which trips depart this week?"
- "Show the new requests from the last 7 days."
- "Look at the request from <customer>. What would suit them? Suggest matching
  templates or similar past trips, then draft an offer."
- "Show the send preview for <customer>'s offer, then send it once I confirm."
- "What were the top destinations by revenue in Q3?"
