HubSpot MCP
About
Access and manage HubSpot CRM data through a standardized interface using the HubSpot API.
Explore
Setup
Install HubSpot MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/shinzo-labs/hubspot-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
crm_create_company
Create a new company with validated properties
crm_update_company
Update an existing company with validated properties
crm_get_company
Get a single company by ID with specific properties and associations
crm_search_companies
Search companies with company-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 properties for companies
crm_create_company_property
Create a new company property
crm_list_objects
List CRM objects of a specific type 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_delete_object
Delete a CRM object
crm_search_objects
Search CRM objects using filters
crm_batch_create_objects
Create multiple CRM objects in a single request
crm_batch_update_objects
Update multiple CRM objects in a single request
crm_batch_delete_objects
Delete multiple CRM objects in a single request
crm_list_association_types
List all available association types for a given object type pair
crm_get_associations
Get all associations of a specific type between objects
crm_create_association
Create an association between two objects
crm_delete_association
Delete an association between two objects
crm_batch_create_associations
Create multiple associations in a single request
crm_batch_delete_associations
Delete multiple associations in a single request
crm_create_contact
Create a new contact with validated properties
crm_update_contact
Update an existing contact with validated properties
crm_get_contact
Get a single contact by ID with specific properties and associations
crm_search_contacts
Search contacts with contact-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 properties for contacts
crm_create_contact_property
Create a new contact property
crm_create_lead
Create a new lead with validated properties
crm_update_lead
Update an existing lead with validated properties
crm_get_lead
Get a single lead by ID with specific properties and associations
crm_search_leads
Search leads with lead-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 properties for leads
crm_create_lead_property
Create a new lead property
meetings_list
List all meetings with optional filtering
meetings_get
Get details of a specific meeting
meetings_create
Create a new meeting
meetings_update
Update an existing meeting
meetings_delete
Delete a meeting
meetings_search
Search meetings with specific filters
meetings_batch_create
Create multiple meetings in a single request
meetings_batch_update
Update multiple meetings in a single request
meetings_batch_archive
Archive (delete) multiple meetings in a single request
notes_create
Create a new note
notes_get
Get details of a specific note
notes_update
Update an existing note
notes_archive
Archive (delete) a note
notes_list
List all notes with optional filtering
notes_search
Search notes with specific filters
notes_batch_create
Create multiple notes in a single request
notes_batch_read
Read multiple notes in a single request
notes_batch_update
Update multiple notes in a single request
notes_batch_archive
Archive (delete) multiple notes in a single request
tasks_create
Create a new task
tasks_get
Get details of a specific task
tasks_update
Update an existing task
tasks_archive
Archive (delete) a task
tasks_list
List all tasks with optional filtering
tasks_search
Search tasks with specific filters
tasks_batch_create
Create multiple tasks in a single request
tasks_batch_read
Read multiple tasks in a single request
tasks_batch_update
Update multiple tasks in a single request
tasks_batch_archive
Archive (delete) multiple tasks in a single request
engagement_details_get
Get details of a specific engagement
engagement_details_create
Create a new engagement with details
engagement_details_update
Update an existing engagement's details
engagement_details_list
List all engagements with optional filtering
engagement_details_delete
Delete an engagement
engagement_details_get_associated
Get all engagements associated with an object
calls_create
Create a new call record
calls_get
Get details of a specific call
calls_update
Update an existing call record
calls_archive
Archive (delete) a call record
calls_list
List all calls with optional filtering
calls_search
Search calls with specific filters
calls_batch_create
Create multiple call records in a single request
calls_batch_read
Read multiple call records in a single request
calls_batch_update
Update multiple call records in a single request
calls_batch_archive
Archive (delete) multiple call records in a single request
emails_create
Create a new email record
emails_get
Get details of a specific email
emails_update
Update an existing email record
emails_archive
Archive (delete) an email record
emails_list
List all emails with optional filtering
emails_search
Search emails with specific filters
emails_batch_create
Create multiple email records in a single request
emails_batch_read
Read multiple email records in a single request
emails_batch_update
Update multiple email records in a single request
emails_batch_archive
Archive (delete) multiple email records in a single request
communications_get_preferences
Get communication preferences for a contact
communications_update_preferences
Update communication preferences for a contact
communications_unsubscribe_contact
Unsubscribe a contact from all email communications
communications_subscribe_contact
Subscribe a contact to all email communications
communications_get_subscription_definitions
Get all subscription definitions for the portal
communications_get_subscription_status
Get subscription status for multiple contacts
communications_update_subscription_status
Update subscription status for multiple contacts
- crm_create_company: Create a new company with validated properties
- crm_update_company: Update an existing company with validated properties
- crm_get_company: Get a single company by ID with specific properties and associations
- crm_search_companies: Search companies with company-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 properties for companies
- crm_create_company_property: Create a new company property
- crm_list_objects: List CRM objects of a specific type 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_delete_object: Delete a CRM object
- crm_search_objects: Search CRM objects using filters
- crm_batch_create_objects: Create multiple CRM objects in a single request
- crm_batch_update_objects: Update multiple CRM objects in a single request
- crm_batch_delete_objects: Delete multiple CRM objects in a single request
- crm_list_association_types: List all available association types for a given object type pair
- crm_get_associations: Get all associations of a specific type between objects
- crm_create_association: Create an association between two objects
- crm_delete_association: Delete an association between two objects
- crm_batch_create_associations: Create multiple associations in a single request
- crm_batch_delete_associations: Delete multiple associations in a single request
- crm_create_contact: Create a new contact with validated properties
- crm_update_contact: Update an existing contact with validated properties
- crm_get_contact: Get a single contact by ID with specific properties and associations
- crm_search_contacts: Search contacts with contact-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 properties for contacts
- crm_create_contact_property: Create a new contact property
- crm_create_lead: Create a new lead with validated properties
- crm_update_lead: Update an existing lead with validated properties
- crm_get_lead: Get a single lead by ID with specific properties and associations
- crm_search_leads: Search leads with lead-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 properties for leads
- crm_create_lead_property: Create a new lead property
- meetings_list: List all meetings with optional filtering
- meetings_get: Get details of a specific meeting
- meetings_create: Create a new meeting
- meetings_update: Update an existing meeting
- meetings_delete: Delete a meeting
- meetings_search: Search meetings with specific filters
- meetings_batch_create: Create multiple meetings in a single request
- meetings_batch_update: Update multiple meetings in a single request
- meetings_batch_archive: Archive (delete) multiple meetings in a single request
- notes_create: Create a new note
- notes_get: Get details of a specific note
- notes_update: Update an existing note
- notes_archive: Archive (delete) a note
- notes_list: List all notes with optional filtering
- notes_search: Search notes with specific filters
- notes_batch_create: Create multiple notes in a single request
- notes_batch_read: Read multiple notes in a single request
- notes_batch_update: Update multiple notes in a single request
- notes_batch_archive: Archive (delete) multiple notes in a single request
- tasks_create: Create a new task
- tasks_get: Get details of a specific task
- tasks_update: Update an existing task
- tasks_archive: Archive (delete) a task
- tasks_list: List all tasks with optional filtering
- tasks_search: Search tasks with specific filters
- tasks_batch_create: Create multiple tasks in a single request
- tasks_batch_read: Read multiple tasks in a single request
- tasks_batch_update: Update multiple tasks in a single request
- tasks_batch_archive: Archive (delete) multiple tasks in a single request
- engagement_details_get: Get details of a specific engagement
- engagement_details_create: Create a new engagement with details
- engagement_details_update: Update an existing engagement's details
- engagement_details_list: List all engagements with optional filtering
- engagement_details_delete: Delete an engagement
- engagement_details_get_associated: Get all engagements associated with an object
- calls_create: Create a new call record
- calls_get: Get details of a specific call
- calls_update: Update an existing call record
- calls_archive: Archive (delete) a call record
- calls_list: List all calls with optional filtering
- calls_search: Search calls with specific filters
- calls_batch_create: Create multiple call records in a single request
- calls_batch_read: Read multiple call records in a single request
- calls_batch_update: Update multiple call records in a single request
- calls_batch_archive: Archive (delete) multiple call records in a single request
- emails_create: Create a new email record
- emails_get: Get details of a specific email
- emails_update: Update an existing email record
- emails_archive: Archive (delete) an email record
- emails_list: List all emails with optional filtering
- emails_search: Search emails with specific filters
- emails_batch_create: Create multiple email records in a single request
- emails_batch_read: Read multiple email records in a single request
- emails_batch_update: Update multiple email records in a single request
- emails_batch_archive: Archive (delete) multiple email records in a single request
- communications_get_preferences: Get communication preferences for a contact
- communications_update_preferences: Update communication preferences for a contact
- communications_unsubscribe_contact: Unsubscribe a contact from all email communications
- communications_subscribe_contact: Subscribe a contact to all email communications
- communications_get_subscription_definitions: Get all subscription definitions for the portal
- communications_get_subscription_status: Get subscription status for multiple contacts
- communications_update_subscription_status: Update subscription status for multiple contacts
AModel Context Protocol (MCP)server implementation for theHubSpotAPI, providing a standardized interface for accessing and managing CRM data.
- 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 withZod
If you don't have an API key, follow the stepshereto obtain an access token. OAuth support is planned as a future enhancement.
There are several options to configure your MCP client with the server. For hosted/remote server setup, use Smithery's CLI with aSmithery API Key. For local installation, usenpxor build from source. Each of these options is explained below.
To add a remote server to your MCP clientconfig.json, run the following command fromSmithery CLI:
npx -y @smithery/cli install @shinzo-labs/hubspot-mcp
Enter yourHUBSPOT_ACCESS_TOKENwhen prompted.
If you are developing your own agent application, you can use the boilerplate codehere.
To install the server locally withnpx, add the following to your MCP clientconfig.json:
{ "mcpServers": { "hubspot": { "command": "npx", "args": [ "@shinzolabs/hubspot-mcp" ], "env": { "HUBSPOT_ACCESS_TOKEN": "your-access-token-here" } } } }
git clone https://github.com/shinzo-labs/hubspot-mcp.git
- Add the following to your MCP clientconfig.json:
{ "mcpServers": { "hubspot": { "command": "node", "args": [ "/path/to/hubspot-mcp/index.js" ], "env": { "HUBSPOT_ACCESS_TOKEN": "your-access-token-here" } } } }
- 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
- 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
- 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_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_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_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_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_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_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
- 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
- products_create: Create a product with the given properties and return a copy of the object, including the ID.
- products_read: Read an Object identified by ID
- products_update: Perform a partial update of an Object identified by ID. Read-only and non-existent properties will result in an error. Properties values can be cleared by passing an empty string.
- products_archive: Move an Object identified by ID to the recycling bin.
- products_list: Read a page of products. Control what is returned via thepropertiesquery param.afteris the paging cursor token of the last successfully read resource will be returned as thepaging.next.afterJSON property of a paged response containing more results.
- products_search: Search products
- products_batch_create: Create a batch of products
- products_batch_read: Read a batch of products by internal ID, or unique property values. Retrieve records by theidPropertyparameter to retrieve records by a custom unique value property.
- products_batch_update: Update a batch of products by internal ID, or unique values specified by theidPropertyquery param.
- products_batch_archive: Archive a batch of products by ID
Contributions are welcomed and encouraged! Please readCONTRIBUTING.mdfor guidelines on issues, contributions, and contact information.
Shinzo Labs collects limited anonymous telemetry from this server to help improve our products and services. No personally identifiable information is collected as part of this process. Please review thePrivacy Policyfor more details on the types of data collected and how to opt-out of this telemetry.
Integrate with HubSpot CRM to manage contacts, deals, and companies.
Find buyers and book more meetings without your AI Assistant
Customer Intelligence & Segmentation
Find Which next customer to call and how much will be worth it
Tomba, your unique B2B email finder and verifier, provides a distinctive lead database for effortless and effective outreach scaling.
Built for the next generation of intelligent experiences, ActiveCampaign's remote MCP server makes it easy for AI agents to understand, store, and use customer context across tools, channels, and workflows.
Interact with data in Attio, the AI-native CRM, enabling AI assistants to access and manage your customer relationship information.
Interact with Microsoft Dynamics 365 for customer relationship management.
Interact with the HubSpot CRM API for sales analysis and insights.
The CRM built for agents — fully hosted remote MCP server with OAuth.
Control Reply.io sequences and contacts directly from your AI model. Manage outreach, pull stats, and enroll prospects — without leaving your AI chat.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



