Skip to main content
Glama
lumile

LumbreTravel MCP Server

by lumile

delete_activities

Remove multiple activities from a travel program using their IDs. This action is irreversible, so verify selections carefully before proceeding.

Instructions

Eliminar múltiples actividades asociadas a un programa

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
programIdYesID del programa
activitiesYesLista de actividades a eliminar. Es importante avisarle al usuario que esta acción es irreversible y que se debe tener cuidado al eliminar actividades.

Implementation Reference

  • The core handler logic for the 'delete_activities' tool within the callTool switch statement. It extracts arguments, calls the ApiService helper, and formats the response.
    case 'delete_activities': {
      const { programId, activities } = args
      const deletedActivities = await this.apiService.deleteActivities({ programId, activities })
      return {
        content: [{ type: 'text', text: JSON.stringify(deletedActivities, null, 2) }]
      }
    }
  • Input schema definition for the 'delete_activities' tool, including parameters for programId and array of activityIds.
    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']
    }
  • The listTools method registers all MCP tools, including 'delete_activities', by returning the tools array with its definition.
    listTools () {
      return {
        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'] }
          }
        ]
      }
    }
  • Supporting ApiService method that makes the HTTP request to the backend API to delete the specified activities.
    async deleteActivities (data: {
      programId: string
      activities: Array<{
        activityId: string
      }>
    }) {
      const headers = await this.getHeaders()
      const response = await fetch(`${API_CONFIG.baseUrl}/integrations/mcp/programs/activity/delete`, {
        method: 'POST',
        headers: { ...headers, 'Content-Type': 'application/json' },
        body: JSON.stringify(data)
      })
      return await this.handleResponse<any>(response)

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