idealista-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IDEALISTA_ORIGIN | No | Idealista domain (.com, .it, .pt). Must be a valid https: URL. | https://www.idealista.com |
| IDEALISTA_CDP_ENDPOINT | No | Chrome DevTools Protocol endpoint | http://localhost:9222 |
| IDEALISTA_DRAFT_TTL_MS | No | Draft expiry in ms (5 min). Must be positive. | 300000 |
| IDEALISTA_PAGE_PAUSE_MS | No | Pause between paginated list requests in ms. Must be positive. | 1500 |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| open_loginA | Abre la página de login de Idealista. Devuelve inmediatamente. |
| check_sessionA | Verifica si hay sesión activa. Usa /menu-api y valida body.me.name. Devuelve { authenticated, method, name? }. |
| get_countersA | Devuelve mensajes no leídos y conversaciones destacadas. Alternativa ligera a listar todo cuando no hay Socket.IO. |
| list_conversationsB | Primeras 20 conversaciones vía /conversations/list. Incluye hasPrevious/hasNext para saber si hay más páginas. |
| get_conversationA | Obtiene los N mensajes más recientes de una conversación, en orden descendente (messages[0] = más reciente). |
| draft_messageC | Crea borrador. Resuelve destinatario desde /detail. Devuelve último mensaje (más reciente) para contexto de aprobación. |
| send_messageA | Envía usando draft_id. El borrador se elimina SOLO tras éxito 200. En sesión caducada, el borrador sobrevive. AVISO: el servidor no deduplica — no reintentar si hay error de red ambiguo (puede duplicar). |
| list_pendingA | Busca conversaciones pendientes de respuesta (último mensaje es del interlocutor, no mío). Páginas la lista completa con pausa de 1.5 s entre páginas. Devuelve entradas 'pending' y 'unknown' (fail-closed). AVISO: las entradas 'unknown' deben revisarse manualmente — nunca alimentar una respuesta automática sin verificar. |
| capture_startA | Inicia captura de XHR/Fetch a idealista.com. Usa capture_stop para obtener resultados. |
| capture_stopA | Detiene la captura y devuelve el buffer. Error explícito si no hay captura activa. |
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 10 tools
Each tool targets a distinct resource or action: authentication (open_login, check_session), conversation summaries (get_counters), conversation listing (list_conversations, list_pending), message retrieval (get_conversation), and message flow (draft_message, send_message). The capture pair is clearly separate. No two tools appear to do the same thing.
Most tool names follow a clean verb_noun pattern (draft_message, open_login, check_session, get_conversation, send_message). However, capture_start and capture_stop invert this pattern, using noun_verb instead of the expected start_capture/stop_capture, creating a minor inconsistency.
At 10 tools, the set is well-scoped for a messaging/automation server. Each tool serves a clear purpose in the login→list→read→draft→send workflow, plus a debugging capture pair. Nothing feels redundant or unnecessary.
The core messaging lifecycle is well covered: authentication, session validation, conversation listing, message reading, draft creation, sending, and pending detection. Minor gaps remain such as no logout, no mark-as-read, and no way to manage or delete drafts, but agents can work around these.