Evlek MCP Server
MCP de propriedade nativa de IA para o Chipre do Norte (KKTC) — 9 ferramentas, dados ao vivo do evlek.app, hospedado, sem necessidade de autenticação.
Documentação
Servidor Evlek MCP
Descoberta de propriedades com IA nativa para o Norte de Chipre (KKTC). Construído sobre o Model Context Protocol — funciona no Claude, ChatGPT, Gemini, Cursor e em qualquer cliente compatível com MCP.
O servidor Evlek MCP dá aos agentes de IA acesso estruturado e em tempo real aos dados de propriedades do Norte de Chipre — pesquise listagens ativas, compare cidades e distritos, acompanhe o índice de preços e estime o rendimento de aluguel. Todos os dados são obtidos ao vivo de evlek.app. As ferramentas de título de propriedade (koçan) e procedimentos legais deliberadamente não fazem parte da superfície: essa taxonomia não passou por uma auditoria jurídica independente do KKTC.
Escopo da licença
Este repositório é licenciado sob MIT para o manifesto público, documentação, exemplos e clientes de referência aqui contidos. O serviço Evlek hospedado, o aplicativo web evlek.app, aplicativos móveis, banco de dados de listagens, prompts de IA, lógica de negócios, ativos de marca, nome, logotipo e imagem comercial permanecem proprietários e não são licenciados sob MIT. Consulte LICENSE para detalhes.
Por que Evlek MCP
- Prioridade para IA. Construído para fluxos de trabalho agênticos desde o primeiro dia — não adaptado de uma API de listagens legada.
- Multilíngue. Dados de propriedades em TR, EN, RU, DE, AR (atualmente expostos por meio de descrições de ferramentas em EN).
- Listagens com verificação. A Evlek exibe contexto de verificação de listagens e contas quando disponível, e o MCP omite campos de contato para preservar o funil de revelação/contato da Evlek.
- Feito para a região. Otimizado para as 6 cidades do Norte de Chipre (Lefkoşa, Girne, Gazimağusa, İskele, Güzelyurt, Lefke) e mais de 100 distritos.
- Nível de produção. Alinhado ao OWASP MCP Top 10 — validação de entrada Zod, sanitização de saída, limite de taxa (60/min/IP, 500/min global), observabilidade Sentry.
Início rápido
Clientes com capacidade remota (preferencial)
A maioria dos clientes MCP modernos (Claude, Cursor, VS Code) conecta-se diretamente ao endpoint HTTP Streamable — sem necessidade de ponte local:
{
"mcpServers": {
"evlek": {
"url": "https://evlek.app/api/mcp"
}
}
}
ChatGPT (conector + Deep Research)
Adicione https://evlek.app/api/mcp como um conector personalizado. A Evlek expõe ferramentas compatíveis com OpenAI search e fetch, portanto funciona em conectores ChatGPT e Deep Research, além do modo de desenvolvedor.
Claude Desktop (ponte stdio legada)
Se o seu cliente suporta apenas servidores stdio, use a ponte mcp-remote fixada. Adicione isso a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"evlek": {
"command": "npx",
"args": ["-y", "mcp-remote@0.1.16", "https://evlek.app/api/mcp"]
}
}
}
Reinicie o Claude Desktop. O servidor "evlek" aparece na lista de ferramentas.
MCP Inspector (teste antes de instalar)
npx @modelcontextprotocol/inspector https://evlek.app/api/mcp
API direta (cURL)
curl -X POST https://evlek.app/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Mais configurações: examples/
Servidor stdio local (este repositório)
Este repositório também é um servidor MCP executável. Ele responde a initialize / tools/list inteiramente localmente a partir do contrato de ferramentas incorporado (tools.json) e busca dados ao vivo da API de dados Evlek quando uma ferramenta é chamada:
npx github:Evlek/evlek-mcp # or: npm install && npm start
{
"mcpServers": {
"evlek": {
"command": "npx",
"args": ["-y", "github:Evlek/evlek-mcp"]
}
}
}
Teste rápido (inicia o servidor e fala MCP real via stdio):
npm test # live: initialize + tools/list + a real tools/call
OFFLINE=1 npm test # offline: introspection works with zero network
Ferramentas disponíveis (v1.9.0 — 15 ferramentas)
| # | Ferramenta | O que faz |
|---|---|---|
| 1 | search_listings | Pesquisa listagens ativas por cidade, tipo (venda/aluguel/diária), quartos e faixa de preço em GBP (normalizado no servidor). Até 10 resultados com título, preço, localização, link direto. |
| 2 | get_price_index | Preços agregados médio/mediana/mínimo/máximo por cidade + principais distritos (Índice de Preços Evlek), com exclusão de outliers por IQR e piso mínimo de amostra. |
| 3 | get_market_overview | Visão geral do mercado em alto nível — níveis indicativos de aluguel/venda por cidade, faixas de rendimento e roteamento para as calculadoras da Evlek. |
| 4 | compare_cities | Compara 2 a 4 cidades lado a lado com preços, contagens de listagens, principais distritos e veredito automático. |
| 5 | get_yield_estimate | Estima rendimento anual de aluguel bruto/líquido + anos de equilíbrio. Cidades sem dados suficientes retornam uma mensagem clara de não suporte. |
| 6 | suggest_neighborhood | Combina uma persona de comprador (aposentado, investidor, estudante, família, nômade digital, férias) a bairros. |
| 7 | compare_properties | Compara 2 a 4 UUIDs de listagens ativas lado a lado com preço por m² em GBP, área, quartos e percepção de valor. IDs mistos de venda/aluguel/diária são rejeitados — esses preços não são comparáveis. |
| 8 | get_district_profile | Perfil de distrito 360° — estatísticas de venda/aluguel, £/m², detalhamento por quartos, rendimento estimado, correspondência de persona. Mesmo filtro de outliers e piso de amostra do índice de preços. |
| 9 | student_housing | Perspectiva de aluguel para moradia estudantil perto de uma universidade do KKTC, ano letivo vs. ano inteiro. |
| 10 | payment_plan | Converte um preço entre GBP/EUR/USD/TRY usando taxas ao vivo com data; contexto de pagamento parcelado para empreendimentos na planta. |
| 11 | get_listing_detail | Perfil 360° de uma listagem ativa por UUID, incluindo preço por m² normalizado em GBP. |
| 12 | search | (Compatível com ChatGPT) Pesquisa de texto livre que retorna listagens como {id, title, url}. Entende cidade, tipo, quartos e restrições de preço em GBP na consulta. |
| 13 | fetch | (Compatível com ChatGPT) Busca detalhes completos da listagem por id de search. |
| 14 | list_locations | Dicionário válido de cidades + distritos — chame primeiro quando não tiver certeza dos nomes de locais. |
| 15 | get_listing_by_number | Consulta uma listagem pelo número de listagem EVL-XXXXXX. |
Widgets interativos (MCP Apps / SEP-1865)
Três ferramentas também incluem uma visualização HTML em sandbox que hosts compatíveis com MCP Apps (Claude web/desktop) renderizam inline na conversa:
| Ferramenta | Widget | O que você obtém |
|---|---|---|
search_listings, search | ui://evlek/listing-cards-v2.html | Carrossel horizontal de cartões (foto de capa, preço, localização) — o cartão inteiro é o link, sem botão CTA separado; abrir um leva à MESMA visualização de detalhes de get_listing_detail, em tela cheia, nunca em um painel inline parcial. Um modo opcional "selecionar para comparar" envia 2 a 4 listagens para compare_properties, renderizadas como tabela de comparação. |
get_listing_detail | ui://evlek/listing-detail-v2.html | Galeria de fotos com legendas de IA, ficha técnica e um controle deslizante de comparação antes/depois de staging virtual com IA |
get_price_index | ui://evlek/price-index-v2.html | Linhas de resumo por cidade inline (média/mediana, limitadas a algumas cidades para manter compacto); o detalhamento completo por distrito e a tabela de comparação de cidades abrem em tela cheia, não inline |
As visualizações são HTML estático e autocontido — sem bundler, sem JS de terceiros. Os dados
de listagens chegam a elas apenas em tempo de execução via postMessage e são escritos com
textContent, nunca innerHTML. A CSP é declarada por recurso
(_meta.ui.csp) e limitada à origem pública de fotos de listagens.
Consulte TOOLS.md para esquemas de entrada completos, detalhes de parâmetros e exemplos de resposta.
Recursos (7) e modelos de recursos (2)
Dados evlek:// somente leitura via resources/list / resources/read, além de modelos parametrizados via resources/templates/list:
- Modelos:
evlek://price-index/{city}·evlek://district/{city}/{district} - Instâncias: índices de preços por cidade (girne, iskele, lefkosa, gazimagusa, guzelyurt, lefke) e um perfil de distrito de amostra.
Prompts (2)
investment_analysis·student_rental_outlook
Exemplos de prompts
- "Encontre apartamentos de 2 quartos para alugar em Girne por menos de £500/mês."
- "Qual é o preço mediano de venda por metro quadrado em Lefkoşa?"
- "Compare İskele e Famagusta para investimento — qual tem maior rendimento de aluguel?"
- "Estime o rendimento de aluguel de um 2+1 em Girne por £150.000."
- "Mostre-me apartamentos em Girne por menos de £150.000."
- "Como é um perfil de distrito para Alsancak?"
Cobertura
- Cidades: 6 (Girne, İskele, Lefkoşa, Gazimağusa, Güzelyurt, Lefke)
- Distritos: 100+
- Moeda: GBP primária; TRY/USD/EUR normalizados para GBP no servidor usando taxas de câmbio diárias ao vivo
- Descrições de ferramentas: EN · Campos de dados de listagens: TR + EN
Arquitetura
O servidor Evlek MCP é executado como um endpoint hospedado em https://evlek.app/api/mcp. Ele fala o Model Context Protocol via HTTP Streamable (JSON-RPC 2.0), protocolVersion 2026-07-28, e expõe ferramentas, recursos, modelos de recursos e prompts. Os metadados de descoberta são publicados em /.well-known/mcp.json.
Este repositório contém:
- server.json — Manifesto do Registro MCP
- TOOLS.md — Referência completa de ferramentas (esquemas JSON + exemplos)
- examples/ — Arquivos de configuração para Claude Desktop, Cursor, VS Code
- CONTRIBUTING.md — Como relatar problemas e propor melhorias na documentação
A implementação completa do servidor (esquemas de banco de dados, rotas de API, engenharia de prompts de IA, pipeline de listagens) está hospedada em evlek.app e permanece proprietária.
Modelo de segurança
Conforme OWASP MCP Top 10: limite de taxa por IP de 60/min, global de 500/min, timeout rígido de 30s, validação de entrada Zod, sanitização de saída (defesa contra injeção de prompt), máximo de 10 resultados por consulta, chave anônima Supabase + RLS, sem vazamento de stack traces, observabilidade Sentry.
Para relatar um problema de segurança, envie um e-mail para hello@evlek.app.
Status
- Versão MCP: 1.9.0 (ao vivo)
- Protocolo: 2026-07-28
- Primitivas: 15 ferramentas · 7 recursos de dados + 3 recursos de widgets interativos · 2 modelos de recursos · 2 prompts
- Autenticação: nenhuma (somente leitura pública)
- Endpoint:
https://evlek.app/api/mcp - Registro MCP:
app.evlek/mcp-server
Licença
MIT — consulte LICENSE. O MIT cobre o manifesto público, documentação, exemplos e clientes de referência neste repositório apenas (consulte Escopo da licença acima). O serviço Evlek hospedado (aplicativo web, aplicativos móveis, dados de listagens, prompts de IA, esquemas de banco de dados, lógica de negócios) é proprietário.
Aviso de marca registrada: "Evlek" é uma marca registrada de Onur Dokuzoğlu. A licença MIT não concede direitos de uso do nome, logotipo ou identidade visual "Evlek", exceto conforme descrito neste README. Para solicitar permissão de uso da marca, entre em contato com hello@evlek.app.
Links
- Web: evlek.app
- iOS: App Store
- Android: Google Play
- Endpoint MCP:
https://evlek.app/api/mcp - Documentação MCP: evlek.app/mcp
- Registro MCP:
app.evlek/mcp-server - Model Context Protocol: modelcontextprotocol.io
- Contato: hello@evlek.app
Construído no Norte de Chipre por um arquiteto, não por uma empresa de software. Alimentado por Anthropic Claude, Supabase, Vercel e o Model Context Protocol.