Propstack MCP Server
Conecte assistentes de IA ao CRM imobiliário Propstack. Pesquise contatos, gerencie imóveis, acompanhe negócios, agende visitas e gerencie todo o seu pipeline imobiliário por meio de linguagem natural. 47 ferramentas que cobrem a API completa do Propstack.
Documentação
Servidor MCP Propstack
Conecte assistentes de IA (Claude, ChatGPT) ao seu CRM imobiliário Propstack.
Conecte assistentes de IA ao seu CRM Propstack — gerencie contatos, pesquise imóveis, mantenha negócios, agende visitas e crie perfis de busca, tudo por voz ou chat.
O que você pode fazer
- Gestão de contatos — pesquise, crie, atualize e adicione tags a contatos com rastreamento de GDPR
- Pesquisa e gestão de imóveis — filtre por preço, cômodos, área, status; crie e atualize anúncios
- Funil de negócios — crie negócios, mova entre etapas, acompanhe taxas de ganho/perda
- Correspondência de compradores — crie perfis de busca a partir de linguagem natural ("3 cômodos em Berlim, até 400 mil, com varanda") e faça correspondência automática com novos anúncios
- Tarefas e calendário — registre notas de chamadas, defina lembretes de acompanhamento, agende visitas
- E-mail — envie e-mails com modelos vinculados a contatos e imóveis
- Visão completa do contato em 360 graus — obtenha um briefing completo antes de cada chamada
- Painéis do funil — contagens e valores de negócios por etapa, alertas de negócios parados
- Captação de leads — fluxo de uma chamada: deduplicação, criação de contato, registro de notas, criação de negócio, definição de lembrete
Proteção de dados (LGPD): O uso deste servidor envia dados pessoais do seu CRM Propstack para o LLM ao qual você se conecta (Claude, ChatGPT, …). Você — o cliente Propstack — permanece como controlador de dados. Consulte Privacidade (LGPD) para responsabilidade, base legal, o parâmetro de minimização de dados
fieldse notas sobre decisões automatizadas.
Início Rápido
1. Defina sua chave de API
export PROPSTACK_API_KEY=your_api_key_here
2a. Claude Desktop
Adicione à configuração do seu Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"propstack": {
"command": "npx",
"args": ["-y", "propstack-mcp-server"],
"env": {
"PROPSTACK_API_KEY": "your_api_key_here"
}
}
}
}
2b. Claude Code (CLI)
Adicione ao .mcp.json do seu projeto:
{
"mcpServers": {
"propstack": {
"command": "npx",
"args": ["-y", "propstack-mcp-server"],
"env": {
"PROPSTACK_API_KEY": "your_api_key_here"
}
}
}
}
2c. ChatGPT
- Vá para Configurações > Conectores > Modo Desenvolvedor
- Adicione um novo conector MCP
- Defina o comando como
npx -y propstack-mcp-server - Adicione a variável de ambiente
PROPSTACK_API_KEY
2d. IDE Cursor
- Abra Configurações (Ctrl+,) → pesquise "MCP"
- Edite o JSON de Servidores MCP, ou adicione
mcp.jsonna raiz do projeto /.cursor/
Opção A — projeto local (após npm run build):
{
"mcpServers": {
"propstack": {
"command": "node",
"args": ["./dist/index.js"],
"cwd": "C:/Users/you/path/to/propstack_mcp",
"env": {
"PROPSTACK_API_KEY": "your_api_key_here"
}
}
}
}
Ou use .env na raiz do projeto — o servidor o carrega automaticamente; você pode omitir o bloco env.
Opção B — npx (pacote publicado ou npx do local):
{
"mcpServers": {
"propstack": {
"command": "npx",
"args": ["-y", "propstack-mcp-server"],
"env": {
"PROPSTACK_API_KEY": "your_api_key_here"
}
}
}
}
2e. Execute diretamente
npm install propstack-mcp-server
PROPSTACK_API_KEY=your_key npx propstack-mcp-server
Chave de API
Obtenha sua chave de API Propstack:
- Faça login em crm.propstack.de
- Vá para Verwaltung > API-Schluessel (Administração > Chaves de API)
- Crie ou copie sua chave de API V1
Nota: A chave de API determina as permissões. Certifique-se de que o acesso de leitura e gravação esteja ativado para os endpoints necessários.
Ferramentas Disponíveis (49)
Contatos
| Ferramenta | Descrição |
|---|---|
search_contacts | Pesquise e filtre contatos por nome, e-mail, telefone, status, tags, corretor, status GDPR, campos personalizados |
get_contact | Obtenha detalhes completos de um único contato com dados relacionados |
create_contact | Crie um novo contato (deduplicação automática por e-mail) |
update_contact | Atualize detalhes do contato, tags, status GDPR, atribuição de corretor |
delete_contact | Exclusão suave de um contato (lixeira de 30 dias) |
get_contact_sources | Liste fontes de leads (ImmoScout24, Site, Indicação, etc.) |
search_contacts_by_phone | Consulte um contato por número de telefone (insensível a formatação) |
Imóveis
| Ferramenta | Descrição |
|---|---|
search_properties | Pesquise imóveis com 11 filtros de intervalo, 17 campos de ordenação, filtros de campos personalizados |
get_property | Obtenha detalhes completos do imóvel, incluindo mídia e campos personalizados |
create_property | Crie um novo anúncio de imóvel |
update_property | Atualize preço, status, descrição, atribuição de corretor |
get_property_statuses | Liste status de imóveis (Disponível, Reservado, Vendido, etc.) |
Tarefas (Tarefas e Notas)
| Ferramenta | Descrição |
|---|---|
create_task | Crie uma nota, tarefa, compromisso ou cancelamento (polimórfico) |
update_task | Marque como concluído, reagende, atualize notas |
get_task | Obtenha detalhes da tarefa com contatos, imóveis e projetos vinculados |
Negócios (Funil)
| Ferramenta | Descrição |
|---|---|
search_deals | Pesquise negócios por etapa, funil, categoria, corretor, pontuação de sentimento |
create_deal | Vincule um contato a um imóvel em uma etapa do funil |
update_deal | Mova negócios pelas etapas do funil, atualize preço/notas |
Perfis de Busca
| Ferramenta | Descrição |
|---|---|
list_search_profiles | Liste o que compradores/inquilinos estão procurando |
create_search_profile | Capture critérios do comprador a partir de linguagem natural |
update_search_profile | Ajuste orçamento, cidades, número de cômodos, recursos |
delete_search_profile | Remova um perfil de busca |
Projetos
| Ferramenta | Descrição |
|---|---|
list_projects | Liste projetos de desenvolvimento com contagens de unidades |
get_project | Obtenha detalhes do projeto com todas as unidades, mídia, documentos |
Atividades e Eventos
| Ferramenta | Descrição |
|---|---|
search_activities | Linha do tempo completa de atividades para um contato, imóvel ou projeto |
list_events | Eventos de calendário — visitas, reuniões, filtrados por data/estado |
E-mails
| Ferramenta | Descrição |
|---|---|
send_email | Envie e-mail usando um modelo Propstack (snippet) |
update_email | Marque como lido/arquivado, categorize, vincule a registros do CRM |
Documentos
| Ferramenta | Descrição |
|---|---|
list_documents | Liste arquivos anexados a um imóvel, projeto ou contato |
upload_document | Envie um documento (URI de dados base64) |
Relacionamentos
| Ferramenta | Descrição |
|---|---|
create_ownership | Vincule um contato como proprietário do imóvel |
create_partnership | Vincule um contato como comprador, inquilino, etc. |
Consultas (Configuração)
| Ferramenta | Descrição |
|---|---|
list_pipelines | Obtenha funis de negócios com etapas (IDs, nomes, posições) |
get_pipeline | Obtenha um único funil com detalhes das etapas |
list_tags | Liste tags/grupos (características) — filtre contatos por IDs de grupo |
create_tag | Crie uma nova tag para contatos, imóveis ou atividades |
list_activity_types | Liste modelos de nota/tarefa/evento para create_task |
list_contact_statuses | Liste status de contatos para pesquisa/atribuição |
list_reservation_reasons | Liste motivos de cancelamento de negócios |
list_custom_fields | Descubra definições de campos personalizados (nomes, tipos, opções) |
list_users | Liste todos os corretores/agentes com informações de contato |
list_teams | Liste equipes/departamentos com atribuições de membros |
list_locations | Liste áreas geográficas para correspondência de localização |
Composições Inteligentes (Fluxos de Trabalho Inteligentes)
| Ferramenta | Descrição |
|---|---|
full_contact_360 | Dossiê completo do contato — informações, perfis de busca, negócios, atividade |
property_performance_report | Dias no mercado, contagem de consultas, detalhamento do funil, resumo de atividades |
pipeline_summary | Negócios por etapa, valores totais, negócios parados que precisam de atenção |
smart_lead_intake | Fluxo completo de leads: deduplicação, criar/atualizar, registrar notas, negócio, lembrete |
match_contacts_to_property | Encontre compradores cujos perfis de busca correspondem a um imóvel |
Administração
| Ferramenta | Descrição |
|---|---|
list_webhooks | Liste todas as assinaturas de webhook configuradas |
create_webhook | Assine eventos do CRM (CLIENT_CREATED, PROPERTY_UPDATED, etc.) |
delete_webhook | Remova uma assinatura de webhook |
get_contact_favorites | Obtenha imóveis que um contato favoritou |
Exemplos de Conversas
Briefing Matinal
Você: O que está na minha agenda hoje?
IA: chama
list_eventscom o intervalo de datas de hoje — Você tem 3 visitas agendadas...
Você: Há novos leads desde ontem?
IA: chama
search_contactscom created_at_from=ontem — 5 novos contatos...
Captação de Leads
Você: Acabei de falar ao telefone com Maria Schmidt, +49 157 1234 5678. Ela está procurando um apartamento de 3 cômodos em Berlim, orçamento de 300-400 mil, precisa ter varanda. Ela nos encontrou no ImmoScout.
IA: chama
smart_lead_intake— Contato criado (ID: 4521), nota de chamada registrada, lembrete de acompanhamento definido para amanhã às 9:00. Gostaria que eu criasse um perfil de busca para os critérios dela?
Correspondência de Imóveis
Você: Temos um novo anúncio: apartamento de 3 cômodos em Charlottenburg, 385.000 EUR. Quem pode ser comprador em potencial?
IA: chama
match_contacts_to_property— 12 perfis de busca correspondentes encontrados. Top 3: Sr. Weber (pontuação 95%), Sra. Müller (pontuação 88%), Sr. Kim (pontuação 85%)...
Revisão do Funil
Você: Como está nosso funil de vendas? Há algum negócio parado?
IA: chama
pipeline_summary— 47 negócios ativos, valor total de 12,3M EUR. 5 negócios não são atualizados há 14+ dias...
Briefing Antes da Chamada
Você: Me dê tudo sobre o contato 3847 — vou ligar agora.
IA: chama
full_contact_360— Sr. Weber, classificação 3 estrelas, procura 3 cômodos em Berlim/Potsdam até 400 mil. 2 negócios ativos, última atividade há 3 dias...
Privacidade (LGPD)
Resumo em português: O uso deste servidor MCP envia dados pessoais do seu CRM Propstack para qualquer LLM ao qual você se conecte. Você (o cliente Propstack) é o controlador de dados (Controlador) nos termos do Art. 4(7) da LGPD — o autor da ferramenta não hospeda nem processa nada. A seção em português abaixo aborda a responsabilidade do controlador, a base legal que seu processamento de LLM precisa, o parâmetro
fieldspara minimização de dados, notas sobre decisões automatizadas paramatch_contacts_to_propertye registro de auditoria. Esses pontos se aplicam a qualquer ferramenta de LLM que lide com dados de clientes; eles são declarados aqui porque são fáceis de ignorar.
Responsabilidade
Esta é uma ferramenta de código aberto. Cada usuário a conecta por meio de sua própria chave de API à sua própria conta Propstack. O servidor é stateless, roda localmente no usuário respectivo e não armazena dados. Nenhum dado é hospedado ou processado pelo autor da ferramenta. O cliente Propstack que utiliza esta ferramenta é o Controlador nos termos do Art. 4, nº 7 da LGPD.
Processamento pelo LLM
Ao usar esta ferramenta, dados pessoais (nomes, endereços, dados de contato e, dependendo da ferramenta, também dados financeiros ou de negócios) são transferidos para o contexto do LLM conectado (Claude, ChatGPT etc.). Isso constitui uma operação de processamento nos termos do Art. 4, nº 2 da LGPD. O controlador precisa disso para:
- uma base legal nos termos do Art. 6 da LGPD,
- uma declaração correspondente em sua própria política de privacidade (obrigações de transparência nos termos dos Arts. 13/14 da LGPD em relação aos titulares dos dados),
- se necessário, um contrato de processamento de dados com o provedor de LLM.
Isso se aplica a qualquer ferramenta baseada em LLM que processe dados de clientes e não é específico deste servidor MCP — no entanto, é explicitamente mencionado aqui porque é fácil ignorar.
Nota sobre decisões automatizadas (match_contacts_to_property)
A ferramenta match_contacts_to_property gera uma pontuação de correspondência (classificação) entre contatos e um imóvel — para apresentação para revisão humana. Ela é projetada como apoio à decisão, não como decisor autônomo: o corretor revisa os resultados e age manualmente. Portanto, o uso não se enquadra no Art. 22 da LGPD (que diz respeito exclusivamente a decisões automatizadas com efeitos legais ou significativamente semelhantes). No entanto, o controlador deve garantir que a ferramenta seja realmente usada dessa forma — ou seja, não integrada a uma abordagem totalmente automatizada sem revisão humana.
Minimização de dados (parâmetro fields)
As ferramentas que retornam dados pessoais em maior volume — search_contacts, search_properties, search_deals e full_contact_360 — suportam um parâmetro opcional fields. Com isso, é possível buscar apenas os campos necessários (por exemplo, ["first_name", "last_name", "email"]). Sem fields, o comportamento permanece inalterado (todos os campos são retornados). Recomenda-se que os controladores utilizem fields para processar apenas os dados necessários para cada finalidade — no sentido de Proteção de dados por design (Art. 25 DSGVO).
Registro de auditoria / Controle de acesso
O registro de acessos e o controle de acesso são de responsabilidade do controlador — por exemplo, por meio do controle de permissões do Propstack (permissões de chave de API) ou por meio de registro em nível de cliente ou sessão. Como o servidor é stateless e roda localmente para cada usuário, esse tipo de registro não está incluído na própria ferramenta.
Desenvolvimento
git clone <repo-url>
cd propstack-mcp-server
npm install
npm run build # tsc → dist/
npm start # requires PROPSTACK_API_KEY
Estrutura do Projeto
src/
index.ts # Server entry point (stdio transport)
propstack-client.ts # HTTP client with auth, retry, error handling
types/
propstack.ts # TypeScript interfaces for all API responses
tools/
helpers.ts # Shared formatting utilities
contacts.ts # 7 contact tools
properties.ts # 5 property tools
tasks.ts # 3 task tools (polymorphic: note/todo/event/cancel)
deals.ts # 3 deal pipeline tools
search-profiles.ts # 4 search profile tools
projects.ts # 2 project tools
activities.ts # 2 activity/event tools
emails.ts # 2 email tools
documents.ts # 2 document tools
relationships.ts # 2 relationship tools (ownership/partnership)
lookups.ts # 8 lookup/config tools
composites.ts # 5 smart composite tools
admin.ts # 5 admin tools (webhooks, export, favorites)
Licença
MIT