Servidor MCP

mcp-server

com.vamosalicante/mcp-server
Mapas y ubicación Viajes y hospitalidad Público y accesible MCP 2025-11-25

Qué hace este MCP

Provides current and catalog information about Alicante transportation, beaches, parking, weather, flights, food, fuel, places, and events.

beach_conditions
Estado de las playas
Bandera vigente y estado de las playas de Alicante (y municipios próximos) con su ficha: servicios, accesibilidad y URL canónica. Acota por nombre de playa o municipio.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'beach': {'type': 'string', 'maxLength': 60, 'description': 'Nombre de la playa, p. ej. «Postiguet».'}, 'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Resultados (máx. 10).'}, 'municipality': {'type': 'string', 'maxLength': 60, 'description': 'Municipio, p. ej. «Alicante».'}}, 'additionalProperties': False}
catch_vehicle_decision
¿Me da tiempo a coger el bus?
Decide si el usuario llega a tiempo a un autobús en una parada de Alicante cruzando el ETA del vehículo (tiempo real de la fuente oficial o, en su defecto, la estimación del motor propio) con el tiempo a pie desde sus coordenadas. Devuelve decision CATCH, TIGHT, MISS o UNKNOWN, el margen en segundos y el siguiente paso alcanzable.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['stop', 'lat', 'lng'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitud actual del usuario.'}, 'lng': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitud actual del usuario.'}, 'line': {'type': 'string', 'maxLength': 6, 'description': 'LÃ\xadnea concreta de bus.'}, 'stop': {'type': 'string', 'maxLength': 60, 'description': 'Código oficial de parada o su nombre. Resuélvelo con find_transit_stop.'}, 'walk_speed_ms': {'type': 'number', 'maximum': 2.5, 'minimum': 0.5, 'description': 'Velocidad de marcha en m/s. Por defecto 1.35.'}, 'buffer_seconds': {'type': 'number', 'maximum': 300, 'minimum': 0, 'description': 'Colchón de seguridad en segundos. Por defecto 30.'}}, 'additionalProperties': False}
discover_capabilities
Qué puede responder VamosAlicante
Devuelve el contrato de datos de VamosAlicante: secciones disponibles, tipos de dato (LIVE, CALCULATED, CATALOG), frescura, fuentes oficiales y la política de acceso para agentes. Llamar primero cuando no se sabe qué herramienta usar.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
favorite_stop
Mi parada favorita
Ficha completa de una parada de autobús concreta de Alicante (nombre, coordenadas, líneas) junto con sus próximas llegadas. Las llegadas se extraen SIEMPRE bajo demanda desde la fuente oficial del Ayuntamiento de Alicante / «Alicante se mueve» mediante /api/public/v1/bus/live-arrivals. Si no hay respuesta LIVE, el único fallback es `estimated_eta` del motor predictivo propio, claramente ESTIMATED; nunca uses llegadas cacheadas antiguas como dato actual.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['stop'], 'properties': {'stop': {'type': 'string', 'pattern': '^\\d{1,6}$', 'description': 'Código oficial de la parada, p. ej. 1010.'}}, 'additionalProperties': False}
find_food
Dónde comer en Alicante
Resuelve una necesidad gastronómica concreta en Alicante: un plato («arroz a banda»), una cocina o un local por nombre. Devuelve locales elegibles con dirección, horario publicado y, cuando existe, el plato y su precio en carta. No devuelve cartas completas.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'dish': {'type': 'string', 'maxLength': 80, 'description': 'Plato o consulta gastronómica en lenguaje natural.'}, 'name': {'type': 'string', 'maxLength': 80, 'description': 'Nombre del local.'}, 'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Resultados (máx. 10).'}, 'cuisine': {'type': 'string', 'maxLength': 40, 'description': 'Tipo de cocina, p. ej. «italiana».'}}, 'additionalProperties': False}
find_place
Localizar un sitio o servicio en Alicante
Busca un sitio o servicio concreto de Alicante por nombre, zona o categoría: hoteles, comercios y zonas comerciales, copas y ocio nocturno, farmacias (incluida guardia), centros de salud, lugares turísticos, paradas de taxi, consignas de equipaje y oficinas de alquiler de coches. Exige acotar la consulta.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['category'], 'properties': {'kind': {'type': 'string', 'maxLength': 40, 'description': 'Subtipo (ocio nocturno o turismo).'}, 'zone': {'type': 'string', 'maxLength': 60, 'description': 'Zona o barrio (hoteles y comercios).'}, 'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Resultados (máx. 10).'}, 'query': {'type': 'string', 'maxLength': 80, 'description': 'Nombre, marca o parte del nombre.'}, 'onDuty': {'type': 'boolean', 'description': 'Solo farmacias de guardia (category=pharmacy).'}, 'sector': {'type': 'string', 'maxLength': 60, 'description': 'Sector comercial (solo category=shopping).'}, 'category': {'enum': ['hotel', 'shopping', 'shopping_zone', 'nightlife', 'pharmacy', 'health_center', 'tourism', 'taxi_stop', 'luggage_storage', 'car_rental'], 'type': 'string', 'description': 'Tipo de sitio o servicio.'}}, 'additionalProperties': False}
find_transit_stop
Localizar una parada o estación
Busca por nombre o línea una parada de autobús urbano o una estación de TRAM de Alicante y devuelve su código, líneas y coordenadas, para después consultar sus próximas salidas con next_departures. Requiere nombre o línea: no devuelve el listado completo.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['network'], 'properties': {'line': {'type': 'string', 'maxLength': 6, 'description': 'LÃ\xadnea que pasa por la parada.'}, 'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Resultados (máx. 10).'}, 'query': {'type': 'string', 'maxLength': 60, 'minLength': 2, 'description': 'Nombre o parte del nombre de la parada.'}, 'network': {'enum': ['bus', 'tram'], 'type': 'string', 'description': 'Red: autobús urbano o TRAM.'}}, 'additionalProperties': False}
flight_status
Vuelos del aeropuerto de Alicante-Elche
Llegadas y salidas del aeropuerto Alicante-Elche (ALC) para una ciudad o fecha concreta, con estado y hora publicada. Acota por ciudad o fecha en lugar de pedir el listado completo del día.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type'], 'properties': {'city': {'type': 'string', 'maxLength': 60, 'description': 'Ciudad de origen o destino.'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Fecha YYYY-MM-DD en Europe/Madrid.'}, 'type': {'enum': ['llegadas', 'salidas', 'todos'], 'type': 'string', 'description': 'Llegadas, salidas o todos los vuelos del dÃ\xada.'}, 'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Resultados (máx. 10).'}}, 'additionalProperties': False}
fuel_prices
Precio del combustible en Alicante
Precios oficiales de carburante en gasolineras de Alicante para un carburante concreto, ordenados de más barato a más caro, con rótulo, dirección y fecha de la publicación oficial.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'fuel': {'type': 'string', 'maxLength': 30, 'description': 'Carburante. Códigos oficiales: gasolina95E5, gasolina98E5, gasoleoA, gasoleoPremium, glp. También se aceptan nombres comunes («gasolina 95», «diésel», «GLP»).'}, 'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Resultados (máx. 10).'}, 'query': {'type': 'string', 'maxLength': 60, 'description': 'Rótulo o zona de la gasolinera.'}}, 'additionalProperties': False}
get_current_state
Estado actual de una entidad de Alicante
Estado ahora mismo de una entidad concreta ya identificada: plazas libres de un parking, próximas llegadas de una parada de bus, próximas salidas de una estación de TRAM o bandera de una playa. Requiere el `entity_id` devuelto por resolve_entity. Con `bus-stop:<código>` las llegadas se extraen bajo demanda desde la fuente oficial del Ayuntamiento de Alicante / «Alicante se mueve». Si el LIVE no responde, usa únicamente `estimated_eta` del motor predictivo propio y aclara que es ESTIMATED; nunca uses llegadas cacheadas antiguas como estado actual.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['entity_id'], 'properties': {'entity_id': {'type': 'string', 'maxLength': 120, 'minLength': 3, 'description': 'Identificador `<tipo>:<id>` devuelto por resolve_entity, p. ej. «parking:mercado».'}}, 'additionalProperties': False}
get_llms_full_txt
Leer /llms-full.txt de VamosAlicante
Devuelve el contenido actual de /llms-full.txt de VamosAlicante como texto plano para agentes de IA.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
get_llms_txt
Leer /llms.txt de VamosAlicante
Devuelve el contenido actual de /llms.txt de VamosAlicante como texto plano. Este recurso contiene instrucciones y recursos destinados a agentes de IA.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
next_departures
Próximas salidas y llegadas de transporte
Próximas llegadas o salidas de un servicio concreto de Alicante: autobús urbano por parada, TRAM por estación, Cercanías/ADIF, autobús interurbano por destino, o la línea C6 del aeropuerto. Requiere identificar el servicio y la parada o el destino. Con mode=bus la consulta extrae SIEMPRE el dato bajo demanda desde la fuente oficial del Ayuntamiento de Alicante / «Alicante se mueve» mediante /api/public/v1/bus/live-arrivals. Si falla el LIVE, el único fallback es `estimated_eta` del motor predictivo propio, claramente ESTIMATED.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['mode'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Fecha YYYY-MM-DD (Europe/Madrid) para tram o coach.'}, 'line': {'type': 'string', 'maxLength': 6, 'description': 'LÃ\xadnea concreta, solo para mode=bus.'}, 'mode': {'enum': ['bus', 'tram', 'train', 'coach', 'airport_bus'], 'type': 'string', 'description': 'Servicio: bus urbano, TRAM, tren, autobús interurbano o C6 del aeropuerto.'}, 'stop': {'type': 'string', 'maxLength': 20, 'description': 'Código de parada de bus (mode=bus) o identificador de estación TRAM (mode=tram).'}, 'type': {'enum': ['departures', 'arrivals', 'all', 'salidas', 'llegadas'], 'type': 'string', 'description': 'Solo para mode=train: departures | arrivals | all (alias: salidas, llegadas).'}, 'destination': {'type': 'string', 'maxLength': 60, 'description': 'Destino, solo para mode=coach.'}}, 'additionalProperties': False}
parking_availability
Plazas libres en parkings de Alicante
Estado de los aparcamientos públicos de Alicante: plazas libres cuando hay observación de sensores vigente, y ficha (capacidad, dirección, tarifa) cuando solo existe catálogo. `dataType` declara si el dato es LIVE o CATALOG.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
resolve_entity
Resolver una entidad de Alicante por su nombre
Convierte el nombre que dice el usuario (con tildes, alias o erratas) en un identificador estable `entityId` de un parking, parada de bus, estación de TRAM o playa de Alicante. Primer paso antes de get_current_state. Si la respuesta marca `ambiguous`, pregunta al usuario cuál quería.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'type': {'enum': ['parking', 'tram-stop', 'bus-stop', 'beach'], 'type': 'string', 'description': 'Restringe el tipo de entidad cuando ya se conoce.'}, 'query': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'Nombre aproximado, p. ej. «paradis» o «parking del mercado».'}}, 'additionalProperties': False}
search_alicante
Buscador de VamosAlicante (punto de entrada)
BUSCADOR: úsalo PRIMERO ante cualquier consulta sobre Alicante en lenguaje natural (transporte, autobús, TRAM, tren, aeropuerto, parkings, playas, tiempo, comer, dormir, ocio, comercio, salud, combustible). Devuelve una lista compacta de URLs canónicas con `type` y, cuando existe, `entityId` para pedir el estado en get_current_state, o `resolveWith` para resolve_entity. Sirve para DECIDIR qué 1–3 URLs pedir después: no devuelve el inventario completo ni admite paginación profunda.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Número máximo de resultados (1â\x80\x9310). Por defecto 10.'}, 'query': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'Consulta libre, p. ej. «parking cerca del teatro».'}}, 'additionalProperties': False}
weather_now
Tiempo y avisos en Alicante
Tiempo actual en Alicante (temperatura, viento, humedad, UV), previsión, temperatura del mar y altura de ola, junto con los avisos meteorológicos oficiales de AEMET vigentes.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
whats_on
Qué hacer hoy en Alicante
Agenda de actividades y cine en Alicante para una fecha o búsqueda concreta: eventos publicados y sesiones de cine con hora y sala.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Fecha YYYY-MM-DD en Europe/Madrid.'}, 'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Resultados (máx. 10).'}, 'query': {'type': 'string', 'maxLength': 80, 'description': 'Evento, pelÃ\xadcula o palabra clave.'}}, 'additionalProperties': False}
Añadido
get_llms_full_txt
17 de September de 2026 a las 12:38
Añadido
get_llms_txt
17 de September de 2026 a las 12:38
Añadido
whats_on
17 de September de 2026 a las 12:38
Añadido
fuel_prices
17 de September de 2026 a las 12:38
Añadido
flight_status
17 de September de 2026 a las 12:38
Añadido
find_place
17 de September de 2026 a las 12:38
Añadido
find_food
17 de September de 2026 a las 12:38
Añadido
beach_conditions
17 de September de 2026 a las 12:38
Añadido
favorite_stop
17 de September de 2026 a las 12:38
Añadido
catch_vehicle_decision
17 de September de 2026 a las 12:38
Añadido
find_transit_stop
17 de September de 2026 a las 12:38
Añadido
next_departures
17 de September de 2026 a las 12:38
Añadido
weather_now
17 de September de 2026 a las 12:38
Añadido
parking_availability
17 de September de 2026 a las 12:38
Añadido
get_current_state
17 de September de 2026 a las 12:38
Añadido
resolve_entity
17 de September de 2026 a las 12:38
Añadido
search_alicante
17 de September de 2026 a las 12:38
Añadido
discover_capabilities
17 de September de 2026 a las 12:38