Enables interaction with HubSpot CRM data, providing tools for managing contacts and companies, creating new entries with duplicate checking, and accessing recent engagement history from the CRM.
HubSpot MCP Server
Overview
A Model Context Protocol (MCP) server implementation that provides integration with HubSpot CRM. This server enables AI models to interact with HubSpot data and operations through a standardized interface.
For more information about the Model Context Protocol and how it works, see Anthropic's MCP documentation.
Components
Resources
The server exposes the following resources:
hubspot://hubspot_contacts
: A dynamic resource that provides access to HubSpot contactshubspot://hubspot_companies
: A dynamic resource that provides access to HubSpot companieshubspot://hubspot_recent_engagements
: A dynamic resource that provides access to HubSpot engagements from the last 3 days
All resources auto-update as their respective objects are modified in HubSpot.
Example Prompts
Create Hubspot contacts by copying from LinkedIn profile webpage:
Create HubSpot contacts and companies from following: John Doe Software Engineer at Tech Corp San Francisco Bay Area • 500+ connections Experience Tech Corp Software Engineer Jan 2020 - Present · 4 yrs San Francisco, California Previous Company Inc. Senior Developer 2018 - 2020 · 2 yrs Education University of California, Berkeley Computer Science, BS 2014 - 2018Get latest activities for your company:
What's happening latestly with my pipeline?
Tools
The server offers several tools for managing HubSpot objects:
Contact Management Tools
hubspot_get_contacts
Retrieve contacts from HubSpot
No input required
Returns: Array of contact objects
hubspot_create_contact
Create a new contact in HubSpot (checks for duplicates before creation)
Input:
firstname
(string): Contact's first namelastname
(string): Contact's last nameemail
(string, optional): Contact's email addressproperties
(dict, optional): Additional contact propertiesExample:
{"phone": "123456789", "company": "HubSpot"}
Behavior:
Checks for existing contacts with the same first name and last name
If
company
is provided in properties, also checks for matches with the same companyReturns existing contact details if a match is found
Creates new contact only if no match is found
Company Management Tools
hubspot_get_companies
Retrieve companies from HubSpot
No input required
Returns: Array of company objects
hubspot_create_company
Create a new company in HubSpot (checks for duplicates before creation)
Input:
name
(string): Company nameproperties
(dict, optional): Additional company propertiesExample:
{"domain": "example.com", "industry": "Technology"}
Behavior:
Checks for existing companies with the same name
Returns existing company details if a match is found
Creates new company only if no match is found
hubspot_get_company_activity
Get activity history for a specific company
Input:
company_id
(string): HubSpot company ID
Returns: Array of activity objects
Engagement Tools
hubspot_get_recent_engagements
Get HubSpot engagements from all companies and contacts from the last 3 days
No input required
Returns: Array of engagement objects with full metadata
Multi-User Support
This MCP server is designed to work with multiple HubSpot users, each with their own access token. The server does not use a global environment variable for the access token.
Instead, each request to the MCP server should include the user's specific access token in one of the following ways:
In the request header:
X-HubSpot-Access-Token: your-token-here
In the request body as
accessToken
:{"accessToken": "your-token-here"}
In the request body as
hubspotAccessToken
:{"hubspotAccessToken": "your-token-here"}
This design allows you to store user tokens in your own backend (e.g., Supabase) and pass them along with each request.
Example Multi-User Integration
Setup
Prerequisites
You'll need a HubSpot access token for each user. You can obtain this by:
Creating a private app in your HubSpot account: Follow the HubSpot Private Apps Guide
Go to your HubSpot account settings
Navigate to Integrations > Private Apps
Click "Create private app"
Fill in the basic information:
Name your app
Add description
Upload logo (optional)
Define required scopes:
oauth (required)
Optional scopes:
crm.dealsplits.read_write
crm.objects.companies.read
crm.objects.companies.write
crm.objects.contacts.read
crm.objects.contacts.write
crm.objects.deals.read
Review and create the app
Copy the generated access token
Note: Keep your access token secure and never commit it to version control.
Docker Installation
You can either build the image locally or pull it from Docker Hub. The image is built for the Linux platform.
Supported Platforms
Linux/amd64
Linux/arm64
Linux/arm/v7
Option 1: Pull from Docker Hub
Option 2: Build Locally
Run the container:
Cross-Platform Publishing
To publish the Docker image for multiple platforms, you can use the docker buildx
command. Follow these steps:
Create a new builder instance (if you haven't already):
docker buildx create --useBuild and push the image for multiple platforms:
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t buryhuang/mcp-hubspot:latest --push .Verify the image is available for the specified platforms:
docker buildx imagetools inspect buryhuang/mcp-hubspot:latest
Usage with Claude Desktop
Installing via Smithery
To install mcp-hubspot for Claude Desktop automatically via Smithery:
Docker Usage
Development
To set up the development environment:
License
This project is licensed under the MIT License.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A server that enables AI models to interact with HubSpot CRM data and operations through a standardized interface, supporting contact and company management with multi-user token-based authentication.
Related MCP Servers
- AsecurityAlicenseAqualityEnables AI models to interact with HubSpot CRM data and operations through a standardized interface, supporting contact and company management.Last updated -103MIT License
- AsecurityAlicenseAqualityEnables AI models to interact with HubSpot CRM data and operations through a standardized interface while providing a centralized shared space for teams to share conversation summaries in real time.
- -securityAlicense-qualityA server implementation that enables AI assistants to interact with HubSpot CRM data, allowing for seamless creation and management of contacts and companies, retrieval of activity history, and access to engagement data through natural language commands.Last updated -47112MIT License
- -securityFlicense-qualityAn auto-generated Multi-Agent Conversation Protocol Server for interacting with HubSpot CMS API, allowing AI agents to manage HubSpot content management system through natural language commands.Last updated -