Skip to main content
Glama
MCP Vista CRM Loft

MCP Vista CRM Loft

MCP Server - Vista CRM Loft 🏠🚀

License: MIT MCP TypeScript Version

Integração de nível empresarial com a API Vista CRM (Loft Edition), projetada especificamente para agentes de IA que precisam gerenciar operações imobiliárias complexas com precisão, segurança e economia de tokens.

Este servidor implementa o Model Context Protocol (MCP), expondo mais de 40 ferramentas que permitem a modelos de linguagem (LLMs) pesquisar imóveis, gerenciar o funil de vendas (Pipeline), capturar leads e controlar agendas de visitas.


🌟 Funcionalidades de Elite

  • 🔍 Busca de Nova Geração: Suporte a queries complexas via imovel_busca_avancada e filtros dinâmicos via imovel_listar_conteudo.

  • 📈 Gestão de Funil (Pipeline): Controle total de negociações e perfis de interesse do cliente.

  • 💎 Otimização Inteligente de Contexto: Processamento via PayloadOptimizer que remove ruído (nulls/vazios), reduzindo o consumo de tokens em até 60%.

  • 🛡️ Resiliência em Produção: Cliente HTTP customizado com tratamento de erros de negócio camuflados, timeouts e isolamento de falhas.

  • 📊 Observabilidade Total: Logs estruturados em stderr para monitoramento em tempo real sem interferir no protocolo de dados.


⚠️ Segurança: Este servidor manipula dados sensíveis de CRM. O uso em ambientes de produção deve ser monitorado para prevenir ataques de injeção de prompt que visem a exfiltração de dados privados.


🏗️ Arquitetura do Sistema

O projeto segue os princípios de Clean Architecture, garantindo manutenibilidade e facilidade de testes.

graph TD
    IA[Claude/Cursor/Gemini] -->|JSON-RPC via stdio| MCP[MCP Server Layer]
    subgraph "Product Logic"
        MCP --> Tools[Tools Layer - Controllers]
        Tools --> Services[Services Layer - Business Logic]
        Services --> Optimizer[Payload Optimizer - Utility]
        Services --> Clients[Vista HTTP Client - Infrastructure]
    end
    Clients -->|HTTPS| Vista[API Vista CRM / Loft]

Related MCP server: Bitrix24 MCP Server

🚀 Instalação e Setup

Pré-requisitos

  • Node.js 18.x ou superior.

  • NPM ou Yarn.

  • Chave de API da Vista Software.

Passo a Passo

  1. Clone o repositório:

    git clone https://github.com/fabiohsan-dev/mcp-vista-loft.git
    cd mcp-vista-loft
  2. Instalação e Build:

    npm install
    npm run build
  3. Configuração de Ambiente: Crie um arquivo .env na raiz:

    VISTA_URL=https://sua-instancia.vistahost.com.br
    VISTA_KEY=sua-chave-api
    DEFAULT_LIMIT=20
    TIMEOUT_MS=30000

🔌 Integração com Agentes de IA

1. Claude Desktop

Adicione ao seu arquivo de configuração:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "vista-crm-loft": {
      "command": "node",
      "args": ["/CAMINHO/ABSOLUTO/mcp-vista-loft/dist/index.js"],
      "env": {
        "VISTA_URL": "SUA_URL",
        "VISTA_KEY": "SUA_KEY"
      }
    }
  }
}

2. Cursor IDE

Vá em Settings > Cursor Settings > MCP e adicione um novo servidor:

  • Name: Vista CRM Loft

  • Type: command

  • Command: node /CAMINHO/ABSOLUTO/mcp-vista-loft/dist/index.js


📋 Catálogo de Ferramentas (40+ ferramentas)

🏠 Módulo de Imóveis

Ferramenta

Descrição

imoveis_pesquisar

Busca padrão com filtros e ordenação.

imovel_busca_avancada

Execução de queries JSON complexas.

imovel_detalhes

Dados técnicos completos do imóvel.

imovel_listar_conteudo

Obtém valores únicos para filtros (ex: bairros ativos).

imovel_prontuario

Histórico detalhado e categorizado de eventos.

imovel_fotos / anexos

Gestão de mídia e documentação técnica.

👥 Módulo de Clientes & Leads

Ferramenta

Descrição

clientes_pesquisar

Busca de contatos no CRM.

lead_enviar

Captura de leads de fontes externas (site/redes sociais).

cliente_historico

Log completo de interações com o cliente.

cliente_favoritos

Gestão de imóveis de interesse do contato.

📈 Módulo de Pipeline & Negócios

Ferramenta

Descrição

pipeline_listar

Gestão do funil de vendas e perfis de interesse.

pipeline_atualizar_etapa

Movimentação de negócios entre fases do funil.

pipeline_campos

Consulta de campos customizados do funil.

📅 Módulo de Agenda & Configuração

Ferramenta

Descrição

agendamentos_pesquisar

Filtro de agenda por corretor, cliente ou imóvel.

webhook_listar

Monitoramento de integrações em tempo real.

imovel_deletar_video

Remoção definitiva de ativos de mídia.


🧪 Qualidade e Testes

O servidor conta com uma infraestrutura de testes automatizada para garantir a estabilidade das 40+ ferramentas.

1. Testes Unitários (Vitest)

Validam a lógica pura, como o otimizador de tokens:

npm test

2. Smoke Test de Integração (Python)

Valida o protocolo MCP real via JSON-RPC e a conectividade com a API Vista. Importante: Nunca utilize credenciais hardcoded. O runner lê as variáveis do ambiente.

# Windows PowerShell
$env:VISTA_URL="http://sandbox-rest.vistahost.com.br"; $env:VISTA_KEY="SUA_KEY"; python tests/integration/smoke_test_runner.py

🤖 Automação (CI/CD)

Este repositório possui uma infraestrutura de automação real via GitHub Actions:

  • CI (Build & Test): Localizado em .github/workflows/ci.yml.

    • Job 1 (Unit & Build): Valida tipos TypeScript, roda testes unitários e gera o build minificado.

    • Job 2 (Integration): Roda o Smoke Test Python em um ambiente Ubuntu isolado.

  • CD (Deploy): Localizado em .github/workflows/deploy.yml.

    • Configurado para rodar em push na main ou via disparo manual (workflow_dispatch).

    • Utiliza o ambiente production do GitHub para proteção de segredos.

🛡️ Configuração de Secrets no GitHub

Para que o pipeline de integração funcione, você deve adicionar os seguintes Secrets no seu repositório:

  1. VISTA_URL_SANDBOX: URL da sandbox (ex: http://sandbox-rest.vistahost.com.br).

  2. VISTA_KEY_SANDBOX: Sua chave de API da sandbox.


🐞 Solução de Problemas

Logs Detalhados: Os logs do servidor são enviados para stderr em formato JSON estruturado. Você pode visualizá-los no console do seu agente. Erros da API Vista são capturados e sanitizados para não vazar chaves de API em mensagens de erro.


Caminhos no Windows: Ao configurar no Claude/Cursor, utilize barras normais (/) ou barras invertidas duplas (\\) para evitar erros de escape no JSON.


📄 Licença

Distribuído sob a licença MIT. Veja LICENSE para detalhes.

👨‍💻 Autor

Fabio San - @fabiohsan-dev


Nota: Este projeto é uma implementação independente e não possui vínculo oficial com a Vista Software ou com a Loft.

Available Tools

42 tools
agendamento_alterarC

Atualiza um agendamento.

Inputs: dados (required), codigo (required).

agendamento_cadastrarC

Cria novo agendamento.

Inputs: dados (required).

agendamento_detalhesC

Info de um agendamento específico.

Inputs: codigo (required).

agendamentos_pesquisarC

Lista agendamentos no CRM.

Inputs: filtros.

agendamentos_por_clienteC

Visitas de um cliente.

Inputs: cliente (required), filtros.

agendamentos_por_corretorD

Agenda de um corretor.

Inputs: corretor (required), filtros.

agendamentos_por_imovelD

Visitas em um imóvel.

Inputs: imovel (required), filtros.

cliente_alterarC

Atualiza dados do cliente.

Inputs: dados (required), codigo (required).

cliente_cadastrarC

Cria um novo cliente.

Inputs: dados (required).

cliente_cadastrar_historicoD

Registra contato/evento.

Inputs: dados (required), codigo (required).

cliente_definir_corretorC

Define corretor do cliente.

Inputs: codigo (required), corretor (required).

cliente_detalhesC

Info completa do cliente.

Inputs: codigo (required), campos.

cliente_favoritosD

Imóveis favoritados.

Inputs: codigo (required).

cliente_historicoD

Histórico de interações.

Inputs: codigo (required).

clientes_camposB

Campos disponíveis para clientes.

Inputs: no named parameters.

clientes_pesquisarC

Busca clientes com filtros.

Inputs: campos, filtros, paginacao.

clientes_por_agenciaC

Clientes da agência.

Inputs: agencia (required), campos, filtros, paginacao.

clientes_por_corretorD

Clientes do corretor.

Inputs: corretor (required), campos, filtros, paginacao.

imoveis_camposC

Descobre campos disponíveis na API.

Inputs: no named parameters.

imoveis_listasC

Listas de cidades, bairros ou tipos.

Inputs: tipo (required).

imoveis_pesquisarC

Busca imóveis com filtros e paginação.

Inputs: campos, filtros, ordenacao, paginacao.

imoveis_por_agenciaC

Imóveis de uma agência específica.

Inputs: agencia (required), campos, filtros, paginacao.

imoveis_por_corretorC

Imóveis vinculados a um corretor.

Inputs: corretor (required), campos, filtros, paginacao.

imovel_alterarC

Atualiza dados de um imóvel.

Inputs: dados (required), codigo (required).

imovel_anexosC

Documentos anexos do imóvel.

Inputs: codigo (required).

imovel_cadastrarC

Cadastra um novo imóvel.

Inputs: dados (required).

imovel_cadastrar_documentosC

Adiciona documentos ao imóvel.

Inputs: codigo (required), documentos (required).

imovel_cadastrar_fotosC

Adiciona fotos ao imóvel.

Inputs: fotos (required), codigo (required).

imovel_cadastrar_historicoC

Registra evento no histórico.

Inputs: dados (required), codigo (required).

imovel_cadastrar_proprietarioC

Vincula proprietário ao imóvel.

Inputs: codigo (required), proprietario (required).

imovel_definir_corretorC

Define corretor responsável.

Inputs: codigo (required), corretor (required).

imovel_deletar_videoA

Remove permanentemente um vídeo de um imóvel.

Inputs: codigoVideo (required), codigoImovel (required).

imovel_detalhesC

Informações completas de um imóvel.

Inputs: codigo (required), campos.

imovel_fotosC

Lista de fotos do imóvel.

Inputs: codigo (required).

imovel_historicoC

Histórico de eventos do imóvel.

Inputs: codigo (required).

imovel_informacoesD

Informações resumidas/destacadas.

Inputs: codigo (required).

lead_enviarC

Envia lead de fonte externa.

Inputs: dados (required).

leads_pesquisarC

Busca leads capturados.

Inputs: campos, filtros, paginacao.

pipeline_atualizar_etapaA

Move um negócio para uma nova etapa do funil (ex: visita, proposta).

Inputs: nomeEtapa (required), codigoNegocio (required).

pipeline_camposB

Lista campos disponíveis para perfis de interesse e negócios.

Inputs: no named parameters.

pipeline_listarC

Lista negociações e perfis de interesse no funil de vendas.

Inputs: filtros.

webhook_listarA

Lista webhooks ativos para integração em tempo real.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.4/5.0

    Scored across 42 tools

    Disambiguation4/5

    Tools are grouped by entity and action, making most distinct. However, 'imovel_detalhes' and 'imovel_informacoes' have overlapping purposes (complete vs summarized info), and 'cliente_cadastrar_historico' vs 'cliente_historico' could confuse agents on read vs write.

    Naming Consistency4/5

    Most tools follow entity_action snake_case, but there's inconsistency between singular and plural (e.g., 'imovel_alterar' vs 'imoveis_pesquisar') and 'imoveis_listas' breaks the pattern.

    Tool Count3/5

    42 tools is high for a typical server; while real estate CRM may justify many operations, it feels bloated. The scope could be consolidated.

    Completeness2/5

    CRUD is incomplete: missing delete operations for clients, properties, appointments, and leads. Pipeline lacks create/delete. Webhook only lists. This forces dead ends and workarounds for agents.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A comprehensive Model Context Protocol server for real estate data management that provides tools and resources for property listings, agent management, market analysis, client relationships, and area intelligence.
      72
      AGPL 3.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      A comprehensive MCP server for Bitrix24 CRM integration that enables AI agents to manage contacts, deals, tasks, leads, and companies. It also provides advanced tools for sales team monitoring, performance analytics, and automated CRM search capabilities.
      9 npm
      -
    • A
      license
      A
      quality
      B
      maintenance
      A read-only MCP server providing 56 tools to query Qobrix real-estate CRM data, covering listings, leads, viewings, offers, contracts, analytics, and more, with RESO Data Dictionary alignment and caching support.
      64
      3
      Apache 2.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      A production-grade MCP server enabling Claude to perform comprehensive NJ real estate workflows including property search, valuation, neighborhood intelligence, investment analysis, and agent tools via 20 tools and 15+ data sources.
      -