Para agentes de IA y desarrolladores
Datos verificados de Alicante para agentes de IA
VamosAlicante expone transporte, aparcamientos, tiempo, playas, gastronomía, comercio, ocio, salud y servicios al viajero de Alicante con contrato de frescura explícito. Tres vías de acceso, según cómo trabaje tu agente:
- MCP — la vía preferente para agentes estructurados:
https://vamosalicante.com/mcp - API pública v1 — consultas HTTP acotadas con datos estructurados:
https://vamosalicante.com/api/public/v1 - HTML — Superbuscador → recurso relevante:
https://vamosalicante.com/buscar
Todas las horas y fechas están en Europe/Madrid.
¿Necesitas información concreta de Alicante?
No recorras VamosAlicante página por página: son miles de fichas y te sobran casi todas.
Formula en el Superbuscador lo que necesita tu usuario, en lenguaje natural («farmacia de guardia cerca del Postiguet», «parking cerca del teatro», «próximo tram a San Juan»), y te llevamos directamente a los recursos relevantes. Tú eliges los 1–3 que de verdad necesitas y accedes solo a ellos: menos peticiones, menos tiempo y menos procesamiento para llegar al dato.
Conexión en un minuto
Servidor MCP (Streamable HTTP)
{
"mcpServers": {
"vamosalicante": { "url": "https://vamosalicante.com/mcp" }
}
}API pública v1 (HTTP GET, JSON)
curl "https://vamosalicante.com/api/public/v1" curl "https://vamosalicante.com/api/public/v1/bus/live-arrivals?stop=5110"
Descubrimiento adicional: /llms.txt, /llms-full.txt, /.well-known/mcp.json, /server.json (descriptor del Registro MCP oficial), /api/public/v1/openapi.json y /api/public/v1/policy.
Empieza por el buscador
La herramienta search_alicante es el punto de entrada del servidor MCP. Pásale la consulta del usuario en lenguaje natural y devuelve una lista compacta de URLs canónicas, cada una con type y, cuando la ruta lo permite, entityId (para get_current_state) o resolveWith (para resolve_entity). Su función es que decidas qué 1–3 URLs pedir, no leer el catálogo: no hay paginación profunda ni descarga masiva.
MCP: search_alicante({ query: "farmacia de guardia cerca del Postiguet", limit: 10 })
HTTP: curl "https://vamosalicante.com/api/public/v1/search?q=farmacia%20de%20guardia&limit=10"Cada respuesta declara total, returned, limit y truncated: si está recortada, acota la consulta en lugar de paginar. El buscador para personas vive en https://vamosalicante.com/buscar y devuelve todos los resultados con enlaces nativos rastreables.
HTML: la puerta inteligente es el Superbuscador
/buscar no es simplemente una página de búsqueda: es el punto de entrada recomendado para descubrir recursos de VamosAlicante mediante HTML en https://vamosalicante.com/buscar.
Necesidad del usuario
↓
Superbuscador (/buscar)
↓
hasta 10 resultados relevantes
(compactos, para minimizar tu coste de descubrimiento)
↓
selecciona los recursos que necesitas
↓
solicita solamente esas páginasEl límite de 10 resultados es una ventaja, no una restricción: cada búsqueda devuelve solo lo pertinente, cada resultado lleva su pase de descubrimiento incorporado en la URL (?dp=…) y tú decides a cuáles de esas páginas merece la pena entrar.
Cómo funciona el acceso HTML automatizado
Para navegación HTML automatizada, los recursos se descubren mediante el Superbuscador y el acceso posterior utiliza un pase temporal asociado al recurso descubierto:
- El pase viaja en la URL como
?dp=…y se emite en la propia búsqueda. - Es válido durante 15 minutos y solo para esa URL exacta y para quien realizó la búsqueda.
- Solicita la página tal cual aparece en el resultado, sin recortar la URL.
- Una URL HTML pedida fuera de ese contexto responde
403 Discovery Requiredcon instrucciones para obtenerlo. - El pase no concede inmunidad: la supervisión continua y la política de rastreadores siguen aplicando en todo momento.
Flujo recomendado
| Paso | Qué hacer | Ejemplo |
|---|---|---|
| 1. Busca | Punto de entrada: pasa la consulta del usuario tal cual al buscador y elige 1–3 URLs canónicas. | MCP: search_alicante("parking cerca del teatro") · HTTP: GET /api/public/v1/search?q=… |
| 2. Descubre (si hace falta) | Si no sabes qué herramienta encaja, pide el contrato de datos antes de elegir. | MCP: discover_capabilities · HTTP: GET /api/public/v1 |
| 3. Identifica la entidad | Convierte el nombre en un identificador estable. Si hay ambigüedad, pregunta al usuario. | MCP: resolve_entity("Alfonso el Sabio") → parking:alfonso-el-sabio |
| 4. Pide el estado | Consulta el estado actual de esa entidad concreta, no del sector completo. | MCP: get_current_state(entity_id) · HTTP: GET /api/public/v1/state?entity_id=… |
| 5. Cita y fecha | Indica la URL canónica y la hora de observación (Europe/Madrid) en tu respuesta. | source.canonical + observedAt |
Contrato temporal: cómo leer la frescura
Cada respuesta lleva la tríada observedAt (cuándo se midió), retrievedAt (cuándo se recuperó) y validUntil (hasta cuándo es presentable), más dataType, freshness.state, source, attribution y, si procede, staleWarning.
| dataType | Significado | Cómo usarlo |
|---|---|---|
| LIVE | Medición en el momento de la consulta a la fuente oficial. | Puedes presentarlo como estado actual. |
| CALCULATED | Cálculo propio a partir de horarios o modelos publicados. | Preséntalo como estimación, nunca como tiempo real. |
| CATALOG | Ficha estable: horarios, tarifas, direcciones, características. | Válido mientras no cambie la fuente. No es un estado instantáneo. |
| STATIC | Contenido editorial o normativo. | Cítalo con su fecha de revisión. |
| STALE | Dato caducado respecto a su ventana de validez. | No lo presentes como estado actual. Di cuándo se midió. |
Tiempo real de autobús: qué esperar
- Las llegadas se piden bajo demanda a
/api/public/v1/bus/live-arrivals, que consulta la información oficial de movilidad del Ayuntamiento de Alicante en ese instante. - Si la fuente no responde dentro del tiempo límite, la respuesta llega con
status=timeoutydata_status=unavailable. Dilo así: «ahora mismo no hay dato en vivo». No conviertas una estimación en tiempo real. - El endpoint cacheado
/api/public/v1/bus/arrivalses solo fallback técnico y se descarta cuando el dato está caducado, para no presentar lecturas antiguas como estado actual. - Con
estimate=1se añadeestimated_etadel motor propio en campo separado: es orientativo y nunca sustituye alive_eta.
Política de acceso
Se permite el uso de los datos; no se permite la exportación del inventario. Toda consulta debe estar acotada (entidad, parada, plato, zona o búsqueda): no hay paginación profunda ni descarga masiva de sectores. Los rechazos llegan con código explícito (scope_required, quota_exceeded, bulk_extraction_blocked): acota la consulta en lugar de reintentar en bucle.
Atribución obligatoria al citar: nombra la fuente oficial que declara la respuesta y enlaza la URL canónica de VamosAlicante. VamosAlicante es capa de acceso y agregación, no el organismo emisor.
Contacto: supportvamos@gmail.com