home / mcp / hubspot mcp server

HubSpot MCP Server

MCP server exposing HubSpot CRM APIs with object operations, batch actions, associations, and property validation.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "shinzo-labs-hubspot-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@shinzolabs/hubspot-mcp"
      ],
      "env": {
        "PORT": "3000",
        "TELEMETRY_ENABLED": "true",
        "HUBSPOT_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN"
      }
    }
  }
}

This MCP server provides a standardized interface to access and manage HubSpot CRM data. It enables you to perform common CRM operations, manage associations, and run batch actions against companies, contacts, deals, and other CRM entities from a consistent, type-safe API.

How to use

You connect an MCP client to this server to access HubSpot CRM data. You can run the MCP either via a remote HTTP server URL or locally by executing a local MCP process. The server exposes a comprehensive set of tools for CRM objects, companies, contacts, leads, engagements, and more. Use the client’s config to point at the server, supply authentication, and start issuing requests to create, read, update, delete, search, and batch manage HubSpot data.

How to install

Prerequisites you need before installing:
- Node.js (for local runtime) or a compatible runtime for the chosen method
- npm or yarn for package management
- Access token for HubSpot if you plan to authenticate with HubSpot APIs
# 1) Install and run the MCP server locally using NPX
npx -y @shinzolabs/hubspot-mcp

# 2) Or run the build-from-source flow (see dedicated steps below)

Additional setup and start options

Two common ways to run this MCP server locally are shown below. Use the approach that matches your environment and preferences.

# NPX Local Install (recommended for quick experiments)
{
  "mcpServers": {
    "hubspot": {
      "command": "npx",
      "args": [
        "-y",
        "@shinzolabs/hubspot-mcp"
      ],
      "env": {
        "HUBSPOT_ACCESS_TOKEN": "your-access-token-here"
      }
    }
  }
}
# Build from source (clone, install, and run)

Configuration and environment

Configure the MCP client with the following environment variable for HubSpot authentication and an optional port for the TCP transport.

HUBSPOT_ACCESS_TOKEN=your-access-token-here
PORT=3000
TELEMETRY_ENABLED=true

Notes on local runtime commands shown

If you prefer to run from source directly, you can use the following pattern to start the server after building the project.

# Build from source and start (example)
node /path/to/hubspot-mcp/index.js

Available tools

crm_list_objects

List CRM objects with optional filtering and pagination

crm_get_object

Get a single CRM object by ID

crm_create_object

Create a new CRM object

crm_update_object

Update an existing CRM object

crm_archive_object

Archive (delete) a CRM object

crm_search_objects

Search CRM objects using advanced filters

crm_batch_create_objects

Create multiple objects in a single request

crm_batch_read_objects

Read multiple objects in a single request

crm_batch_update_objects

Update multiple objects in a single request

crm_batch_archive_objects

Archive (delete) multiple objects in a single request

crm_create_company

Create a new company with validated properties

crm_update_company

Update an existing company

crm_get_company

Get a single company by ID

crm_search_companies

Search companies with specific filters

crm_batch_create_companies

Create multiple companies in a single request

crm_batch_update_companies

Update multiple companies in a single request

crm_get_company_properties

Get all available company properties

crm_create_company_property

Create a new company property

crm_create_contact

Create a new contact with validated properties

crm_update_contact

Update an existing contact's information

crm_get_contact

Get a single contact by ID

crm_search_contacts

Search contacts with specific filters

crm_batch_create_contacts

Create multiple contacts in a single request

crm_batch_update_contacts

Update multiple contacts in a single request

crm_get_contact_properties

Get all available contact properties

crm_create_contact_property

Create a new contact property