Connects to HubSpot CRM API to manage companies, contacts, deals, and other CRM objects through natural language commands. Lets sales teams query and update CRM data without switching applications.

Integrates with HubSpot CRM API for managing companies, contacts, deals, and other CRM objects through natural language, enabling sales teams to query, create, and update records without leaving their assistant interface.

30470 views24Local (stdio)

What it does

  • Query HubSpot companies, contacts, and deals
  • Create new CRM records
  • Update existing CRM objects
  • Manage associations between CRM entities
  • Perform batch operations on CRM data
  • Search and filter CRM records

Best for

Sales teams managing CRM dataCustomer service reps accessing contact informationMarketing teams querying lead dataCRM administrators updating records
Complete HubSpot CRM API coverageBatch operations supportAdvanced association management

About HubSpot

HubSpot is a community-built MCP server published by shinzo-labs that provides AI assistants with tools and capabilities via the Model Context Protocol. Seamlessly manage your HubSpot CRM system: query, create, and update records through natural language with full HubSpot It is categorized under productivity, developer tools.

How to install

You can install HubSpot in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

HubSpot is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

HubSpot MCP Server

NPM Version Stars Forks Smithery Calls NPM Downloads

A Model Context Protocol (MCP) server implementation for the HubSpot API, providing a standardized interface for accessing and managing CRM data.

README image

Features

  • Complete coverage of the HubSpot CRM API
  • Support for all standard CRM objects (companies, contacts, deals, etc.)
  • Advanced association management with CRM Associations v4
  • Company-specific endpoints with property validation
  • Batch operations for efficient data management
  • Advanced search and filtering capabilities
  • Type-safe parameter validation with Zod

Prerequisites

If you don't have an API key, follow the steps here to obtain an access token. OAuth support is planned as a future enhancement.

Client Configuration

There are several options to configure your MCP client with the server. For hosted/remote server setup, use Smithery's CLI with a Smithery API Key. For local installation, use npx or build from source. Each of these options is explained below.

Smithery Remote Server (Recommended)

To add a remote server to your MCP client config.json, run the following command from Smithery CLI:

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

Enter your HUBSPOT_ACCESS_TOKEN when prompted.

Smithery SDK

If you are developing your own agent application, you can use the boilerplate code here.

NPX Local Install

To install the server locally with npx, add the following to your MCP client config.json:

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

Build from Source

  1. Download the repo:
git clone https://github.com/shinzo-labs/hubspot-mcp.git
  1. Install packages (inside cloned repo):
pnpm i
  1. Add the following to your MCP client config.json:
{
  "mcpServers": {
    "hubspot": {
      "command": "node",
      "args": [
        "/path/to/hubspot-mcp/index.js"
      ],
      "env": {
        "HUBSPOT_ACCESS_TOKEN": "your-access-token-here"
      }
    }
  }
}

Config Variables

VariableDescriptionRequired?Default
HUBSPOT_ACCESS_TOKENAccess Token for Hubspot ApplicationYes
PORT Port for Streamable HTTP transport methodNo3000
TELEMETRY_ENABLEDEnable telemetryNotrue

Supported Tools

Core CRM Objects

  • 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 multipl 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

Companies

  • 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

Contacts

  • 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

Leads

  • crm_create_lead: Create a new lead with validated properties
  • crm_update_lead: Update an existing lead's information
  • crm_get_lead: Get a single lead by ID
  • crm_search_leads: Search leads with specific filters
  • crm_batch_create_leads: Create multiple leads in a single request
  • crm_batch_update_leads: Update multiple leads in a single request
  • crm_get_lead_properties: Get all available lead properties
  • crm_create_lead_property: Create a new lead property

Engagement Management

  • engagement_details_get: Get details of a specific engagement
  • engagement_details_create: Create a new engagement
  • engagement_details_update: Update an existing engagement
  • engagement_details_archive: Archive (delete) an engagement
  • engagement_details_list: List all engagements with filtering
  • engagement_details_get_associated: Get associated engagements

Calls

  • calls_create: Create a new call record
  • calls_get: Get call details
  • calls_update: Update a call record
  • calls_archive: Archive a call
  • calls_list: List all calls
  • calls_search: Search calls
  • calls_batch_create: Create multiple calls
  • calls_batch_read: Read multiple calls
  • calls_batch_update: Update multiple calls
  • calls_batch_archive: Archive multiple calls

Emails

  • emails_create: Create a new email record
  • emails_get: Get email details
  • emails_update: Update an email
  • emails_archive: Archive an email
  • emails_list: List all emails
  • emails_search: Search emails
  • emails_batch_create: Create multiple emails
  • emails_batch_read: Read multiple emails
  • emails_batch_update: Update multiple emails
  • emails_batch_archive: Archive multiple emails

Meetings

  • meetings_create: Create a new meeting
  • meetings_get: Get meeting details
  • meetings_update: Update a meeting
  • meetings_archive: Archive (delete) a meeting
  • meetings_list: List all meetings
  • meetings_search: Search meetings
  • meetings_batch_create: Create multiple meetings
  • meetings_batch_update: Update multiple meetings
  • meetings_batch_archive: Archive multiple meetings

Notes

  • notes_create: Create a new note
  • notes_get: Get note details
  • notes_update: Update a note
  • notes_archive: Archive a note
  • notes_list: List all notes
  • notes_search: Search notes
  • notes_batch_create: Create multiple notes
  • notes_batch_read: Read multiple notes
  • notes_batch_update: Update multiple notes
  • notes_batch_archive: Archive multiple notes

Tasks

  • tasks_create: Create a new task
  • tasks_get: Get task details
  • tasks_update: Update a task
  • tasks_archive: Archive a task
  • tasks_list: List all tasks
  • tasks_search: Search tasks
  • tasks_batch_create: Create multiple tasks
  • tasks_batch_read: Read multiple tasks
  • tasks_batch_update: Update multiple tasks
  • tasks_batch_archive: Archive multiple tasks

Associations and Relationships

  • crm_list_association_types: List available association types
  • crm_get_associations: Get all associations between objects
  • crm_create_association: Create an association
  • crm_archive_association: Archive (delete) an association
  • crm_batch_create_associations: Create multiple associations
  • crm_batch_archive_associations: Archive (delete) multiple associations

Communication Preferences

  • communications_get_preferences: Get contact preferences
  • communications_update_preferences: Update contact preferences
  • communications_unsubscribe_contact: Global unsubscribe
  • communications_subscribe_contact: Global subscribe
  • communications_get_subscription_definitions: Get subscription definitions
  • communications_get_subscription_status: Get status for multiple contacts
  • communications_update_subscription_status: Update status for multiple contacts

Products

  • products_create: Create a product with the given properties and return a copy of the object, including the ID.

README truncated. View full README on GitHub.

Alternatives

Related Skills

Browse all skills
ui-design-system

UI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use for creating design systems, maintaining visual consistency, and facilitating design-dev collaboration.

6
cli-builder

Guide for building TypeScript CLIs with Bun. Use when creating command-line tools, adding subcommands to existing CLIs, or building developer tooling. Covers argument parsing, subcommand patterns, output formatting, and distribution.

2
chief-architect

PERSONAL APP ARCHITECT - Strategic development orchestrator for personal productivity applications. Analyzes project context, makes architectural decisions for single-developer projects, delegates to specialized skills, and ensures alignment between user experience goals and technical implementation. Optimized for personal apps targeting 10-100 users.

0
openai-knowledge

Use when working with the OpenAI API (Responses API) or OpenAI platform features (tools, streaming, Realtime API, auth, models, rate limits, MCP) and you need authoritative, up-to-date documentation (schemas, examples, limits, edge cases). Prefer the OpenAI Developer Documentation MCP server tools when available; otherwise guide the user to enable `openaiDeveloperDocs`.

0
api-documenter

Master API documentation with OpenAPI 3.1, AI-powered tools, and modern developer experience practices. Create interactive docs, generate SDKs, and build comprehensive developer portals. Use PROACTIVELY for API documentation or developer portal creation.

0
ydc-ai-sdk-integration

Integrate Vercel AI SDK applications with You.com tools (web search, AI agent, content extraction). Use when developer mentions AI SDK, Vercel AI SDK, generateText, streamText, or You.com integration with AI SDK.

0