HubSpot MCP

Accede y gestiona datos de HubSpot CRM a través de una interfaz estandarizada utilizando la API de HubSpot.

Documentación

Servidor MCP de HubSpot

NPM Version Stars Forks Smithery Calls NPM Downloads

Una implementación de servidor de Model Context Protocol (MCP) para la API de HubSpot, que proporciona una interfaz estandarizada para acceder y gestionar datos de CRM.

Características

  • Cobertura completa de la API de CRM de HubSpot
  • Soporte para todos los objetos CRM estándar (empresas, contactos, negocios, etc.)
  • Gestión avanzada de asociaciones con CRM Associations v4
  • Endpoints específicos para empresas con validación de propiedades
  • Operaciones por lotes para una gestión eficiente de datos
  • Capacidades avanzadas de búsqueda y filtrado
  • Validación de parámetros con seguridad de tipos mediante Zod

Requisitos previos

Si no tienes una clave de API, sigue los pasos aquí para obtener un token de acceso. El soporte de OAuth está planificado como una mejora futura.

Configuración del cliente

Hay varias opciones para configurar tu cliente MCP con el servidor. Para una configuración de servidor alojado/remoto, usa la CLI de Smithery con una Clave de API de Smithery. Para una instalación local, usa npx o compila desde el código fuente. Cada una de estas opciones se explica a continuación.

Servidor remoto de Smithery (recomendado)

Para añadir un servidor remoto a tu cliente MCP config.json, ejecuta el siguiente comando desde la CLI de Smithery:

npx -y @smithery/cli install @shinzo-labs/hubspot-mcp

Introduce tu HUBSPOT_ACCESS_TOKEN cuando se te solicite.

SDK de Smithery

Si estás desarrollando tu propia aplicación de agente, puedes usar el código de plantilla aquí.

Instalación local con NPX

Para instalar el servidor localmente con npx, añade lo siguiente a tu cliente MCP config.json:

{
  "mcpServers": {
    "hubspot": {
      "command": "npx",
      "args": [
        "@shinzolabs/hubspot-mcp"
      ],
      "env": {
        "HUBSPOT_ACCESS_TOKEN": "your-access-token-here"
      }
    }
  }
}

Compilar desde el código fuente

  1. Descarga el repositorio:
git clone https://github.com/shinzo-labs/hubspot-mcp.git
  1. Instala los paquetes (dentro del repositorio clonado):
pnpm i
  1. Añade lo siguiente a tu cliente MCP config.json:
{
  "mcpServers": {
    "hubspot": {
      "command": "node",
      "args": [
        "/path/to/hubspot-mcp/index.js"
      ],
      "env": {
        "HUBSPOT_ACCESS_TOKEN": "your-access-token-here"
      }
    }
  }
}

Variables de configuración

VariableDescripción¿Obligatoria?Valor predeterminado
HUBSPOT_ACCESS_TOKENToken de acceso para la aplicación de HubSpot
PORT Puerto para el método de transporte HTTP StreamableNo3000
TELEMETRY_ENABLEDHabilitar telemetríaNotrue

Herramientas compatibles

Objetos CRM principales

  • crm_list_objects: Listar objetos CRM con filtrado y paginación opcionales
  • crm_get_object: Obtener un único objeto CRM por ID
  • crm_create_object: Crear un nuevo objeto CRM
  • crm_update_object: Actualizar un objeto CRM existente
  • crm_archive_object: Archivar (eliminar) un objeto CRM
  • crm_search_objects: Buscar objetos CRM usando filtros avanzados
  • crm_batch_create_objects: Crear múltiples objetos en una sola solicitud
  • crm_batch_read_objects: Leer múltiples objetos en una sola solicitud
  • crm_batch_update_objects: Actualizar múltiples objetos en una sola solicitud
  • crm_batch_archive_objects: Archivar (eliminar) múltiples objetos en una sola solicitud

Empresas

  • crm_create_company: Crear una nueva empresa con propiedades validadas
  • crm_update_company: Actualizar una empresa existente
  • crm_get_company: Obtener una única empresa por ID
  • crm_search_companies: Buscar empresas con filtros específicos
  • crm_batch_create_companies: Crear múltiples empresas en una sola solicitud
  • crm_batch_update_companies: Actualizar múltiples empresas en una sola solicitud
  • crm_get_company_properties: Obtener todas las propiedades disponibles de empresas
  • crm_create_company_property: Crear una nueva propiedad de empresa

Contactos

  • crm_create_contact: Crear un nuevo contacto con propiedades validadas
  • crm_update_contact: Actualizar la información de un contacto existente
  • crm_get_contact: Obtener un único contacto por ID
  • crm_search_contacts: Buscar contactos con filtros específicos
  • crm_batch_create_contacts: Crear múltiples contactos en una sola solicitud
  • crm_batch_update_contacts: Actualizar múltiples contactos en una sola solicitud
  • crm_get_contact_properties: Obtener todas las propiedades disponibles de contactos
  • crm_create_contact_property: Crear una nueva propiedad de contacto

Prospectos (Leads)

  • crm_create_lead: Crear un nuevo prospecto con propiedades validadas
  • crm_update_lead: Actualizar la información de un prospecto existente
  • crm_get_lead: Obtener un único prospecto por ID
  • crm_search_leads: Buscar prospectos con filtros específicos
  • crm_batch_create_leads: Crear múltiples prospectos en una sola solicitud
  • crm_batch_update_leads: Actualizar múltiples prospectos en una sola solicitud
  • crm_get_lead_properties: Obtener todas las propiedades disponibles de prospectos
  • crm_create_lead_property: Crear una nueva propiedad de prospecto

Gestión de interacciones (Engagements)

  • engagement_details_get: Obtener detalles de una interacción específica
  • engagement_details_create: Crear una nueva interacción
  • engagement_details_update: Actualizar una interacción existente
  • engagement_details_archive: Archivar (eliminar) una interacción
  • engagement_details_list: Listar todas las interacciones con filtrado
  • engagement_details_get_associated: Obtener interacciones asociadas

Llamadas

  • calls_create: Crear un nuevo registro de llamada
  • calls_get: Obtener detalles de la llamada
  • calls_update: Actualizar un registro de llamada
  • calls_archive: Archivar una llamada
  • calls_list: Listar todas las llamadas
  • calls_search: Buscar llamadas
  • calls_batch_create: Crear múltiples llamadas
  • calls_batch_read: Leer múltiples llamadas
  • calls_batch_update: Actualizar múltiples llamadas
  • calls_batch_archive: Archivar múltiples llamadas

Correos electrónicos

  • emails_create: Crear un nuevo registro de correo electrónico
  • emails_get: Obtener detalles del correo electrónico
  • emails_update: Actualizar un correo electrónico
  • emails_archive: Archivar un correo electrónico
  • emails_list: Listar todos los correos electrónicos
  • emails_search: Buscar correos electrónicos
  • emails_batch_create: Crear múltiples correos electrónicos
  • emails_batch_read: Leer múltiples correos electrónicos
  • emails_batch_update: Actualizar múltiples correos electrónicos
  • emails_batch_archive: Archivar múltiples correos electrónicos

Reuniones

  • meetings_create: Crear una nueva reunión
  • meetings_get: Obtener detalles de la reunión
  • meetings_update: Actualizar una reunión
  • meetings_archive: Archivar (eliminar) una reunión
  • meetings_list: Listar todas las reuniones
  • meetings_search: Buscar reuniones
  • meetings_batch_create: Crear múltiples reuniones
  • meetings_batch_update: Actualizar múltiples reuniones
  • meetings_batch_archive: Archivar múltiples reuniones

Notas

  • notes_create: Crear una nueva nota
  • notes_get: Obtener detalles de la nota
  • notes_update: Actualizar una nota
  • notes_archive: Archivar una nota
  • notes_list: Listar todas las notas
  • notes_search: Buscar notas
  • notes_batch_create: Crear múltiples notas
  • notes_batch_read: Leer múltiples notas
  • notes_batch_update: Actualizar múltiples notas
  • notes_batch_archive: Archivar múltiples notas

Tareas

  • tasks_create: Crear una nueva tarea
  • tasks_get: Obtener detalles de la tarea
  • tasks_update: Actualizar una tarea
  • tasks_archive: Archivar una tarea
  • tasks_list: Listar todas las tareas
  • tasks_search: Buscar tareas
  • tasks_batch_create: Crear múltiples tareas
  • tasks_batch_read: Leer múltiples tareas
  • tasks_batch_update: Actualizar múltiples tareas
  • tasks_batch_archive: Archivar múltiples tareas

Asociaciones y relaciones

  • crm_list_association_types: Listar tipos de asociación disponibles
  • crm_get_associations: Obtener todas las asociaciones entre objetos
  • crm_create_association: Crear una asociación
  • crm_archive_association: Archivar (eliminar) una asociación
  • crm_batch_create_associations: Crear múltiples asociaciones
  • crm_batch_archive_associations: Archivar (eliminar) múltiples asociaciones

Preferencias de comunicación

  • communications_get_preferences: Obtener preferencias de contacto
  • communications_update_preferences: Actualizar preferencias de contacto
  • communications_unsubscribe_contact: Cancelar suscripción global
  • communications_subscribe_contact: Suscribir globalmente
  • communications_get_subscription_definitions: Obtener definiciones de suscripción
  • communications_get_subscription_status: Obtener estado de múltiples contactos
  • communications_update_subscription_status: Actualizar estado de múltiples contactos

Productos

  • products_create: Crear un producto con las propiedades dadas y devolver una copia del objeto, incluido el ID.
  • products_read: Leer un objeto identificado por ID
  • products_update: Realizar una actualización parcial de un objeto identificado por ID. Las propiedades de solo lectura y las inexistentes generarán un error. Los valores de las propiedades se pueden borrar enviando una cadena vacía.
  • products_archive: Mover un objeto identificado por ID a la papelera de reciclaje.
  • products_list: Leer una página de productos. Controla lo que se devuelve mediante el parámetro de consulta properties. after es el token de cursor de paginación del último recurso leído correctamente, que se devolverá como la propiedad JSON paging.next.after de una respuesta paginada que contenga más resultados.
  • products_search: Buscar productos
  • products_batch_create: Crear un lote de productos
  • products_batch_read: Leer un lote de productos por ID interno o valores de propiedades únicos. Recupera registros mediante el parámetro idProperty para recuperar registros por una propiedad de valor único personalizada.
  • products_batch_update: Actualizar un lote de productos por ID interno o valores únicos especificados por el parámetro de consulta idProperty.
  • products_batch_archive: Archivar un lote de productos por ID

Contribuciones

¡Las contribuciones son bienvenidas y alentadas! Por favor, lee CONTRIBUTING.md para conocer las pautas sobre problemas, contribuciones e información de contacto.

Recopilación de datos y privacidad

Shinzo Labs recopila telemetría anónima limitada de este servidor para ayudarnos a mejorar nuestros productos y servicios. No se recopila información personal identificable como parte de este proceso. Revisa la Política de privacidad para obtener más detalles sobre los tipos de datos recopilados y cómo excluirte de esta telemetría.

Licencia

MIT