{
  "protocolVersion": "0.3.0",
  "name": "Reserva Directo",
  "description": "Buscador de alojamientos de América Latina. Busca en un catálogo de miles de alojamientos por destino, texto o filtros, y devuelve la URL del motor de reservas oficial de cada uno. No procesa reservas, no cobra comisión y no confirma disponibilidad: la reserva se completa siempre en el sitio del alojamiento.",
  "version": "1.0.0",
  "url": "https://reservadirecto.com/api/a2a",
  "preferredTransport": "JSONRPC",
  "supportedInterfaces": [
    {
      "url": "https://reservadirecto.com/api/a2a",
      "transport": "JSONRPC"
    }
  ],
  "additionalInterfaces": [
    {
      "url": "https://reservadirecto.com/api/a2a",
      "transport": "JSONRPC"
    }
  ],
  "provider": {
    "organization": "Reserva Directo",
    "url": "https://reservadirecto.com"
  },
  "iconUrl": "https://reservadirecto.com/icon-192.png",
  "documentationUrl": "https://reservadirecto.com/llms-full.txt",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": []
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "buscar_alojamientos",
      "name": "Buscar alojamientos",
      "description": "Busca alojamientos en el catálogo por destino y/o texto libre, con filtros. Devuelve una página de resultados con el total, la URL de la ficha en el sitio y la URL de salida al motor de reservas oficial. Reserva Directo sólo busca y enlaza: no reserva, no cobra ni confirma disponibilidad. El campo `precio_referencia` es el mínimo observado en el último rastreo (no una cotización para esas fechas) y viene `null` en la mayoría del catálogo: `null` significa PRECIO DESCONOCIDO, nunca gratis.",
      "tags": [
        "alojamiento",
        "viajes",
        "catálogo",
        "sólo-lectura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "examples": [
        "{\"skill\":\"buscar_alojamientos\",\"arguments\":{\"destino\":\"ar-mendoza\",\"estrellas\":[4,5],\"limite\":5}}"
      ]
    },
    {
      "id": "ver_alojamiento",
      "name": "Ver un alojamiento",
      "description": "Devuelve la ficha completa de un alojamiento: descripción, dirección, coordenadas, estrellas, reseñas, amenities, fotos, otros alojamientos del mismo destino y la URL de salida al motor. Se identifica por `id` numérico o por `slug` (el slug de la URL /h/<slug>, que termina en -<id>). Reserva Directo sólo busca y enlaza: no reserva, no cobra ni confirma disponibilidad.",
      "tags": [
        "alojamiento",
        "viajes",
        "catálogo",
        "sólo-lectura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "examples": [
        "{\"skill\":\"ver_alojamiento\",\"arguments\":{\"slug\":\"hotel-ejemplo-1234\"}}"
      ]
    },
    {
      "id": "listar_destinos",
      "name": "Listar destinos",
      "description": "Explora el árbol de destinos: sin argumentos devuelve los países con inventario y los totales del catálogo; con `padre` devuelve los hijos de ese destino (país → regiones, región → ciudades). Con `texto` busca destinos y alojamientos por nombre (autocomplete). Es el punto de partida para conseguir un slug válido para buscar_alojamientos.",
      "tags": [
        "alojamiento",
        "viajes",
        "catálogo",
        "sólo-lectura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "examples": [
        "{\"skill\":\"listar_destinos\",\"arguments\":{\"padre\":\"ar\"}}"
      ]
    },
    {
      "id": "link_reserva",
      "name": "Obtener el link al motor de reservas",
      "description": "Arma la URL de salida al motor de reservas oficial de un alojamiento, con fechas y huéspedes ya cargados. Devuelve dos URLs: `url` (la del sitio, /ir/<id>, que responde 302 y es la que hay que entregarle al usuario) y `url_motor` (el destino final, informativo). NO sigas el redirect para \"reservar\": esta herramienta no reserva, no bloquea inventario, no cobra y no verifica disponibilidad. La reserva se completa en el sitio del alojamiento, con sus propias condiciones y su propio pago.",
      "tags": [
        "alojamiento",
        "viajes",
        "catálogo",
        "sólo-lectura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "examples": [
        "{\"skill\":\"link_reserva\",\"arguments\":{\"id\":1234,\"entrada\":\"2026-09-24\",\"salida\":\"2026-09-26\",\"adultos\":2}}"
      ]
    }
  ],
  "securitySchemes": {},
  "security": [],
  "signatures": [],
  "additionalDiscovery": {
    "mcp": "https://reservadirecto.com/.well-known/mcp/server-card.json",
    "apiCatalog": "https://reservadirecto.com/.well-known/api-catalog",
    "openapi": "https://reservadirecto.com/openapi.json",
    "llmsTxt": "https://reservadirecto.com/llms.txt",
    "auth": "https://reservadirecto.com/auth.md"
  }
}