# GetYourGuide MCP tools

> Every GetYourGuide MCP tool on the Cotlet server: tool names, input schemas, a tools/call example and an example result for each tool.

Source: https://cotlet.dev/docs/mcp/getyourguide

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

11 tools for GetYourGuide on the Cotlet MCP server. Your agent picks them from tools/list.

- MCP server: `https://cotlet.dev/mcp/v1`
- Connects with: Your own GetYourGuide Supplier Portal account
- Integration page: https://cotlet.dev/integrations/getyourguide-api-mcp-server

## Endpoints

| Endpoint | Access | Description |
|---|---|---|
| `getyourguide_list_bookings` | read | Bookings for your products, by activity date, with travelers, option and status. |
| `getyourguide_get_booking` | read | One booking: reference, option, date and time, participants by category, price and lead traveler. |
| `getyourguide_list_products` | read | Your products with their options, status and price categories. |
| `getyourguide_get_availability` | read | Start times and free spots of an option for the dates you ask for. |
| `getyourguide_list_messages` | read | Traveler conversations from Messages, each with its booking reference. |
| `getyourguide_list_reviews` | read | Reviews of your products with rating, text, date and your reply, if any. |
| `getyourguide_get_performance` | read | The figures shown in the Supplier Portal performance view, for a date range. |
| `getyourguide_update_availability` | write | Set free spots for start times of an option on one date, or close them with 0. |
| `getyourguide_update_pricing` | write | Change the retail price per category of an option, from a date on. |
| `getyourguide_reply_to_message` | write | Send a reply to a traveler in a Messages conversation. |
| `getyourguide_reply_to_review` | write | Post your public reply under a review of your product. |

## List bookings

MCP tool: `getyourguide_list_bookings`

Access: read.

Returns bookings whose activity date falls in the range, ordered by date and start time. Cancelled bookings are left out unless status is cancelled or all. Results come in pages; pass next_cursor as cursor for the next one.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `from` | date | no | First activity date. Default: today. |
| `to` | date | no | Last activity date. Default: 7 days from today. |
| `product_id` | string | no | Only bookings for this product. |
| `status` | enum | no | confirmed, cancelled or all. Default: confirmed. |
| `cursor` | string | no | Next page cursor from the previous call. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getyourguide_list_bookings",
    "arguments": {}
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "bookings": [
      {
        "booking_reference": "GYGZ4K2M9T1X",
        "product_id": "88213",
        "option_id": "412087",
        "date": "2026-10-18",
        "time": "17:30",
        "status": "confirmed",
        "travelers": {
          "adult": 2,
          "child": 1
        }
      },
      {
        "booking_reference": "GYGB7Q5N3R8D",
        "product_id": "88213",
        "option_id": "412087",
        "date": "2026-10-18",
        "time": "18:30",
        "status": "confirmed",
        "travelers": {
          "adult": 4,
          "child": 0
        }
      }
    ],
    "next_cursor": null
  },
  "isError": false
}
```

## Get booking

MCP tool: `getyourguide_get_booking`

Access: read.

Returns one booking with the option, date, start time, travelers per category, the price and the lead traveler's name and language. The reference is on the booking in list_bookings.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `booking_reference` | string | yes | GetYourGuide booking reference from list_bookings, e.g. GYGZ4K2M9T1X. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getyourguide_get_booking",
    "arguments": {
      "booking_reference": "booking reference"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "booking_reference": "GYGZ4K2M9T1X",
    "product": "Sunset Harbor Walking Tour",
    "option_id": "412087",
    "date": "2026-10-18",
    "time": "17:30",
    "status": "confirmed",
    "travelers": {
      "adult": 2,
      "child": 1
    },
    "price": {
      "amount": 110,
      "currency": "EUR"
    },
    "lead_traveler": {
      "name": "Sam Rivera",
      "language": "en"
    }
  },
  "isError": false
}
```

## List products

MCP tool: `getyourguide_list_products`

Access: read.

Returns your products and, under each, its options with the option ID that the availability and pricing tools need. Each option lists its price categories and current retail prices. Inactive products are left out unless you ask.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `status` | enum | no | active, inactive or all. Default: active. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getyourguide_list_products",
    "arguments": {}
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "products": [
      {
        "product_id": "88213",
        "title": "Sunset Harbor Walking Tour",
        "status": "active",
        "options": [
          {
            "option_id": "412087",
            "name": "English, small group",
            "price_categories": {
              "adult": 40,
              "child": 20
            },
            "currency": "EUR"
          }
        ]
      }
    ]
  },
  "isError": false
}
```

## Get availability

MCP tool: `getyourguide_get_availability`

Access: read.

Returns each date in the range with its start times, free spots and how many are booked. Use it before closing a slot to see who is already booked.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `option_id` | string | yes | Option ID from list_products. |
| `from` | date | yes | First date. |
| `to` | date | yes | Last date. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getyourguide_get_availability",
    "arguments": {
      "option_id": "option_8c41d2",
      "from": "2026-10-01",
      "to": "2026-10-01"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "option_id": "412087",
    "days": [
      {
        "date": "2026-10-18",
        "slots": [
          {
            "time": "17:30",
            "vacancies": 8,
            "booked": 3
          },
          {
            "time": "18:30",
            "vacancies": 12,
            "booked": 0
          }
        ]
      }
    ]
  },
  "isError": false
}
```

## List messages

MCP tool: `getyourguide_list_messages`

Access: read.

Returns your Messages conversations, most recent first, with the traveler, the booking reference, the unread count and the last message. Set unread_only to see only what needs an answer.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `unread_only` | boolean | no | Only conversations with unread messages. Default: false. |
| `limit` | integer | no | 1 to 50. Default: 20. |
| `cursor` | string | no | Next page cursor from the previous call. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getyourguide_list_messages",
    "arguments": {}
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "conversations": [
      {
        "conversation_id": "cv_7a21",
        "booking_reference": "GYGZ4K2M9T1X",
        "traveler": "Sam Rivera",
        "unread": 1,
        "last_message": "Where exactly do we meet?",
        "updated_at": "2026-10-16T08:12:00Z"
      }
    ],
    "next_cursor": null
  },
  "isError": false
}
```

## List reviews

MCP tool: `getyourguide_list_reviews`

Access: read.

Returns reviews of your products, newest first, with rating, text, date and your reply when there is one. Filter to unanswered reviews to build a reply queue.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `product_id` | string | no | Only reviews of this product. |
| `since` | date | no | Only reviews on or after this date. |
| `unanswered_only` | boolean | no | Skip reviews you already replied to. |
| `cursor` | string | no | Next page cursor from the previous call. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getyourguide_list_reviews",
    "arguments": {}
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "reviews": [
      {
        "review_id": "rv_30482",
        "product_id": "88213",
        "rating": 5,
        "text": "Great guide, loved the harbor stories.",
        "date": "2026-10-12",
        "reply": null
      }
    ],
    "next_cursor": null
  },
  "isError": false
}
```

## Get performance

MCP tool: `getyourguide_get_performance`

Access: read.

Returns the figures shown in the Supplier Portal performance view for the range. Without product_id every product is included.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `from` | date | yes | Start of the period. |
| `to` | date | yes | End of the period. |
| `product_id` | string | no | Only this product. Default: all products. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getyourguide_get_performance",
    "arguments": {
      "from": "2026-10-01",
      "to": "2026-10-01"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "from": "2026-10-05",
    "to": "2026-10-11",
    "products": [
      {
        "product_id": "88213",
        "title": "Sunset Harbor Walking Tour",
        "figures": {
          "bookings": 37
        }
      }
    ]
  },
  "isError": false
}
```

## Update availability

MCP tool: `getyourguide_update_availability`

Access: write.

Sets free spots per start time for one option and one date; 0 closes the slot. Existing bookings are not touched. It reaches no one and one call reopens the slot, so it runs without asking for your OK. Returns the slots as the app now shows them.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `option_id` | string | yes | Option ID from list_products. |
| `date` | date | yes | Activity date. |
| `slots` | object | yes | Map of start time (HH:MM) to free spots, e.g. {"17:30": 0}. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getyourguide_update_availability",
    "arguments": {
      "option_id": "412087",
      "date": "2026-10-18",
      "slots": {
        "17:30": 0,
        "18:30": 0
      }
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "option_id": "412087",
    "date": "2026-10-18",
    "slots": [
      {
        "time": "17:30",
        "vacancies": 0,
        "status": "closed"
      },
      {
        "time": "18:30",
        "vacancies": 0,
        "status": "closed"
      }
    ],
    "bookings_on_date": 3
  },
  "isError": false
}
```

## Update pricing

MCP tool: `getyourguide_update_pricing`

Access: write. Confirm: waits for the user's OK before it runs.

Sets the retail price per price category of one option from a date on. Travelers see the new price on the activity page, so a wrong price costs money. A booking system that pushes rates can overwrite it. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `option_id` | string | yes | Option ID from list_products. |
| `prices` | object | yes | Map of price category (adult, child) to price in your currency. |
| `valid_from` | date | no | First date with the new price. Default: today. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getyourguide_update_pricing",
    "arguments": {
      "option_id": "412087",
      "prices": {
        "adult": 43,
        "child": 22
      },
      "valid_from": "2027-04-01"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "option_id": "412087",
    "valid_from": "2026-11-01",
    "currency": "EUR",
    "prices": {
      "adult": 44,
      "child": 22
    },
    "previous": {
      "adult": 40,
      "child": 20
    }
  },
  "isError": false
}
```

## Reply to message

MCP tool: `getyourguide_reply_to_message`

Access: write. Confirm: waits for the user's OK before it runs.

Sends your reply to the traveler in the conversation; it appears in their GetYourGuide app. Messages cannot be recalled. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `conversation_id` | string | yes | Conversation ID from list_messages. |
| `body` | string | yes | Reply text. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getyourguide_reply_to_message",
    "arguments": {
      "conversation_id": "cv_7a21",
      "body": "Hi Sam, we meet at the fountain on Harbor Square 10 minutes before 17:30. Kids are welcome on the whole route."
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "conversation_id": "cv_7a21",
    "status": "sent",
    "sent_at": "2026-10-16T08:40:00Z"
  },
  "isError": false
}
```

## Reply to review

MCP tool: `getyourguide_reply_to_review`

Access: write. Confirm: waits for the user's OK before it runs.

Posts your reply under one review. It is public on the activity page and attached to your provider name. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `review_id` | string | yes | Review ID from list_reviews. |
| `body` | string | yes | Reply text, shown publicly on the activity page. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getyourguide_reply_to_review",
    "arguments": {
      "review_id": "rv_30482",
      "body": "Thank you, Maria! We are so glad the harbor stories and the sunset from the old pier made your evening. Hope to see you again."
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "review_id": "rv_30482",
    "status": "published",
    "replied_at": "2026-10-16T09:05:00Z"
  },
  "isError": false
}
```
