home / mcp / hubspot mcp server
MCP Implementation for HubSpot
Configuration
View docs{
"mcpServers": {
"blacksand-software-hubspot-mcp": {
"command": "npx",
"args": [
"@shinzolabs/hubspot-mcp"
],
"env": {
"HUBSPOT_ACCESS_TOKEN": "your-access-token-here"
}
}
}
}HubSpot MCP provides a standardized, type-safe interface for accessing and managing HubSpot CRM data via the MCP protocol. It supports core CRM objects, associations, search, batch operations, and property management, enabling you to build robust integrations with HubSpot APIs.
You connect to the HubSpot MCP server from your MCP client and then use the available tools to manage CRM data. You can run the server locally or connect to a remote MCP host. Start by configuring one or more MCP server entries in your client, then perform actions such as listing objects, creating or updating companies and contacts, or managing associations and engagements.
Prerequisites: Node.js and npm or pnpm, plus access to HubSpot to obtain an access token.
Option 1: NPX Local Install (start quickly without installing globally) Use this snippet in your MCP client config to run the server with NPX.
{
"mcpServers": {
"hubspot": {
"command": "npx",
"args": [
"@shinzolabs/hubspot-mcp"
],
"env": {
"HUBSPOT_ACCESS_TOKEN": "your-access-token-here"
}
}
}
}Option 2: Build from source (if you want to run from the repository code) Use this snippet in your MCP client config to run the server from a local source build.
{
"mcpServers": {
"hubspot": {
"command": "node",
"args": [
"/path/to/hubspot-mcp/index.js"
],
"env": {
"HUBSPOT_ACCESS_TOKEN": "your-access-token-here"
}
}
}
}Configure the access token for HubSpot in the HUBSPOT_ACCESS_TOKEN environment variable. The server uses this token to authenticate requests to HubSpot. You may also set the port for the transport method if you choose a non-default port.
Example environment variable to set in your runtime environment.
export HUBSPOT_ACCESS_TOKEN=your-access-token-hereThe HubSpot MCP exposes a comprehensive set of operations for CRM data and engagements. Core operations cover listing, retrieving, creating, updating, and deleting CRM objects; search and batch operations; and management of companies, contacts, leads, and engagements. You can also manage CRM associations and communications preferences, as well as product records.
Keep your HUBSPOT_ACCESS_TOKEN secure. Do not commit tokens to source control. Use environment variables or secret stores in production. If you rotate tokens, update the environment values accordingly and restart the MCP server.
If you encounter authentication or permission errors, verify that the HUBSPOT_ACCESS_TOKEN is valid and has the necessary scopes for the HubSpot API. Ensure network access to HubSpot endpoints from the MCP host and confirm that the token is correctly exposed to the running process.
Two common ways to run the HubSpot MCP server are via NPX for quick local testing or by building from source for a custom setup. In both cases, you provide your HubSpot access token and, if needed, adjust the port for connectivity.
The following environment variable is required to run the HubSpot MCP server.
HUBSPOT_ACCESS_TOKEN — Access token for HubSpot application. Use a placeholder like your-access-token-here when configuring the MCP client. Example value: your-access-token-here.
List CRM objects with optional filtering and pagination.
Retrieve a single CRM object by its ID.
Create a new CRM object with validated properties.
Update an existing CRM object.
Delete a CRM object.
Search CRM objects using advanced filters.
Create multiple CRM objects in a single request.
Update multiple CRM objects in a single request.
Delete multiple CRM objects in a single request.
Create a new company with validated properties.
Update an existing company.
Get a single company by ID.
Search companies with specific filters.
Create multiple companies in a single request.
Update multiple companies in a single request.
Get all available company properties.
Create a new company property.
Create a new contact with validated properties.
Update an existing contact's information.
Get a single contact by ID.
Search contacts with specific filters.
Create multiple contacts in a single request.
Update multiple contacts in a single request.
Get all available contact properties.
Create a new contact property.
Create a new lead with validated properties.
Update an existing lead's information.
Get a single lead by ID.
Search leads with specific filters.
Create multiple leads in a single request.
Update multiple leads in a single request.
Get all available lead properties.
Create a new lead property.
Get details of a specific engagement.
Create a new engagement.
Update an existing engagement.
Delete an engagement.
List all engagements with filtering.
Get associated engagements.
Create a new call record.
Get call details.
Update a call record.
Archive a call.
List all calls.
Search calls.
Create multiple calls.
Read multiple calls.
Update multiple calls.
Archive multiple calls.
Create a new email record.
Get email details.
Update an email.
Archive an email.
List all emails.
Search emails.
Create multiple emails.
Read multiple emails.
Update multiple emails.
Archive multiple emails.
Create a new meeting.
Get meeting details.
Update a meeting.
Delete a meeting.
List all meetings.
Search meetings.
Create multiple meetings.
Update multiple meetings.
Archive multiple meetings.
Create a new note.
Get note details.
Update a note.
Archive a note.
List all notes.
Search notes.
Create multiple notes.
Read multiple notes.
Update multiple notes.
Archive multiple notes.
Create a new task.
Get task details.
Update a task.
Archive a task.
List all tasks.
Search tasks.
Create multiple tasks.
Read multiple tasks.
Update multiple tasks.
Archive multiple tasks.
List available association types.
Get all associations between objects.
Create an association.
Delete an association.
Create multiple associations.
Delete multiple associations.
Get contact communication preferences.
Update contact preferences.
Global unsubscribe for a contact.
Global subscribe for a contact.
Get subscription definitions.
Get status for multiple contacts.
Update status for multiple contacts.
Create a product with given properties and return the object with ID.
Read a product by ID.
Partial update of a product by ID; empty values clear properties.
Archive a product by ID.
Read a page of products with paging and properties control.
Search products.
Create a batch of products.
Read a batch of products by ID or unique properties.
Update a batch of products by ID or unique values.
Archive a batch of products.