Skip to main content
Glama
lumile

LumbreTravel MCP Server

by lumile

create_leader

Add a travel guide to LumbreTravel by providing name, contact details, language, and description for tour management.

Instructions

Crear un guía.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesNombre del guía
descriptionNoDescripción del guía
phoneNoTeléfono del guía
languageNoIdioma 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.
emailNoEmail del guía

Implementation Reference

  • Executes the 'create_leader' tool by extracting arguments and calling the ApiService.createLeader method to create a new leader via the backend API.
    case 'create_leader': { const { name, description, phone, email, language } = args const leader = await this.apiService.createLeader({ name, description, phone, email, language }) return { content: [{ type: 'text', text: JSON.stringify(leader, null, 2) }] } }
  • Defines the input schema and metadata for the 'create_leader' tool, specifying required and optional parameters for creating a leader.
    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'] } },
  • The listTools method registers all available tools, including 'create_leader', 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'] } } ] } }
  • ApiService method that performs the HTTP POST request to the backend API endpoint to create a new leader.
    async createLeader (data: { name: string description: string phone: string email: string language: string }) { const headers = await this.getHeaders() const response = await fetch(`${API_CONFIG.baseUrl}/integrations/mcp/leader/create`, { method: 'POST', headers: { ...headers, 'Content-Type': 'application/json' }, body: JSON.stringify(data) }) return await this.handleResponse<any>(response) }
  • src/index.ts:38-47 (registration)
    Registers the MCP server request handlers for listing tools (listTools) and calling tools (callTool), enabling the 'create_leader' tool.
    this.server.setRequestHandler( ListToolsRequestSchema, async () => this.toolsHandler.listTools() ) // Configure handlers for tools this.server.setRequestHandler( CallToolRequestSchema, async (request) => await this.toolsHandler.callTool(request.params.name, request.params.arguments, this.server) )

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