HubSpot MCP
Acesse e gerencie dados do CRM HubSpot através de uma interface padronizada usando a API do HubSpot.
Documentação
Uma implementação de servidor Model Context Protocol (MCP) para a API do HubSpot, fornecendo uma interface padronizada para acessar e gerenciar dados de CRM.
Recursos
- Cobertura completa da API de CRM do HubSpot
- Suporte para todos os objetos padrão de CRM (empresas, contatos, negócios, etc.)
- Gerenciamento avançado de associações com CRM Associations v4
- Endpoints específicos de empresas com validação de propriedades
- Operações em lote para gerenciamento eficiente de dados
- Recursos avançados de pesquisa e filtragem
- Validação de parâmetros type-safe com Zod
Pré-requisitos
Se você não tiver uma chave de API, siga os passos aqui para obter um token de acesso. O suporte a OAuth está planejado como uma melhoria futura.
Configuração do Cliente
Existem várias opções para configurar seu cliente MCP com o servidor. Para configuração de servidor hospedado/remoto, use a CLI do Smithery com uma Smithery API Key. Para instalação local, use npx ou compile a partir do código-fonte. Cada uma dessas opções é explicada abaixo.
Smithery Remote Server (Recomendado)
Para adicionar um servidor remoto ao seu cliente MCP config.json, execute o seguinte comando a partir da Smithery CLI:
npx -y @smithery/cli install @shinzo-labs/hubspot-mcp
Digite seu HUBSPOT_ACCESS_TOKEN quando solicitado.
Smithery SDK
Se você está desenvolvendo sua própria aplicação de agente, pode usar o código boilerplate aqui.
Instalação Local via NPX
Para instalar o servidor localmente com npx, adicione o seguinte ao seu cliente MCP config.json:
{
"mcpServers": {
"hubspot": {
"command": "npx",
"args": [
"@shinzolabs/hubspot-mcp"
],
"env": {
"HUBSPOT_ACCESS_TOKEN": "your-access-token-here"
}
}
}
}
Compilar a partir do Código-Fonte
- Baixe o repositório:
git clone https://github.com/shinzo-labs/hubspot-mcp.git
- Instale os pacotes (dentro do repositório clonado):
pnpm i
- Adicione o seguinte ao seu cliente MCP
config.json:
{
"mcpServers": {
"hubspot": {
"command": "node",
"args": [
"/path/to/hubspot-mcp/index.js"
],
"env": {
"HUBSPOT_ACCESS_TOKEN": "your-access-token-here"
}
}
}
}
Variáveis de Configuração
| Variável | Descrição | Obrigatória? | Padrão |
|---|---|---|---|
HUBSPOT_ACCESS_TOKEN | Token de acesso para o aplicativo HubSpot | Sim | |
PORT | Porta para o método de transporte HTTP Streamable | Não | 3000 |
TELEMETRY_ENABLED | Habilitar telemetria | Não | true |
Ferramentas Suportadas
Objetos Principais de CRM
crm_list_objects: Listar objetos de CRM com filtragem e paginação opcionaiscrm_get_object: Obter um único objeto de CRM por IDcrm_create_object: Criar um novo objeto de CRMcrm_update_object: Atualizar um objeto de CRM existentecrm_archive_object: Arquivar (excluir) um objeto de CRMcrm_search_objects: Pesquisar objetos de CRM usando filtros avançadoscrm_batch_create_objects: Criar vários objetos em uma única solicitaçãocrm_batch_read_objects: Ler vários objetos em uma única solicitaçãocrm_batch_update_objects: Atualizar vários objetos em uma única solicitaçãocrm_batch_archive_objects: Arquivar (excluir) vários objetos em uma única solicitação
Empresas
crm_create_company: Criar uma nova empresa com propriedades validadascrm_update_company: Atualizar uma empresa existentecrm_get_company: Obter uma única empresa por IDcrm_search_companies: Pesquisar empresas com filtros específicoscrm_batch_create_companies: Criar várias empresas em uma única solicitaçãocrm_batch_update_companies: Atualizar várias empresas em uma única solicitaçãocrm_get_company_properties: Obter todas as propriedades de empresa disponíveiscrm_create_company_property: Criar uma nova propriedade de empresa
Contatos
crm_create_contact: Criar um novo contato com propriedades validadascrm_update_contact: Atualizar as informações de um contato existentecrm_get_contact: Obter um único contato por IDcrm_search_contacts: Pesquisar contatos com filtros específicoscrm_batch_create_contacts: Criar vários contatos em uma única solicitaçãocrm_batch_update_contacts: Atualizar vários contatos em uma única solicitaçãocrm_get_contact_properties: Obter todas as propriedades de contato disponíveiscrm_create_contact_property: Criar uma nova propriedade de contato
Leads
crm_create_lead: Criar um novo lead com propriedades validadascrm_update_lead: Atualizar as informações de um lead existentecrm_get_lead: Obter um único lead por IDcrm_search_leads: Pesquisar leads com filtros específicoscrm_batch_create_leads: Criar vários leads em uma única solicitaçãocrm_batch_update_leads: Atualizar vários leads em uma única solicitaçãocrm_get_lead_properties: Obter todas as propriedades de lead disponíveiscrm_create_lead_property: Criar uma nova propriedade de lead
Gerenciamento de Engajamentos
engagement_details_get: Obter detalhes de um engajamento específicoengagement_details_create: Criar um novo engajamentoengagement_details_update: Atualizar um engajamento existenteengagement_details_archive: Arquivar (excluir) um engajamentoengagement_details_list: Listar todos os engajamentos com filtragemengagement_details_get_associated: Obter engajamentos associados
Chamadas
calls_create: Criar um novo registro de chamadacalls_get: Obter detalhes da chamadacalls_update: Atualizar um registro de chamadacalls_archive: Arquivar uma chamadacalls_list: Listar todas as chamadascalls_search: Pesquisar chamadascalls_batch_create: Criar várias chamadascalls_batch_read: Ler várias chamadascalls_batch_update: Atualizar várias chamadascalls_batch_archive: Arquivar várias chamadas
E-mails
emails_create: Criar um novo registro de e-mailemails_get: Obter detalhes do e-mailemails_update: Atualizar um e-mailemails_archive: Arquivar um e-mailemails_list: Listar todos os e-mailsemails_search: Pesquisar e-mailsemails_batch_create: Criar vários e-mailsemails_batch_read: Ler vários e-mailsemails_batch_update: Atualizar vários e-mailsemails_batch_archive: Arquivar vários e-mails
Reuniões
meetings_create: Criar uma nova reuniãomeetings_get: Obter detalhes da reuniãomeetings_update: Atualizar uma reuniãomeetings_archive: Arquivar (excluir) uma reuniãomeetings_list: Listar todas as reuniõesmeetings_search: Pesquisar reuniõesmeetings_batch_create: Criar várias reuniõesmeetings_batch_update: Atualizar várias reuniõesmeetings_batch_archive: Arquivar várias reuniões
Notas
notes_create: Criar uma nova notanotes_get: Obter detalhes da notanotes_update: Atualizar uma notanotes_archive: Arquivar uma notanotes_list: Listar todas as notasnotes_search: Pesquisar notasnotes_batch_create: Criar várias notasnotes_batch_read: Ler várias notasnotes_batch_update: Atualizar várias notasnotes_batch_archive: Arquivar várias notas
Tarefas
tasks_create: Criar uma nova tarefatasks_get: Obter detalhes da tarefatasks_update: Atualizar uma tarefatasks_archive: Arquivar uma tarefatasks_list: Listar todas as tarefastasks_search: Pesquisar tarefastasks_batch_create: Criar várias tarefastasks_batch_read: Ler várias tarefastasks_batch_update: Atualizar várias tarefastasks_batch_archive: Arquivar várias tarefas
Associações e Relacionamentos
crm_list_association_types: Listar tipos de associação disponíveiscrm_get_associations: Obter todas as associações entre objetoscrm_create_association: Criar uma associaçãocrm_archive_association: Arquivar (excluir) uma associaçãocrm_batch_create_associations: Criar várias associaçõescrm_batch_archive_associations: Arquivar (excluir) várias associações
Preferências de Comunicação
communications_get_preferences: Obter preferências de contatocommunications_update_preferences: Atualizar preferências de contatocommunications_unsubscribe_contact: Cancelar inscrição globalcommunications_subscribe_contact: Inscrever-se globalmentecommunications_get_subscription_definitions: Obter definições de assinaturacommunications_get_subscription_status: Obter status de vários contatoscommunications_update_subscription_status: Atualizar status de vários contatos
Produtos
products_create: Criar um produto com as propriedades fornecidas e retornar uma cópia do objeto, incluindo o ID.products_read: Ler um objeto identificado por IDproducts_update: Realizar uma atualização parcial de um objeto identificado por ID. Propriedades somente leitura e inexistentes resultarão em erro. Os valores das propriedades podem ser limpos passando uma string vazia.products_archive: Mover um objeto identificado por ID para a lixeira.products_list: Ler uma página de produtos. Controle o que é retornado por meio do parâmetro de consultaproperties.afteré o token de cursor de paginação do último recurso lido com sucesso, que será retornado como a propriedade JSONpaging.next.afterde uma resposta paginada contendo mais resultados.products_search: Pesquisar produtosproducts_batch_create: Criar um lote de produtosproducts_batch_read: Ler um lote de produtos por ID interno ou valores de propriedade exclusivos. Recupere registros pelo parâmetroidPropertypara recuperar registros por uma propriedade de valor exclusivo personalizada.products_batch_update: Atualizar um lote de produtos por ID interno ou valores exclusivos especificados pelo parâmetro de consultaidProperty.products_batch_archive: Arquivar um lote de produtos por ID
Contribuindo
Contribuições são bem-vindas e incentivadas! Leia CONTRIBUTING.md para obter diretrizes sobre problemas, contribuições e informações de contato.
Coleta de Dados e Privacidade
A Shinzo Labs coleta telemetria anônima limitada deste servidor para ajudar a melhorar nossos produtos e serviços. Nenhuma informação pessoalmente identificável é coletada como parte desse processo. Revise a Política de Privacidade para obter mais detalhes sobre os tipos de dados coletados e como optar por não participar dessa telemetria.
Licença
MIT