Skip to main content
Glama
lumile

LumbreTravel MCP Server

by lumile

delete_include

Remove an extra or included item from travel programs by specifying its ID to manage travel activities and entities.

Instructions

Eliminar un extra o incluído

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesID del include a eliminar

Implementation Reference

  • Handler logic for the 'delete_include' tool: extracts the 'id' from input arguments, calls apiService.deleteInclude(id), and returns the result as JSON text content.
    case 'delete_include': {
      const { id } = args as { id: string }
      const include = await this.apiService.deleteInclude(id)
      return {
        content: [{ type: 'text', text: JSON.stringify(include, null, 2) }]
      }
    }
  • Tool schema definition including name, description, and input schema requiring a string 'id' for the delete_include tool.
    {
      name: 'delete_include',
      description: 'Eliminar un extra o incluído',
      inputSchema: {
        type: 'object',
        properties: { id: { type: 'string', description: 'ID del include a eliminar' } },
        required: ['id']
      }
  • The delete_include tool is registered in the listTools() method's tools array.
    tools: [
      {
        name: 'get_program',
        description: 'Obtiene un programa de viajes por ID',
        inputSchema: {
          type: 'object',
          properties: {
            id: {
              type: 'string',
              description: 'ID del programa'
            }
          },
          required: ['id']
        }
      },
      {
        name: 'get_programs_by_name',
        description: 'Busca programas de viajes por nombre',
        inputSchema: {
          type: 'object',
          properties: {
            name: {
              type: 'string',
              description: 'Nombre del programa'
            }
          },
          required: ['name']
        }
      },
      {
        name: 'get_programs_by_date_range',
        description: 'Obtiene programas de viajes por rango de fechas',
        inputSchema: {
          type: 'object',
          properties: {
            startDate: {
              type: 'string',
              description: 'Fecha de inicio del programa (DD-MM-YYYY)'
            },
            endDate: {
              type: 'string',
              description: 'Fecha de fin del programa (DD-MM-YYYY)'
            }
          }
        }
      },
      {
        name: 'daily_activities',
        description: 'Obtiene las actividades diarias',
        inputSchema: {
          type: 'object',
          properties: {
            date: {
              type: 'string',
              description: 'Fecha en la que buscar las actividades (DD-MM-YYYY)'
            },
            hotelIdToFilter: {
              type: 'string',
              description: 'ID del hotel a filtrar las actividades, si no se especifica se obtienen todas las actividades'
            },
            leaderIdToFilter: {
              type: 'string',
              description: 'ID del guía a filtrar las actividades, si no se especifica se obtienen todas las actividades'
            },
            serviceIdToFilter: {
              type: 'string',
              description: 'ID del servicio a filtrar las actividades, si no se especifica se obtienen todas las actividades'
            },
            vehicleIdToFilter: {
              type: 'string',
              description: 'ID del vehículo a filtrar las actividades, si no se especifica se obtienen todas las actividades'
            }
          },
          required: ['date']
        }
      },
      {
        name: 'season_summary',
        description: 'Obtiene un resumen de pasajeros a lo largo de una temporada.  Esta tool es muy útil para obtener el total de pasajeros de una temporada y ver como se distribuye por agencias.',
        inputSchema: {
          type: 'object',
          properties: {
            startYear: { type: 'string', description: 'Año de inicio de la temporada (YYYY)' },
            endYear: { type: 'string', description: 'Año de fin de la temporada (YYYY)' }
          },
          required: ['startYear', 'endYear']
        }
      },
      {
        name: 'create_program',
        description: 'Crea un nuevo programa de viajes.  Antes de crear un nuevo programa se debe preguntar al si quiere que primero se busque el programa a ver si existe. Si no se especifica la fecha de inicio o fin del programa, no la asumas, pide al usuario que la especifique. Si no se especifica el ID de la agencia, pide al usuario que la especifique.',
        inputSchema: {
          type: 'object',
          properties: {
            name: {
              type: 'string',
              description: 'Nombre del programa'
            },
            startDate: {
              type: 'string',
              description: 'Fecha de inicio del programa (DD-MM-YYYY), salvo que el usuario lo indique las fechas siempre deben ser en el futuro'
            },
            endDate: {
              type: 'string',
              description: 'Fecha de fin del programa (DD-MM-YYYY), salvo que el usuario lo indique las fechas siempre deben ser en el futuro.  Y la fecha de fin debe ser mayor que la fecha de inicio'
            },
            agencyId: {
              type: 'string',
              description: 'ID de la agencia a asociar con este programa'
            }
          },
          required: ['name', 'startDate', 'endDate', 'agencyId']
        }
      },
      {
        name: 'update_program',
        description: 'Actualiza un programa de viajes en LumbreTravel',
        inputSchema: {
          type: 'object',
          properties: {
            id: {
              type: 'string',
              description: 'ID del programa'
            },
            name: {
              type: 'string',
              description: 'Nombre del programa'
            },
            startDate: {
              type: 'string',
              description: 'Fecha de inicio del programa (DD-MM-YYYY), salvo que el usuario lo indique las fechas siempre deben ser en el futuro'
            },
            endDate: {
              type: 'string',
              description: 'Fecha de fin del programa (DD-MM-YYYY), salvo que el usuario lo indique las fechas siempre deben ser en el futuro.  Y la fecha de fin debe ser mayor que la fecha de inicio'
            },
            agencyId: {
              type: 'string',
              description: 'ID de la agencia a asociar con este programa'
            }
          },
          required: ['id', 'name', 'startDate', 'endDate', 'agencyId']
        }
      },
      {
        name: 'delete_program',
        description: 'Elimina un programa de viajes',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string' }
          },
          required: ['id']
        }
      },
      {
        name: 'reactivate_program',
        description: 'Reactiva un programa de viajes',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string' }
          },
          required: ['id']
        }
      },
      {
        name: 'list_agencies',
        description: 'Obtiene todas las agencias disponibles para asociar a un programa de viajes',
        inputSchema: {
          type: 'object',
          properties: {}
        }
      },
      {
        name: 'list_services',
        description: 'Obtiene todos los servicios disponibles para asociar a una actividad en un programa de viajes',
        inputSchema: {
          type: 'object',
          properties: {}
        }
      },
      {
        name: 'list_hotels',
        description: 'Obtiene todos los hoteles disponibles para asociar a una actividad en un programa de viajes',
        inputSchema: {
          type: 'object',
          properties: {}
        }
      },
      {
        name: 'list_leaders',
        description: 'Obtiene todos los guías disponibles para asociar a una actividad en un programa de viajes',
        inputSchema: {
          type: 'object',
          properties: {}
        }
      },
      {
        name: 'list_vehicles',
        description: 'Obtiene todos los vehículos disponibles para asociar a una actividad en un programa de viajes',
        inputSchema: {
          type: 'object',
          properties: {}
        }
      },
      {
        name: 'list_includes',
        description: 'Obtiene todos los incluye o extras disponibles para asociar a una actividad en un programa de viajes',
        inputSchema: {
          type: 'object',
          properties: {}
        }
      },
      {
        name: 'list_service_languages',
        description: 'Obtiene todos los idiomas para asociar a una actividad en un programa de viajes.  Estos idiomas solo se pueden usar para asociar a un servicio.',
        inputSchema: {
          type: 'object',
          properties: {}
        }
      },
      {
        name: 'list_providers',
        description: 'Obtiene todos los proveedores disponibles',
        inputSchema: {
          type: 'object',
          properties: {}
        }
      },
      {
        name: 'get_passengers_by_fullname',
        description: 'Obtiene pasajeros por nombre completo',
        inputSchema: {
          type: 'object',
          properties: {
            fullname: { type: 'string', description: 'Nombre completo del pasajero' }
          },
          required: ['fullname']
        }
      },
      {
        name: 'get_passengers_by_email',
        description: 'Obtiene pasajeros por email',
        inputSchema: {
          type: 'object',
          properties: {
            email: { type: 'string', description: 'Email del pasajero' }
          },
          required: ['email']
        }
      },
      // {
      //   name: "create_bulk_passengers",
      //   description: "Crea pasajeros en LumbreTravel desde datos estructurados, esta tool esta pensada para usarla cuando se extraen los datos de un archivo",
      //   inputSchema: {
      //     type: "object",
      //     properties: {
      //       programId: {
      //         type: "string",
      //         description: "ID del programa"
      //       },
      //       passengers: {
      //         type: "array",
      //         items: {
      //           type: "object",
      //           properties: {
      //             firstname: { type: "string" },
      //             lastname: { type: "string" },
      //             birthdate: { type: "string" },
      //             documenttype: { type: "string" },
      //             passport: { type: "string" },
      //             gender: { type: "string" },
      //             nationality: { type: "string" }
      //           }
      //         }
      //       }
      //     },
      //     required: ["passengers"]
      //   }
      // },
      {
        name: 'create_passengers',
        description: 'Crea pasajeros, usa esta tool cuando el asistente recibe los datos de los pasajeros como parte del pedido del usuario',
        inputSchema: {
          type: 'object',
          properties: {
            passengers: {
              type: 'array',
              items: {
                type: 'object',
                properties: {
                  firstname: { type: 'string' },
                  lastname: { type: 'string' },
                  birthdate: { type: 'string', description: "Fecha de nacimiento del pasajero (DD-MM-YYYY), si no se especifica usa el valor 'No conocemos'" },
                  documenttype: { type: 'string', description: 'Tipo de documento, opciones válidas son DNI, Pasaporte, Licencia de Conducir o ID.  Si no se especifica el valor por defecto es ID.' },
                  document: { type: 'string', description: "Numero de documento, si no se especifica usa el valor 'No conocemos'" },
                  gender: { type: 'string', description: 'Género del pasajero, puede ser male, female,non_binary, prefer_not_to_say, other.  Si no se especifica deducilo del nombre y apellido' },
                  nationality: {
                    type: 'string',
                    description: 'Nacionalidad del pasajero de acuerdo a ISO 3166-1.  Si no se especifica deducilo del nombre y apellido'
                  },
                  language: {
                    type: 'string',
                    description: "Idioma del pasajero de acuerdo a ISO 639-1.  Si no se especifica deducilo del nombre y apellido.  No intentes usar las tools 'list_service_languages' ni 'get_service_language_by_name' para obtener el idioma del pasajero.  El idioma del pasajero es simplemente un string en formato ISO 639-1."
                  },
                  email: { type: 'string', description: "Email del pasajero, si no se especifica usa el valor 'No conocemos'" },
                  phone: { type: 'string', description: "Telefono del pasajero, si no se especifica usa el valor 'No conocemos'" }
                },
                required: ['firstname', 'lastname', 'birthdate', 'documenttype', 'document', 'gender', 'nationality', 'language', 'email', 'phone']
              }
            }
          },
          required: ['passengers']
        }
      },
      {
        name: 'update_passengers',
        description: 'Edita pasajeros teniendo en cuenta que se conoce el ID del pasajero.',
        inputSchema: {
          type: 'object',
          properties: {
            passengers: {
              type: 'array',
              items: {
                type: 'object',
                properties: {
                  passengerId: { type: 'string' },
                  firstname: { type: 'string' },
                  lastname: { type: 'string' },
                  birthdate: { type: 'string', description: "Fecha de nacimiento del pasajero (DD-MM-YYYY), si no se especifica usa el valor 'No conocemos'" },
                  documenttype: { type: 'string', description: 'Tipo de documento, opciones válidas son DNI, Pasaporte, Licencia de Conducir o ID' },
                  document: { type: 'string', description: "Numero de documento, si no se especifica usa el valor 'No conocemos'" },
                  gender: { type: 'string', description: 'Género del pasajero, puede ser male, female,non_binary, prefer_not_to_say, other.  Si no se especifica deducilo del nombre y apellido' },
                  nationality: {
                    type: 'string',
                    description: 'Nacionalidad del pasajero de acuerdo a ISO 3166-1.  Si no se especifica deducilo del nombre y apellido'
                  },
                  language: {
                    type: 'string',
                    description: "Idioma del pasajero de acuerdo a ISO 639-1.  Si no se especifica deducilo del nombre y apellido.  No intentes usar las tools 'list_service_languages' ni 'get_service_language_by_name' para obtener el idioma del pasajero.  El idioma del pasajero es simplemente un string en formato ISO 639-1."
                  },
                  email: { type: 'string', description: "Email del pasajero, si no se especifica usa el valor 'No conocemos'" },
                  phone: { type: 'string', description: "Telefono del pasajero, si no se especifica usa el valor 'No conocemos'" }
                },
                required: ['passengerId', 'firstname', 'lastname', 'birthdate', 'documenttype', 'document', 'gender', 'nationality', 'language', 'email', 'phone']
              }
            }
          },
          required: ['passengers']
        }
      },
      {
        name: 'delete_passengers',
        description: 'Elimina pasajeros teniendo en cuenta que se conoce el ID del pasajero',
        inputSchema: {
          type: 'object',
          properties: {
            passengers: {
              type: 'array',
              items: {
                type: 'object',
                properties: {
                  id: {
                    type: 'string',
                    description: 'ID del pasajero a eliminar'
                  }
                },
                required: ['id']
              }
            }
          },
          required: ['passengers']
        }
      },
      {
        name: 'delete_passenger',
        description: 'Elimina un pasajero teniendo en cuenta que se conoce su ID',
        inputSchema: {
          type: 'object',
          properties: {
            passengerId: { type: 'string' }
          },
          required: ['passengerId']
        }
      },
      {
        name: 'reactivate_passenger',
        description: 'Reactiva un pasajero teniendo en cuenta que se conoce su ID',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string' }
          },
          required: ['id']
        }
      },
      {
        name: 'add_passengers_to_program',
        description: 'Agrega pasajeros a un programa.',
        inputSchema: {
          type: 'object',
          properties: {
            programId: { type: 'string', description: 'ID del programa' },
            passengers: {
              type: 'array',
              description: 'Lista de pasajeros',
              items: {
                type: 'object',
                properties: {
                  id: { type: 'string' },
                  name: { type: 'string' }
                },
                required: ['id', 'name']
              }
            }
          },
          required: ['programId', 'passengers']
        }
      },
      {
        name: 'add_activities',
        description: 'Crea actividades asociadas a un programa.  Es importante que los servicios, hoteles, guías, vehículos y extras ya existan',
        inputSchema: {
          type: 'object',
          properties: {
            programId: {
              type: 'string',
              description: 'ID del programa'
            },
            activities: {
              type: 'array',
              description: 'Lista de actividades a agregar',
              items: {
                type: 'object',
                properties: {
                  primaryPassenger: {
                    type: 'string',
                    description: 'ID del pasajero principal, si no se especifica se asume que el primer pasajero es el principal.  Siempre se debe especificar el pasajero principal.'
                  },
                  passengers: {
                    type: 'array',
                    description: 'Lista de pasajeros a asociar a la actividad, es importante que los pasajeros ya existan',
                    items: {
                      type: 'object',
                      properties: {
                        id: { type: 'string' },
                        name: { type: 'string' }
                      },
                      required: ['id', 'name']
                    }
                  },
                  date: {
                    type: 'string',
                    description: 'Fecha de la actividad (DD-MM-YYYY), debe ser una fecha entre la fecha de inicio y fin del programa'
                  },
                  hour: {
                    type: 'string',
                    description: 'Hora de la actividad (HH:mm)'
                  },
                  service: {
                    type: 'object',
                    description: 'Servicio a asociar a la actividad, es importante que el servicio ya exista',
                    properties: {
                      id: { type: 'string' },
                      name: { type: 'string' }
                    },
                    required: ['id', 'name']
                  },
                  hotel: {
                    type: 'object',
                    description: 'Hotel a asociar a la actividad, es importante que el hotel ya exista',
                    properties: {
                      id: { type: 'string' },
                      name: { type: 'string' }
                    },
                    required: ['id', 'name']
                  },
                  leader: {
                    type: 'object',
                    description: 'Guía a asociar a la actividad, es importante que el guía ya exista',
                    properties: {
                      id: { type: 'string' },
                      name: { type: 'string' }
                    },
                    required: ['id', 'name']
                  },
                  vehicle: {
                    type: 'object',
                    description: 'Vehículo a asociar a la actividad, es importante que el vehículo ya exista',
                    properties: {
                      id: { type: 'string' },
                      name: { type: 'string' }
                    },
                    required: ['id', 'name']
                  },
                  includes: {
                    type: 'array',
                    description: 'Lista de extras o incluídos a asociar a la actividad, es importante que los extras ya existan',
                    items: {
                      type: 'object',
                      properties: {
                        id: { type: 'string' },
                        name: { type: 'string' }
                      }
                    }
                  },
                  servicelanguage: {
                    type: 'object',
                    description: 'Idioma en el que se va a prestar el servicio, si no se especifica se mantiene el idioma actual. Es importante que el idioma ya exista',
                    properties: {
                      id: { type: 'string' },
                      name: { type: 'string' }
                    },
                    required: ['id', 'name']
                  },
                  code: {
                    type: 'string',
                    description: 'Código de la actividad'
                  },
                  itinerary: {
                    type: 'string',
                    description: 'Itinerario de la actividad'
                  },
                  news: {
                    type: 'string',
                    description: 'Noticias de la actividad'
                  }
                },
                required: ['date', 'hour', 'primaryPassenger']
              }
            }
          },
          required: ['programId', 'activities']
        }
      },
      {
        name: 'update_activities',
        description: 'Actualizar múltiples actividades asociadas a un programa',
        inputSchema: {
          type: 'object',
          properties: {
            programId: {
              type: 'string',
              description: 'ID del programa'
            },
            activities: {
              type: 'array',
              description: 'Lista de actividades a actualizar',
              items: {
                type: 'object',
                properties: {
                  activityId: {
                    type: 'string',
                    description: 'ID de la actividad a actualizar, es importante que la actividad ya exista'
                  },
                  primaryPassenger: {
                    type: 'string',
                    description: 'ID del pasajero principal, si no se especifica se mantiene el pasajero principal actual.  Siempre se debe especificar el pasajero principal.'
                  },
                  passengers: {
                    type: 'array',
                    description: 'Lista de pasajeros a asociar a la actividad, es importante que los pasajeros ya existan',
                    items: {
                      type: 'object',
                      properties: {
                        id: { type: 'string' },
                        name: { type: 'string' }
                      },
                      required: ['id', 'name']
                    }
                  },
                  date: {
                    type: 'string',
                    description: 'Fecha de la actividad (DD-MM-YYYY), debe ser una fecha entre la fecha de inicio y fin del programa'
                  },
                  hour: {
                    type: 'string',
                    description: 'Hora de la actividad (HH:mm)'
                  },
                  service: {
                    type: 'object',
                    description: 'Servicio a asociar a la actividad, es importante que ya exista',
                    properties: {
                      id: { type: 'string' },
                      name: { type: 'string' }
                    },
                    required: ['id', 'name']
                  },
                  hotel: {
                    type: 'object',
                    description: 'Hotel a asociar a la actividad, es importante que ya exista',
                    properties: {
                      id: { type: 'string' },
                      name: { type: 'string' }
                    },
                    required: ['id', 'name']
                  },
                  leader: {
                    type: 'object',
                    description: 'Guía a asociar a la actividad, es importante que ya exista',
                    properties: {
                      id: { type: 'string' },
                      name: { type: 'string' }
                    },
                    required: ['id', 'name']
                  },
                  vehicle: {
                    type: 'object',
                    description: 'Vehículo a asociar a la actividad, es importante que ya exista',
                    properties: {
                      id: { type: 'string' },
                      name: { type: 'string' }
                    },
                    required: ['id', 'name']
                  },
                  includes: {
                    type: 'array',
                    description: 'Lista de extras o incluídos a asociar a la actividad, es importante que ya existan',
                    items: {
                      type: 'object',
                      properties: {
                        id: { type: 'string' },
                        name: { type: 'string' }
                      }
                    }
                  },
                  servicelanguage: {
                    type: 'object',
                    description: 'Idioma en el que se va a prestar el servicio, si no se especifica se mantiene el idioma actual. Es importante que ya exista',
                    properties: {
                      id: { type: 'string' },
                      name: { type: 'string' }
                    },
                    required: ['id', 'name']
                  },
                  code: {
                    type: 'string',
                    description: 'Código de la actividad'
                  },
                  itinerary: {
                    type: 'string',
                    description: 'Itinerario de la actividad'
                  },
                  news: {
                    type: 'string',
                    description: 'Noticias de la actividad'
                  }
                },
                required: ['date', 'hour', 'primaryPassenger']
              }
            }
          },
          required: ['programId', 'activities']
        }
      },
      {
        name: 'delete_activities',
        description: 'Eliminar múltiples actividades asociadas a un programa',
        inputSchema: {
          type: 'object',
          properties: {
            programId: { type: 'string', description: 'ID del programa' },
            activities: {
              type: 'array',
              description: 'Lista de actividades a eliminar.  Es importante avisarle al usuario que esta acción es irreversible y que se debe tener cuidado al eliminar actividades.',
              items: {
                type: 'object',
                properties: {
                  activityId: { type: 'string', description: 'ID de la actividad a eliminar' }
                },
                required: ['activityId']
              }
            }
          },
          required: ['programId', 'activities']
        }
      },
      {
        name: 'create_agency',
        description: 'Crear una agencia.  Antes de crear una nueva agencia se debe preguntar al si quiere que primero se busque la agencia a ver si existe',
        inputSchema: {
          type: 'object',
          properties: {
            name: { type: 'string', description: 'Nombre de la agencia' },
            description: { type: 'string', description: 'Descripción de la agencia' },
            provider: {
              type: 'object',
              properties: {
                id: { type: 'string', description: 'ID del proveedor de la agencia.' },
                name: { type: 'string', description: 'Nombre del proveedor de la agencia' }
              }
            }
          },
          required: ['name', 'description', 'provider']
        }
      },
      {
        name: 'update_agency',
        description: 'Actualizar una agencia',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string', description: 'ID de la agencia a actualizar' },
            name: { type: 'string', description: 'Nombre de la agencia' },
            description: { type: 'string', description: 'Descripción de la agencia' },
            provider: {
              type: 'object',
              properties: {
                id: { type: 'string', description: 'ID del proveedor de la agencia' },
                name: { type: 'string', description: 'Nombre del proveedor de la agencia' }
              }
            }
          },
          required: ['id', 'name', 'description', 'provider']
        }
      },
      {
        name: 'delete_agency',
        description: 'Eliminar una agencia.  La agencia eliminada no se puede usar para asociarle programas',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string', description: 'ID de la agencia a eliminar' }
          },
          required: ['id']
        }
      },
      {
        name: 'reactivate_agency',
        description: 'Reactivar una agencia',
        inputSchema: {
          type: 'object',
          properties: { id: { type: 'string', description: 'ID de la agencia a reactivar' } },
          required: ['id']
        }
      },
      {
        name: 'get_agency_by_name',
        description: 'Obtener una agencia por nombre, retorna la agencia encontrada.',
        inputSchema: {
          type: 'object',
          properties: { name: { type: 'string', description: 'Nombre de la agencia' } },
          required: ['name']
        }
      },
      {
        name: 'create_hotel',
        description: 'Antes de crear un nuevo hotel se debe preguntar al si quiere que primero se busque el hotel a ver si existe.',
        inputSchema: {
          type: 'object',
          properties: {
            name: { type: 'string', description: 'Nombre del hotel' },
            description: { type: 'string', description: 'Descripción del hotel' },
            phone: { type: 'string', description: 'Teléfono del hotel' },
            email: { type: 'string', description: 'Email del hotel' },
            address: { type: 'string', description: 'Dirección del hotel' }
          },
          required: ['name', 'description', 'phone', 'email', 'address']
        }
      },
      {
        name: 'update_hotel',
        description: 'Actualizar un hotel',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string', description: 'ID del hotel a actualizar' },
            name: { type: 'string', description: 'Nombre del hotel' },
            description: { type: 'string', description: 'Descripción del hotel' },
            phone: { type: 'string', description: 'Teléfono del hotel' },
            email: { type: 'string', description: 'Email del hotel' },
            address: { type: 'string', description: 'Dirección del hotel' }
          },
          required: ['id', 'name', 'description', 'phone', 'email', 'address']
        }
      },
      {
        name: 'delete_hotel',
        description: 'Eliminar un hotel',
        inputSchema: {
          type: 'object',
          properties: { id: { type: 'string', description: 'ID del hotel a eliminar' } },
          required: ['id']
        }
      },
      {
        name: 'reactivate_hotel',
        description: 'Reactivar un hotel',
        inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'ID del hotel a reactivar' } }, required: ['id'] }
      },
      {
        name: 'get_hotel_by_name',
        description: 'Buscar hoteles por su nombre, retorna la lista de hoteles encontrados.',
        inputSchema: {
          type: 'object',
          properties: { name: { type: 'string', description: 'Nombre del hotel' } },
          required: ['name']
        }
      },
      {
        name: 'create_leader',
        description: 'Crear un guía.',
        inputSchema: {
          type: 'object',
          properties: {
            name: { type: 'string', description: 'Nombre del guía' },
            description: { type: 'string', description: 'Descripción del guía' },
            phone: { type: 'string', description: 'Teléfono del guía' },
            language: {
              type: 'string',
              description: "Idioma del guía de acuerdo a ISO 639-1.  No intentes usar 'list_service_languages' ni 'get_service_language_by_name' para obtener el idioma del guía."
            },
            email: { type: 'string', description: 'Email del guía' }
          },
          required: ['name']
        }
      },
      {
        name: 'update_leader',
        description: 'Actualizar un guía',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string', description: 'ID del guía a actualizar' },
            name: { type: 'string', description: 'Nombre del guía' },
            description: { type: 'string', description: 'Descripción del guía' },
            phone: { type: 'string', description: 'Teléfono del guía' },
            language: {
              type: 'string',
              description: "Idioma del guía de acuerdo a ISO 639-1.  NO intentes usar 'list_service_languages' ni 'get_service_language_by_name' para obtener el idioma del guía."
            },
            email: { type: 'string', description: 'Email del guía' }
          },
          required: ['id', 'name', 'description', 'phone', 'email', 'language']
        }
      },
      {
        name: 'delete_leader',
        description: 'Eliminar un guía',
        inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'ID del guía a eliminar' } }, required: ['id'] }
      },
      {
        name: 'reactivate_leader',
        description: 'Reactivar un guía',
        inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'ID del guía a reactivar' } }, required: ['id'] }
      },
      {
        name: 'get_leader_by_name',
        description: 'Buscar guías por su nombre.',
        inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Nombre del guía' } }, required: ['name'] }
      },
      {
        name: 'create_vehicle',
        description: 'Crear un vehículo.',
        inputSchema: {
          type: 'object',
          properties: {
            name: { type: 'string', description: 'Nombre del vehículo' },
            description: { type: 'string', description: 'Descripción del vehículo' },
            brand: { type: 'string', description: 'Marca del vehículo' },
            model: { type: 'string', description: 'Modelo del vehículo' },
            capacity: { type: 'number', description: 'Capacidad del vehículo' },
            provider: {
              type: 'object',
              properties: {
                id: { type: 'string', description: 'ID del proveedor del vehículo.' },
                name: { type: 'string', description: 'Nombre del proveedor del vehículo' }
              }
            }
          },
          required: ['name', 'description', 'provider']
        }
      },
      {
        name: 'update_vehicle',
        description: 'Actualizar un vehículo.',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string', description: 'ID del vehículo a actualizar' },
            name: { type: 'string', description: 'Nombre del vehículo' },
            description: { type: 'string', description: 'Descripción del vehículo' },
            brand: { type: 'string', description: 'Marca del vehículo' },
            model: { type: 'string', description: 'Modelo del vehículo' },
            capacity: { type: 'number', description: 'Capacidad del vehículo' },
            provider: {
              type: 'object',
              properties: {
                id: { type: 'string', description: 'ID del proveedor del vehículo' },
                name: { type: 'string', description: 'Nombre del proveedor del vehículo' }
              }
            }
          },
          required: ['id', 'name', 'description', 'brand', 'model', 'capacity', 'provider']
        }
      },
      {
        name: 'delete_vehicle',
        description: 'Eliminar un vehículo.',
        inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'ID del vehículo a eliminar' } }, required: ['id'] }
      },
      {
        name: 'reactivate_vehicle',
        description: 'Reactivar un vehículo.',
        inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'ID del vehículo a reactivar' } }, required: ['id'] }
      },
      {
        name: 'get_vehicle_by_name',
        description: 'Buscar vehículos por su nombre, retorna la lista de vehículos encontrados.',
        inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Nombre del vehículo' } }, required: ['name'] }
      },
      {
        name: 'create_include',
        description: 'Crear un extra o incluído.',
        inputSchema: {
          type: 'object',
          properties: {
            name: { type: 'string', description: 'Nombre' },
            description: { type: 'string', description: 'Descripción' }
          },
          required: ['name', 'description']
        }
      },
      {
        name: 'update_include',
        description: 'Actualizar un extra o incluído.',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string', description: 'ID a actualizar' },
            name: { type: 'string', description: 'Nombre' },
            description: { type: 'string', description: 'Descripción' }
          },
          required: ['id', 'name', 'description']
        }
      },
      {
        name: 'delete_include',
        description: 'Eliminar un extra o incluído',
        inputSchema: {
          type: 'object',
          properties: { id: { type: 'string', description: 'ID del include a eliminar' } },
          required: ['id']
        }
      },
      {
        name: 'reactivate_include',
        description: 'Reactivar un extra o incluído',
        inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'ID del include a reactivar' } }, required: ['id'] }
      },
      {
        name: 'get_includes_by_name',
        description: 'Buscar extras o incluídos por su nombre',
        inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Nombre del include' } }, required: ['name'] }
      },
      {
        name: 'create_service_language',
        description: 'Crear un idioma de servicio.',
        inputSchema: {
          type: 'object',
          properties: {
            name: { type: 'string', description: 'Nombre del idioma de servicio' }
          },
          required: ['name']
        }
      },
      {
        name: 'update_service_language',
        description: 'Actualizar un idioma de servicio.',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string', description: 'ID del idioma de servicio a actualizar' },
            name: { type: 'string', description: 'Nombre del idioma de servicio' }
          },
          required: ['id', 'name']
        }
      },
      {
        name: 'delete_service_language',
        description: 'Eliminar un idioma de servicio.',
        inputSchema: {
          type: 'object',
          properties: { id: { type: 'string', description: 'ID del idioma de servicio a eliminar' } },
          required: ['id']
        }
      },
      {
        name: 'reactivate_service_language',
        description: 'Reactivar un idioma de servicio.',
        inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'ID del idioma de servicio a reactivar' } }, required: ['id'] }
      },
      {
        name: 'get_service_language_by_name',
        description: 'Buscar idiomas de servicio por su nombre.',
        inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Nombre del idioma de servicio' } }, required: ['name'] }
      },
      {
        name: 'create_provider',
        description: 'Crear un proveedor.',
        inputSchema: {
          type: 'object',
          properties: {
            name: { type: 'string', description: 'Nombre del proveedor' },
            description: { type: 'string', description: 'Descripción del proveedor' },
            email: { type: 'string', description: 'Email del proveedor, si no tiene email se puede dejar en blanco' },
            phone: { type: 'string', description: 'Teléfono del proveedor, si no tiene teléfono se puede dejar en blanco' }
          },
          required: ['name', 'description']
        }
      },
      {
        name: 'update_provider',
        description: 'Actualizar un proveedor.',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string', description: 'ID del proveedor a actualizar' },
            name: { type: 'string', description: 'Nombre del proveedor' },
            description: { type: 'string', description: 'Descripción del proveedor' },
            email: { type: 'string', description: 'Email del proveedor, si no tiene email se puede dejar en blanco' },
            phone: { type: 'string', description: 'Teléfono del proveedor, si no tiene teléfono se puede dejar en blanco' }
          },
          required: ['id', 'name', 'description']
        }
      },
      {
        name: 'delete_provider',
        description: 'Eliminar un proveedor.',
        inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'ID del proveedor a eliminar' } }, required: ['id'] }
      },
      {
        name: 'reactivate_provider',
        description: 'Reactivar un proveedor.',
        inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'ID del proveedor a reactivar' } }, required: ['id'] }
      },
      {
        name: 'get_provider_by_name',
        description: 'Buscar proveedores por su nombre',
        inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Nombre del proveedor' } }, required: ['name'] }
      },
      {
        name: 'create_service',
        description: 'Crear un servicio',
        inputSchema: {
          type: 'object',
          properties: {
            name: { type: 'string', description: 'Nombre del servicio' },
            description: { type: 'string', description: 'Descripción del servicio' },
            provider: {
              type: 'object',
              properties: {
                id: { type: 'string', description: 'ID del proveedor' },
                name: { type: 'string', description: 'Nombre del proveedor' }
              }
            }
          },
          required: ['name', 'description', 'provider']
        }
      },
      {
        name: 'update_service',
        description: 'Actualizar un servicio',
        inputSchema: {
          type: 'object',
          properties: {
            id: { type: 'string', description: 'ID del servicio a actualizar' },
            name: { type: 'string', description: 'Nombre del servicio' },
            description: { type: 'string', description: 'Descripción del servicio' },
            provider: {
              type: 'object',
              properties: {
                id: { type: 'string', description: 'ID del proveedor' },
                name: { type: 'string', description: 'Nombre del proveedor' }
              }
            }
          },
          required: ['id', 'name', 'description', 'provider']
        }
      },
      {
        name: 'delete_service',
        description: 'Eliminar un servicio',
        inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'ID del servicio a eliminar' } }, required: ['id'] }
      },
      {
        name: 'reactivate_service',
        description: 'Reactivar un servicio',
        inputSchema: { type: 'object', properties: { id: { type: 'string', description: 'ID del servicio a reactivar' } }, required: ['id'] }
      },
      {
        name: 'get_services_by_name',
        description: 'Buscar servicios por su nombre, retorna la lista de servicios encontrados.',
        inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Nombre del servicio' } }, required: ['name'] }
      }
    ]
  • Helper method in ApiService that performs the actual API DELETE request to delete an include by ID.
    async deleteInclude (id: string) {
      const headers = await this.getHeaders()
      const response = await fetch(`${API_CONFIG.baseUrl}/integrations/mcp/include/delete/${id}`, {
        method: 'DELETE',
        headers
      })
      return await this.handleResponse<any>(response)
    }
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool deletes an include, implying a destructive mutation, but doesn't specify whether this action is permanent, reversible, requires specific permissions, or has side effects (e.g., affecting related data). For a deletion tool with zero annotation coverage, this lack of behavioral details is a significant gap, leaving critical operational risks unaddressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Spanish ('Eliminar un extra o incluído'), which is appropriately sized for a simple deletion tool. It's front-loaded with the core action and resource, with zero wasted words or redundant phrasing, making it highly concise and well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity as a deletion operation with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., permanence, permissions), usage context compared to siblings, and expected outcomes. For a destructive tool in a system with multiple related operations (e.g., reactivate_include), this minimal description fails to provide sufficient context for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'id' clearly documented as 'ID del include a eliminar'. The description doesn't add any parameter-specific information beyond this, but with high schema coverage and only one parameter, the baseline is strong. The description's mention of 'extra o incluído' loosely aligns with the parameter context, but no additional semantic value is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Eliminar un extra o incluído' (Delete an extra or included) states the action (eliminar/delete) and resource (extra o incluído), which clarifies the tool's purpose. However, it's somewhat vague about what exactly an 'extra o incluído' refers to, and while it distinguishes from siblings like 'delete_activities' or 'delete_hotel' by resource type, it doesn't explicitly differentiate from similar tools like 'delete_include' vs 'reactivate_include' in terms of action specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing include), exclusions (e.g., not for deactivating), or comparisons to siblings like 'reactivate_include' or 'list_includes'. Without such context, users must infer usage from the tool name alone, which is insufficient for clear decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lumile/lumbretravel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server