MCP Vista CRM Loft
Enterprise-level MCP server integrating with Vista CRM (Loft Edition) for real estate operations, offering 40+ tools for property search, pipeline management, lead capture, and agenda control.
README
MCP Server - Vista CRM Loft 🏠🚀
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_avancadae filtros dinâmicos viaimovel_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
PayloadOptimizerque 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
stderrpara 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]
🚀 Instalação e Setup
Pré-requisitos
- Node.js 18.x ou superior.
- NPM ou Yarn.
- Chave de API da Vista Software.
Passo a Passo
-
Clone o repositório:
git clone https://github.com/fabiohsan-dev/mcp-vista-loft.git cd mcp-vista-loft -
Instalação e Build:
npm install npm run build -
Configuração de Ambiente: Crie um arquivo
.envna 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
pushnamainou via disparo manual (workflow_dispatch). - Utiliza o ambiente
productiondo GitHub para proteção de segredos.
- Configurado para rodar em
🛡️ Configuração de Secrets no GitHub
Para que o pipeline de integração funcione, você deve adicionar os seguintes Secrets no seu repositório:
VISTA_URL_SANDBOX: URL da sandbox (ex:http://sandbox-rest.vistahost.com.br).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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.