Official Protur Hotels MCP: hotel info, live availability and prices in Mallorca and Almería.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Busca un texto en las preguntas y respuestas confirmadas. Con hotel, solo en ese; sin hotel, en todos los que tengas asignados (los resultados indican el hotel).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http hoteles https://chatbot.protur-hotels.com/mcp
Busca un texto en las preguntas y respuestas confirmadas. Con hotel, solo en ese; sin hotel, en todos los que tengas asignados (los resultados indican el hotel).
| Argument | Type | Description |
|---|---|---|
| hotel | string | |
| texto* | string | |
| limite | integer |
{
"type": "object",
"required": [
"texto"
],
"properties": {
"hotel": {
"type": "string"
},
"texto": {
"type": "string"
},
"limite": {
"type": "integer",
"maximum": 25,
"minimum": 1
}
},
"additionalProperties": false
}Enlaces públicos a las cartas (bebidas, snacks, vinos, restaurantes) de un hotel.
| Argument | Type | Description |
|---|---|---|
| hotel* | string |
{
"type": "object",
"required": [
"hotel"
],
"properties": {
"hotel": {
"type": "string"
}
},
"additionalProperties": false
}Compara el precio más barato de la estancia en varios hoteles de Protur para las mismas fechas y huéspedes, ordenado de menor a mayor, con enlace de reserva de cada uno.
| Argument | Type | Description |
|---|---|---|
| idioma | string | Idioma de los textos y del enlace de reserva (por defecto es) |
| salida* | string | Fecha de salida, YYYY-MM-DD |
| entrada* | string | Fecha de entrada, YYYY-MM-DD |
| hoteles | array | Opcional: slugs o nombres de los hoteles (por defecto, todos los que se reservan online) |
| habitaciones* | array | Una entrada por habitación |
{
"type": "object",
"required": [
"entrada",
"salida",
"habitaciones"
],
"properties": {
"idioma": {
"enum": [
"es",
"en",
"de",
"fr",
"ca"
],
"type": "string",
"description": "Idioma de los textos y del enlace de reserva (por defecto es)"
},
"salida": {
"type": "string",
"description": "Fecha de salida, YYYY-MM-DD"
},
"entrada": {
"type": "string",
"description": "Fecha de entrada, YYYY-MM-DD"
},
"hoteles": {
"type": "array",
"items": {
"type": "string"
},
"description": "Opcional: slugs o nombres de los hoteles (por defecto, todos los que se reservan online)"
},
"habitaciones": {
"type": "array",
"items": {
"type": "object",
"required": [
"adultos"
],
"properties": {
"bebes": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "Bebés menores de 2 años"
},
"adultos": {
"type": "integer",
"maximum": 30,
"minimum": 1
},
"edades_ninos": {
"type": "array",
"items": {
"type": "integer",
"maximum": 17,
"minimum": 0
},
"description": "Edad de cada menor"
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 1,
"description": "Una entrada por habitación"
}
},
"additionalProperties": false
}Disponibilidad y precios reales de un hotel para unas fechas y unos huéspedes: tipos de habitación libres, tarifas, régimen, si se puede cancelar, y enlace para reservar directamente con esa búsqueda.
| Argument | Type | Description |
|---|---|---|
| hotel* | string | Slug o nombre del hotel (ver listar_hoteles) |
| idioma | string | Idioma de los textos y del enlace de reserva (por defecto es) |
| salida* | string | Fecha de salida, YYYY-MM-DD |
| entrada* | string | Fecha de entrada, YYYY-MM-DD |
| habitaciones* | array | Una entrada por habitación |
{
"type": "object",
"required": [
"hotel",
"entrada",
"salida",
"habitaciones"
],
"properties": {
"hotel": {
"type": "string",
"description": "Slug o nombre del hotel (ver listar_hoteles)"
},
"idioma": {
"enum": [
"es",
"en",
"de",
"fr",
"ca"
],
"type": "string",
"description": "Idioma de los textos y del enlace de reserva (por defecto es)"
},
"salida": {
"type": "string",
"description": "Fecha de salida, YYYY-MM-DD"
},
"entrada": {
"type": "string",
"description": "Fecha de entrada, YYYY-MM-DD"
},
"habitaciones": {
"type": "array",
"items": {
"type": "object",
"required": [
"adultos"
],
"properties": {
"bebes": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "Bebés menores de 2 años"
},
"adultos": {
"type": "integer",
"maximum": 30,
"minimum": 1
},
"edades_ninos": {
"type": "array",
"items": {
"type": "integer",
"maximum": 17,
"minimum": 0
},
"description": "Edad de cada menor"
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 1,
"description": "Una entrada por habitación"
}
},
"additionalProperties": false
}Para fechas flexibles: busca las entradas más baratas de una estancia de N noches dentro de un rango (máximo 62 días), confirma el precio real y da el enlace de reserva. «Semana» = 7 noches.
| Argument | Type | Description |
|---|---|---|
| desde* | string | Primer día posible de entrada, YYYY-MM-DD |
| hasta* | string | Último día posible de salida, YYYY-MM-DD |
| idioma | string | Idioma de los textos y del enlace de reserva (por defecto es) |
| noches* | integer | |
| hoteles | array | Opcional: slugs o nombres de los hoteles (por defecto, todos los que se reservan online) |
| habitaciones* | array | Una entrada por habitación |
{
"type": "object",
"required": [
"desde",
"hasta",
"noches",
"habitaciones"
],
"properties": {
"desde": {
"type": "string",
"description": "Primer día posible de entrada, YYYY-MM-DD"
},
"hasta": {
"type": "string",
"description": "Último día posible de salida, YYYY-MM-DD"
},
"idioma": {
"enum": [
"es",
"en",
"de",
"fr",
"ca"
],
"type": "string",
"description": "Idioma de los textos y del enlace de reserva (por defecto es)"
},
"noches": {
"type": "integer",
"maximum": 30,
"minimum": 1
},
"hoteles": {
"type": "array",
"items": {
"type": "string"
},
"description": "Opcional: slugs o nombres de los hoteles (por defecto, todos los que se reservan online)"
},
"habitaciones": {
"type": "array",
"items": {
"type": "object",
"required": [
"adultos"
],
"properties": {
"bebes": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "Bebés menores de 2 años"
},
"adultos": {
"type": "integer",
"maximum": 30,
"minimum": 1
},
"edades_ninos": {
"type": "array",
"items": {
"type": "integer",
"maximum": 17,
"minimum": 0
},
"description": "Edad de cada menor"
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 1,
"description": "Una entrada por habitación"
}
},
"additionalProperties": false
}Datos generales de un hotel (categoría, contacto, periodo de apertura…) y los temas de información que tiene.
| Argument | Type | Description |
|---|---|---|
| hotel* | string | Identificador (slug) o nombre del hotel |
{
"type": "object",
"required": [
"hotel"
],
"properties": {
"hotel": {
"type": "string",
"description": "Identificador (slug) o nombre del hotel"
}
},
"additionalProperties": false
}Políticas y datos comunes a todos los hoteles de Protur (propinas, mascotas, idiomas, etc.). Un dato propio de un hotel prevalece sobre este.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Preguntas y respuestas confirmadas de un hotel. Sin tema, devuelve todas; con tema (p. ej. restaurants), solo ese.
| Argument | Type | Description |
|---|---|---|
| tema | string | Tema opcional, tal como lo devuelve ficha_hotel |
| hotel* | string |
{
"type": "object",
"required": [
"hotel"
],
"properties": {
"tema": {
"type": "string",
"description": "Tema opcional, tal como lo devuelve ficha_hotel"
},
"hotel": {
"type": "string"
}
},
"additionalProperties": false
}Lista los hoteles de Protur Hotels a los que tienes acceso, con su identificador (slug).
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 13, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.