valencia-avisos-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VALENCIA_AVISOS_HTTP_HOST | No | HTTP server host for the optional HTTP entrypoint. | 127.0.0.1 |
| VALENCIA_AVISOS_HTTP_PATH | No | HTTP server path for the optional HTTP entrypoint. | /mcp |
| VALENCIA_AVISOS_HTTP_PORT | No | HTTP server port for the optional HTTP entrypoint. | 3001 |
| VALENCIA_AVISOS_MCP_SECRET | No | Secret for the optional HTTP server; requires x-mcp-secret or Bearer authentication. | |
| VALENCIA_AVISOS_ALLOWED_HOSTS | No | Allowed hosts for anti DNS-rebinding when running the optional HTTP server. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_identityA | Devuelve la identidad del comunicante guardada (contacto, idioma, dispositivo) 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: teléfono español o email obligatorios (al menos uno). |
| register_deviceA | Registra este cliente como dispositivo en el Ayuntamiento (POST /dispositivos) y guarda el idDispositivo. ESCRIBE en el servidor: usar solo con OK humano explícito. Necesario antes de crear o consultar avisos. |
| list_categoriesB | Categorías y subcategorías de avisos (cada una trae su código TCOM-xxx para crear). |
| get_categoryC | Detalle de un código TCOM-xxx: grupo, código y nombre. |
| suggest_categoriesB | Sugiere códigos TCOM-xxx por palabras (p.ej. 'contenedor desbordado'). |
| geocodeA | Calle + número → coordenadas WGS84 con el callejero municipal (p.ej. 'Calle Colón 1, Valencia'). |
| actuacionesC | Actuaciones en vía pública (obras, podas…; lectura abierta, sin registro). |
| my_avisosB | Avisos del dispositivo registrado (requiere register_device previo). |
| create_avisoA | Crea un aviso. IMPORTANTE: por defecto es DRY-RUN (confirm=false) y solo devuelve los campos que se enviarían, SIN crear nada. Para crear de verdad hay que pasar confirm=true (requiere deviceId registrado). Usa la identidad guardada salvo '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. Sin categoria → sugiere (need_category). Con categoria pero sin address/coords → error con ayuda (usa geocode). Con todo → preview + preview_token SIN enviar. Envío: MISMOS campos + confirm:true + human_confirmed:true + preview_token (tras 'sí' humano). Sin las tres NO se envía. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Cada herramienta tiene un propósito distinto: identidad, registro, categorías, geocodificación, consulta y creación. La única superposición es create_aviso vs create_aviso_from_photo, pero las descripciones aclaran que la segunda es para fotos y con fases; list/get/suggest de categorías se distinguen bien.
Mayoría sigue verbo_sustantivo (get_identity, set_identity, register_device, list_categories, create_aviso) pero hay excepciones en español sin verbo (actuaciones, my_avisos) y geocode es solo verbo. Mezcla de idiomas y convenciones, aunque legible.
11 herramientas es un número adecuado para cubrir identidad, dispositivo, categorías, geocodificación, consulta y creación de avisos. Cada una aporta una operación necesaria, sin redundancia excesiva.
Cubre el ciclo de creación y consulta (listar avisos propios, crear desde texto o foto) pero faltan operaciones de actualización/edición, cancelación/borrado y obtención de un aviso concreto. Es una brecha notable para la gestión completa de avisos.