Evlek MCP Server
MCP de propiedades nativo de IA para el norte de Chipre (KKTC) — 9 herramientas, datos en vivo de evlek.app, alojado, sin autenticación requerida.
Documentación
Evlek MCP Server
Descubrimiento de propiedades nativo de IA para el norte de Chipre (KKTC). Construido sobre el Model Context Protocol: funciona en Claude, ChatGPT, Gemini, Cursor y cualquier cliente compatible con MCP.
El servidor MCP de Evlek ofrece a los agentes de IA acceso estructurado y en tiempo real a los datos inmobiliarios del norte de Chipre: búsqueda de anuncios activos, comparación de ciudades y distritos, seguimiento del índice de precios y estimación de rentabilidad de alquiler. Todos los datos provienen en vivo de evlek.app. Las herramientas de título de propiedad (koçan) y procedimientos legales están deliberadamente fuera de la superficie: esa taxonomía no ha pasado una auditoría legal independiente de KKTC.
Alcance de la licencia
Este repositorio tiene licencia MIT para el manifiesto público, la documentación, los ejemplos y los clientes de referencia que contiene. El servicio Evlek alojado, la aplicación web evlek.app, las aplicaciones móviles, la base de datos de anuncios, los prompts de IA, la lógica de negocio, los activos de marca, el nombre, el logotipo y la imagen comercial siguen siendo propietarios y no están cubiertos por la licencia MIT. Consulta LICENSE para más detalles.
Por qué Evlek MCP
- Prioridad a la IA. Diseñado para flujos de trabajo agénticos desde el primer día, no adaptado a partir de una API de anuncios heredada.
- Multilingüe. Datos inmobiliarios en TR, EN, RU, DE, AR (actualmente expuestos mediante descripciones de herramientas en EN).
- Anuncios con verificación. Evlek muestra el contexto de verificación de anuncios y cuentas cuando está disponible, y el MCP omite los campos de contacto para preservar el embudo de revelación/contacto de Evlek.
- Hecho para la región. Optimizado para las 6 ciudades del norte de Chipre (Lefkoşa, Girne, Gazimağusa, İskele, Güzelyurt, Lefke) y más de 100 distritos.
- Listo para producción. Alineado con el OWASP MCP Top 10: validación de entrada con Zod, saneamiento de salidas, límite de tasa (60/min por IP, 500/min global), observabilidad con Sentry.
Inicio rápido
Clientes con capacidad remota (recomendado)
La mayoría de los clientes MCP modernos (Claude, Cursor, VS Code) se conectan directamente al endpoint Streamable HTTP, sin necesidad de puente local:
{
"mcpServers": {
"evlek": {
"url": "https://evlek.app/api/mcp"
}
}
}
ChatGPT (conector + Deep Research)
Añade https://evlek.app/api/mcp como conector personalizado. Evlek expone las herramientas search y fetch compatibles con OpenAI, por lo que funciona en conectores de ChatGPT y Deep Research además del modo desarrollador.
Claude Desktop (puente stdio heredado)
Si tu cliente solo admite servidores stdio, usa el puente mcp-remote fijado. Añade esto a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"evlek": {
"command": "npx",
"args": ["-y", "mcp-remote@0.1.16", "https://evlek.app/api/mcp"]
}
}
}
Reinicia Claude Desktop. El servidor "evlek" aparecerá en la lista de herramientas.
MCP Inspector (probar antes de instalar)
npx @modelcontextprotocol/inspector https://evlek.app/api/mcp
API directa (cURL)
curl -X POST https://evlek.app/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Más configuraciones: examples/
Servidor stdio local (este repositorio)
Este repositorio también es un servidor MCP ejecutable. Responde a initialize / tools/list completamente en local a partir del contrato de herramientas integrado (tools.json) y obtiene datos en vivo de la API de datos de Evlek cuando se llama a una herramienta:
npx github:Evlek/evlek-mcp # or: npm install && npm start
{
"mcpServers": {
"evlek": {
"command": "npx",
"args": ["-y", "github:Evlek/evlek-mcp"]
}
}
}
Prueba rápida (inicia el servidor y habla MCP real a través de stdio):
npm test # live: initialize + tools/list + a real tools/call
OFFLINE=1 npm test # offline: introspection works with zero network
Herramientas disponibles (v1.9.0 — 15 herramientas)
| # | Herramienta | Qué hace |
|---|---|---|
| 1 | search_listings | Busca anuncios activos por ciudad, tipo (venta/alquiler/diario), dormitorios y rango de precios en GBP (normalizado en el servidor). Hasta 10 resultados con título, precio, ubicación y enlace directo. |
| 2 | get_price_index | Precios medios/mediana/mín/máx agregados por ciudad + distritos principales (Evlek Price Index), con exclusión de valores atípicos por IQR y un mínimo de muestra. |
| 3 | get_market_overview | Visión general del mercado de alto nivel: niveles indicativos de alquiler/venta por ciudad, rangos de rentabilidad y enrutamiento a las calculadoras de Evlek. |
| 4 | compare_cities | Compara 2-4 ciudades lado a lado con precios, número de anuncios, distritos principales y veredicto automático. |
| 5 | get_yield_estimate | Estima la rentabilidad anual bruta/neta del alquiler + años de punto de equilibrio. Las ciudades sin datos suficientes devuelven un mensaje claro de no soportado. |
| 6 | suggest_neighborhood | Relaciona un perfil de comprador (jubilado, inversor, estudiante, familia, nómada digital, vacaciones) con barrios. |
| 7 | compare_properties | Compara 2-4 UUID de anuncios activos lado a lado con precio por m² en GBP, superficie, dormitorios e información de valor. Se rechazan IDs mixtos de venta/alquiler/diario: esos precios no son comparables. |
| 8 | get_district_profile | Perfil de distrito de 360°: estadísticas de venta/alquiler, £/m², desglose por dormitorios, rentabilidad estimada y coincidencia de perfil. Mismo filtro de valores atípicos y mínimo de muestra que el índice de precios. |
| 9 | student_housing | Perspectiva de alquiler para vivienda estudiantil cerca de una universidad de KKTC, año académico vs. todo el año. |
| 10 | payment_plan | Convierte un precio entre GBP/EUR/USD/TRY usando tasas en vivo con fecha; contexto de pagos escalonados para preventa. |
| 11 | get_listing_detail | Perfil de 360° de un anuncio activo por UUID, incluido el precio por m² normalizado en GBP. |
| 12 | search | (Compatible con ChatGPT) Búsqueda de texto libre que devuelve anuncios como {id, title, url}. Entiende restricciones de ciudad, tipo, dormitorios y precio en GBP en la consulta. |
| 13 | fetch | (Compatible con ChatGPT) Obtiene el detalle completo de un anuncio por id desde search. |
| 14 | list_locations | Diccionario válido de ciudades + distritos: llámalo primero si no estás seguro de los nombres de ubicaciones. |
| 15 | get_listing_by_number | Busca un anuncio por su número de listado EVL-XXXXXX. |
Widgets interactivos (MCP Apps / SEP-1865)
Tres herramientas incluyen además una vista HTML en sandbox que los hosts compatibles con MCP Apps (Claude web/escritorio) renderizan en línea dentro de la conversación:
| Herramienta | Widget | Qué obtienes |
|---|---|---|
search_listings, search | ui://evlek/listing-cards-v2.html | Carrusel horizontal de tarjetas (foto de portada, precio, ubicación): toda la tarjeta es el enlace, sin botón CTA separado; al abrir una se accede a la MISMA vista de detalle que get_listing_detail, en pantalla completa, nunca en un panel medio en línea. Un modo opcional de "seleccionar para comparar" envía 2-4 anuncios a compare_properties, renderizados como tabla comparativa. |
get_listing_detail | ui://evlek/listing-detail-v2.html | Galería de fotos con subtítulos de IA, ficha técnica y un control deslizante de comparación antes/después de staging virtual con IA |
get_price_index | ui://evlek/price-index-v2.html | Filas de resumen por ciudad en línea (media/mediana, limitadas a unas pocas ciudades para mantener la compacidad); el desglose completo por distritos y la tabla de comparación de ciudades se abren en pantalla completa, no en línea |
Las vistas son HTML estático autocontenido: sin bundler, sin JS de terceros. Los datos
de los anuncios llegan solo en tiempo de ejecución a través de postMessage y se escriben con
textContent, nunca con innerHTML. La CSP se declara por recurso
(_meta.ui.csp) y se limita al origen público de fotos de anuncios.
Consulta TOOLS.md para ver los esquemas de entrada completos, los detalles de parámetros y los ejemplos de respuesta.
Recursos (7) y plantillas de recursos (2)
Datos de evlek:// de solo lectura a través de resources/list / resources/read, además de plantillas parametrizadas mediante resources/templates/list:
- Plantillas:
evlek://price-index/{city}·evlek://district/{city}/{district} - Instancias: índices de precios por ciudad (girne, iskele, lefkosa, gazimagusa, guzelyurt, lefke) y un perfil de distrito de muestra.
Prompts (2)
investment_analysis·student_rental_outlook
Ejemplos de prompts
- "Encuentra pisos de 2 dormitorios en alquiler en Girne por menos de £500/mes."
- "¿Cuál es el precio medio de venta por metro cuadrado en Lefkoşa?"
- "Compara İskele y Famagusta para inversión: ¿cuál tiene mayor rentabilidad de alquiler?"
- "Estima la rentabilidad de alquiler de un 2+1 en Girne de £150.000."
- "Muéstrame apartamentos en Girne por menos de £150.000."
- "¿Cómo es un perfil de distrito para Alsancak?"
Cobertura
- Ciudades: 6 (Girne, İskele, Lefkoşa, Gazimağusa, Güzelyurt, Lefke)
- Distritos: más de 100
- Moneda: GBP como principal; TRY/USD/EUR normalizados a GBP en el servidor con tasas de cambio diarias en vivo
- Descripciones de herramientas: EN · Campos de datos de anuncios: TR + EN
Arquitectura
El servidor MCP de Evlek se ejecuta como endpoint alojado en https://evlek.app/api/mcp. Habla el Model Context Protocol a través de Streamable HTTP (JSON-RPC 2.0), protocolVersion 2026-07-28, y expone herramientas, recursos, plantillas de recursos y prompts. Los metadatos de descubrimiento se publican en /.well-known/mcp.json.
Este repositorio contiene:
- server.json — Manifiesto del registro MCP
- TOOLS.md — Referencia completa de herramientas (esquemas JSON + ejemplos)
- examples/ — Archivos de configuración para Claude Desktop, Cursor, VS Code
- CONTRIBUTING.md — Cómo informar problemas y proponer mejoras de documentación
La implementación completa del servidor (esquemas de base de datos, rutas de API, ingeniería de prompts de IA, pipeline de anuncios) está alojada en evlek.app y sigue siendo propietaria.
Modelo de seguridad
Según el OWASP MCP Top 10: límite de tasa por IP de 60/min, 500/min global, tiempo de espera máximo de 30 s, validación de entrada con Zod, saneamiento de salidas (defensa contra inyección de prompts), máximo 10 resultados por consulta, clave anónima de Supabase + RLS, sin fugas de trazas de pila, observabilidad con Sentry.
Para informar de un problema de seguridad, escribe a hello@evlek.app.
Estado
- Versión MCP: 1.9.0 (en vivo)
- Protocolo: 2026-07-28
- Primitivas: 15 herramientas · 7 recursos de datos + 3 recursos de widgets interactivos · 2 plantillas de recursos · 2 prompts
- Autenticación: ninguna (solo lectura pública)
- Endpoint:
https://evlek.app/api/mcp - Registro MCP:
app.evlek/mcp-server
Licencia
MIT — consulta LICENSE. MIT cubre únicamente el manifiesto público, la documentación, los ejemplos y los clientes de referencia de este repositorio (consulta Alcance de la licencia más arriba). El servicio Evlek alojado (aplicación web, aplicaciones móviles, datos de anuncios, prompts de IA, esquemas de base de datos, lógica de negocio) es propietario.
Aviso de marca: "Evlek" es una marca comercial de Onur Dokuzoğlu. La licencia MIT no otorga derechos para usar el nombre, el logotipo o la imagen de marca de "Evlek" salvo lo descrito en este README. Para solicitar permiso de uso de marca, contacta con hello@evlek.app.
Enlaces
- Web: evlek.app
- iOS: App Store
- Android: Google Play
- Endpoint MCP:
https://evlek.app/api/mcp - Documentación MCP: evlek.app/mcp
- Registro MCP:
app.evlek/mcp-server - Model Context Protocol: modelcontextprotocol.io
- Contacto: hello@evlek.app
Construido en el norte de Chipre por un arquitecto, no por una empresa de software. Impulsado por Anthropic Claude, Supabase, Vercel y el Model Context Protocol.