home / mcp / hubspot mcp server
MCP Implementation for HubSpot
Configuration
View docs{
"mcpServers": {
"kozo93-hubspot-mcp": {
"command": "npx",
"args": [
"-y",
"@shinzolabs/hubspot-mcp"
],
"env": {
"PORT": "3000",
"TELEMETRY_ENABLED": "true",
"HUBSPOT_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN"
}
}
}
}You have a Model Context Protocol (MCP) server that enables you to access and manage HubSpot CRM data through a standardized, type-safe interface. It covers core CRM objects, supports advanced associations, and offers batch operations to streamline data management with HubSpot.
Install and run the HubSpot MCP Server locally or connect to a remote instance from your MCP client. You’ll authenticate with a HubSpot access token and then perform CRM operations such as listing, creating, updating, and archiving companies, contacts, leads, engagements, tasks, notes, calls, emails, meetings, products, and more. Use the server to perform batch operations, complex searches, and property-validated writes against HubSpot resources.
Prerequisites: you need Node.js installed on your system. You can install and run the MCP server in two main ways: using an NPX local install or running the server from source.
{
"mcpServers": {
"hubspot": {
"command": "npx",
"args": [
"@shinzolabs/hubspot-mcp"
],
"env": {
"HUBSPOT_ACCESS_TOKEN": "your-access-token-here"
}
}
}
}If you prefer to build from source, clone the repository, install dependencies, and configure the MCP client to start the server from a local index.js entry point.
# 1) Clone the repository
git clone https://github.com/shinzo-labs/hubspot-mcp.git
# 2) Install dependencies
pnpm i
# 3) Start the server using the local entry point
# This example assumes the runtime will run index.js from the given path
# and that HUBSPOT_ACCESS_TOKEN is provided in the environment
"{"mcpServers": {"hubspot": {"command": "node", "args": ["/path/to/hubspot-mcp/index.js"], "env": {"HUBSPOT_ACCESS_TOKEN": "your-access-token-here"}}} }"Configure your MCP client to use the local server or a remote instance. For a local runtime, ensure the environment includes HUBSPOT_ACCESS_TOKEN and that the port is accessible if you enable the HTTP transport. You can also run a remote instance via Smithery if you want a hosted MCP server for HubSpot.
The server requires an access token for HubSpot access. Keep your HUBSPOT_ACCESS_TOKEN secure and avoid embedding it in public sources. You can adjust telemetry with TELEMETRY_ENABLED if you need to opt out or opt into telemetry collection.
If you encounter authentication errors, verify that HUBSPOT_ACCESS_TOKEN is correct and has the necessary HubSpot scopes. Check that the MCP server process has access to network routes to HubSpot APIs and that the server is running on the expected port when using the HTTP transport.
List CRM objects with optional filtering and pagination
Get a single CRM object by ID
Create a new CRM object
Update an existing CRM object
Archive (delete) a CRM object
Search CRM objects using advanced filters
Create multiple objects in a single request
Read multiple objects in a single request
Update multiple objects in a single request
Archive (delete) multiple objects
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
Archive (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
Archive 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
Archive (delete) an association
Create multiple associations
Archive (delete) multiple associations
Get contact preferences
Update contact preferences
Global unsubscribe
Global subscribe
Get subscription definitions
Get status for multiple contacts
Update status for multiple contacts
Create a product with the given properties and return a copy of the object, including the ID.
Read an Object identified by ID
Partial update of an Object identified by ID; empty values clear properties; read-only/non-existent properties error.
Move an Object identified by ID to the recycling bin.
Read a page of products with paging controlled by the properties query parameter.
Search products
Create a batch of products
Read a batch of products by internal ID or unique values
Update a batch of products by internal ID or unique values