Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BILBAO_AVISOS_PASSWORDYesService password for the Bilbao avisos system
BILBAO_AVISOS_USERNAMEYesService username for the Bilbao avisos system (e.g., 999400)
BILBAO_AVISOS_HTTP_HOSTNoHTTP host for the optional HTTP server127.0.0.1
BILBAO_AVISOS_HTTP_PATHNoHTTP path for the optional HTTP server/mcp
BILBAO_AVISOS_HTTP_PORTNoHTTP port for the optional HTTP server3000
BILBAO_AVISOS_MCP_SECRETNoSecret for the optional HTTP server; requires x-mcp-secret or Bearer header
BILBAO_AVISOS_ALLOWED_HOSTSNoAllowed hosts for anti DNS-rebinding (e.g., tu-host.tu-tailnet.ts.net)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
check_authA

Comprueba la cuenta de servicio: pide token Keycloak y llama a comprobarVersion. Úsalo para verificar la instalación.

get_identityA

Devuelve la identidad del comunicante guardada (nombre, apellidos, contacto, idioma) o null si aún no se preguntó.

set_identityA

Guarda la identidad del comunicante (se pregunta UNA vez tras la instalación y se reutiliza). Valida: nombre y primer apellido obligatorios; teléfono o email obligatorios.

list_categoriesB

Servicios y temas de avisos (categorías municipales). Cada tema trae su serviceCode 'SERVICIO-TEMA' para crear avisos.

get_categoryC

Detalle de un serviceCode 'SERVICIO-TEMA': servicio, tipo (A aviso / S sugerencia) y tema.

suggest_categoriesB

Sugiere serviceCodes por palabras (p.ej. 'cartones apilados en acera').

search_streetB

Busca una calle en el callejero municipal. Devuelve candidatos con TECA_COD_CALLE, portales (TEPO_DIR_PORTAL), barrio/distrito y coordenadas X/Y del portal.

reverse_geocodeA

Calle y portal cercanos a unas coordenadas WGS84 (lon/lat, p.ej. del GPS de la foto).

my_avisosC

Comunicaciones del comunicante (filtra por su teléfono/email guardados; se pueden sobrescribir para la llamada).

create_avisoA

Crea un aviso/sugerencia. IMPORTANTE: por defecto es DRY-RUN (confirm=false) y solo devuelve el payload que se enviaría, SIN crear nada. Para crear de verdad hay que pasar confirm=true. Usa la identidad guardada salvo que se pase 'identity'.

create_aviso_from_photoA

Aviso desde una FOTO en fases. VÍA PREFERIDA: sube la foto con PUT /upload (curl) y pasa file_id; por stdio usa image_path local. Fase 1: sin service_code → sugiere categorías (need_category). Fase 2: sin calle → pide calle/portal (need_street, con reversa del GPS). Fase 3 (confirm=false): preview + preview_token SIN enviar. Fase 4: MISMOS campos + confirm:true + human_confirmed:true + preview_token (tras 'sí' humano). Sin las tres NO se envía.

attach_photoA

Adjunta una foto a una comunicación ya creada (ide_comunicacion de la respuesta del envío). Foto por file_id (PUT /upload), image_path local o image_base64. Dry-run por defecto; confirm=true para subirla.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 12 tools

Disambiguation4/5

Most tools target distinct resources/actions (identity get/set, category list/get/suggest, street search vs coordinate reverse-geocode). The main overlap is create_aviso vs create_aviso_from_photo, which both create reports but differ by photo workflow, so some misselection is possible. get_category vs list_categories vs suggest_categories are also related but have distinguishable purposes.

Naming Consistency4/5

Almost all tools follow a consistent verb_noun snake_case pattern (check_auth, get_identity, set_identity, list_categories, create_aviso, attach_photo). The main deviation is 'my_avisos' (noun-only, no verb) and the mixed English/Spanish vocabulary (categories vs avisos), but readability stays high.

Tool Count5/5

12 tools is well within the ideal 3-15 range and each one covers a distinct facet of the reporting workflow (auth, identity, categories, geocoding, listing, creating, photo attachment). No obvious filler or redundant tools bloat the set.

Completeness3/5

The surface covers auth, identity, categories, geocoding, listing, creation, and photo attachment, but lacks lifecycle operations: no get_aviso for a single report's detail/status, no update/edit, and no cancel/delete. Agents can create and list but cannot inspect or modify an individual aviso, which is a notable gap.