About HubSpot CRM
HubSpot CRM is an MCP server published by kozo93 in the Search category: manage HubSpot CRM data from your workflows. Create, search, update, and batch-process contacts, companies, deals, products, engagements, emails, calls, meetings, notes, tasks, and associations. Automate sales and marketing operations by managing communication preferences and keeping records accurate at scale.
Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/kozo93/hubspot-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (100)
calls_archiveArchive (delete) a call record
Parameters not published.
calls_batch_archiveArchive (delete) multiple call records in a single request
Parameters not published.
calls_batch_createCreate multiple call records in a single request
Parameters not published.
calls_batch_readRead multiple call records in a single request
Parameters not published.
calls_batch_updateUpdate multiple call records in a single request
Parameters not published.
calls_createCreate a new call record
Parameters not published.
calls_getGet details of a specific call
Parameters not published.
calls_listList all calls with optional filtering
Parameters not published.
calls_searchSearch calls with specific filters
Parameters not published.
calls_updateUpdate an existing call record
Parameters not published.
Show all 100 tools
communications_get_preferencesGet communication preferences for a contact
Parameters not published.
communications_get_subscription_definitionsGet all subscription definitions for the portal
Parameters not published.
communications_get_subscription_statusGet subscription status for multiple contacts
Parameters not published.
communications_subscribe_contactSubscribe a contact to all email communications
Parameters not published.
communications_unsubscribe_contactUnsubscribe a contact from all email communications
Parameters not published.
communications_update_preferencesUpdate communication preferences for a contact
Parameters not published.
communications_update_subscription_statusUpdate subscription status for multiple contacts
Parameters not published.
crm_archive_associationArchive (delete) an association between two objects
Parameters not published.
crm_archive_objectArchive (delete) a CRM object
Parameters not published.
crm_batch_archive_associationsArchive (delete) multiple associations in a single request
Parameters not published.
crm_batch_archive_objectsArchive (delete) multiple CRM objects in a single request
Parameters not published.
crm_batch_create_associationsCreate multiple associations in a single request
Parameters not published.
crm_batch_create_companiesCreate multiple companies in a single request
Parameters not published.
crm_batch_create_contactsCreate multiple contacts in a single request
Parameters not published.
crm_batch_create_leadsCreate multiple leads in a single request
Parameters not published.
crm_batch_create_objectsCreate multiple CRM objects in a single request
Parameters not published.
crm_batch_read_objectsCreate multiple CRM objects in a single request
Parameters not published.
crm_batch_update_companiesUpdate multiple companies in a single request
Parameters not published.
crm_batch_update_contactsUpdate multiple contacts in a single request
Parameters not published.
crm_batch_update_leadsUpdate multiple leads in a single request
Parameters not published.
crm_batch_update_objectsUpdate multiple CRM objects in a single request
Parameters not published.
crm_create_associationCreate an association between two objects
Parameters not published.
crm_create_companyCreate a new company with validated properties
Parameters not published.
crm_create_company_propertyCreate a new company property
Parameters not published.
crm_create_contactCreate a new contact with validated properties
Parameters not published.
crm_create_contact_propertyCreate a new contact property
Parameters not published.
crm_create_leadCreate a new lead with validated properties
Parameters not published.
crm_create_lead_propertyCreate a new lead property
Parameters not published.
crm_create_objectCreate a new CRM object
Parameters not published.
crm_get_associationsGet all associations of a specific type between objects
Parameters not published.
crm_get_companyGet a single company by ID with specific properties and associations
Parameters not published.
crm_get_company_propertiesGet all properties for companies
Parameters not published.
crm_get_contactGet a single contact by ID with specific properties and associations
Parameters not published.
crm_get_contact_propertiesGet all properties for contacts
Parameters not published.
crm_get_leadGet a single lead by ID with specific properties and associations
Parameters not published.
crm_get_lead_propertiesGet all properties for leads
Parameters not published.
crm_get_objectGet a single CRM object by ID
Parameters not published.
crm_list_association_typesList all available association types for a given object type pair
Parameters not published.
crm_list_objectsList CRM objects of a specific type with optional filtering and pagination
Parameters not published.
crm_search_companiesSearch companies with company-specific filters
Parameters not published.
crm_search_contactsSearch contacts with contact-specific filters
Parameters not published.
crm_search_leadsSearch leads with lead-specific filters
Parameters not published.
crm_search_objectsSearch CRM objects using filters
Parameters not published.
crm_update_companyUpdate an existing company with validated properties
Parameters not published.
crm_update_contactUpdate an existing contact with validated properties
Parameters not published.
crm_update_leadUpdate an existing lead with validated properties
Parameters not published.
crm_update_objectUpdate an existing CRM object
Parameters not published.
emails_archiveArchive (delete) an email record
Parameters not published.
emails_batch_archiveArchive (delete) multiple email records in a single request
Parameters not published.
emails_batch_createCreate multiple email records in a single request
Parameters not published.
emails_batch_readRead multiple email records in a single request
Parameters not published.
emails_batch_updateUpdate multiple email records in a single request
Parameters not published.
emails_createCreate a new email record
Parameters not published.
emails_getGet details of a specific email
Parameters not published.
emails_listList all emails with optional filtering
Parameters not published.
emails_searchSearch emails with specific filters
Parameters not published.
emails_updateUpdate an existing email record
Parameters not published.
engagement_details_archiveArchive (delete) an engagement
Parameters not published.
engagement_details_createCreate a new engagement with details
Parameters not published.
engagement_details_getGet details of a specific engagement
Parameters not published.
engagement_details_get_associatedGet all engagements associated with an object
Parameters not published.
engagement_details_listList all engagements with optional filtering
Parameters not published.
engagement_details_updateUpdate an existing engagement
Parameters not published.
meetings_archiveArchive (delete) a meeting
Parameters not published.
meetings_batch_archiveArchive (delete) multiple meetings in a single request
Parameters not published.
meetings_batch_createCreate multiple meetings in a single request
Parameters not published.
meetings_batch_updateUpdate multiple meetings in a single request
Parameters not published.
meetings_createCreate a new meeting
Parameters not published.
meetings_getGet details of a specific meeting
Parameters not published.
meetings_listList all meetings with optional filtering
Parameters not published.
meetings_searchSearch meetings with specific filters
Parameters not published.
meetings_updateUpdate an existing meeting
Parameters not published.
notes_archiveArchive (delete) a note
Parameters not published.
notes_batch_archiveArchive (delete) multiple notes in a single request
Parameters not published.
notes_batch_createCreate multiple notes in a single request
Parameters not published.
notes_batch_readRead multiple notes in a single request
Parameters not published.
notes_batch_updateUpdate multiple notes in a single request
Parameters not published.
notes_createCreate a new note
Parameters not published.
notes_getGet details of a specific note
Parameters not published.
notes_listList all notes with optional filtering
Parameters not published.
notes_searchSearch notes with specific filters
Parameters not published.
notes_updateUpdate an existing note
Parameters not published.
products_archiveMove an Object identified by ID to the recycling bin.
Parameters not published.
products_batch_archiveArchive (delete) a batch of products by ID
Parameters not published.
products_batch_createCreate a batch of products
Parameters not published.
products_batch_readRead a batch of products by internal ID, or unique property values. Retrieve records by the `idProperty` parameter to retrieve records by a custom unique value property.
Parameters not published.
products_batch_updateUpdate a batch of products by internal ID, or unique values specified by the `idProperty` query param.
Parameters not published.
products_createCreate a product with the given properties and return a copy of the object, including the ID.
Parameters not published.
products_listRead a page of products. Control what is returned via the `properties` query param. `after` is the paging cursor token of the last successfully read resource will be returned as the `paging.next.after` JSON property of a paged response containing more results.
Parameters not published.
products_readRead an Object identified by ID
Parameters not published.
Ask AI
Ask AI about HubSpot CRM
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
A Model Context Protocol (MCP) server implementation for the HubSpot API, providing a standardized interface for accessing and managing CRM data.
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 @Koozow/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
- Download the repo:
git clone https://github.com/shinzo-labs/hubspot-mcp.git
- Install packages (inside cloned repo):
pnpm i
- 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
| Variable | Description | Required? | Default |
|---|---|---|---|
HUBSPOT_ACCESS_TOKEN |
Access Token for Hubspot Application | Yes | |
PORT |
Port for Streamable HTTP transport method | No | 3000 |
TELEMETRY_ENABLED |
Enable telemetry | No | true |
Supported Tools
Core CRM Objects
crm_list_objects: List CRM objects with optional filtering and paginationcrm_get_object: Get a single CRM object by IDcrm_create_object: Create a new CRM objectcrm_update_object: Update an existing CRM objectcrm_archive_object: Archive (delete) a CRM objectcrm_search_objects: Search CRM objects using advanced filterscrm_batch_create_objects: Create multiple objects in a single requestcrm_batch_read_objects: Read multipl objects in a single requestcrm_batch_update_objects: Update multiple objects in a single requestcrm_batch_archive_objects: Archive (delete) multiple objects in a single request
Companies
crm_create_company: Create a new company with validated propertiescrm_update_company: Update an existing companycrm_get_company: Get a single company by IDcrm_search_companies: Search companies with specific filterscrm_batch_create_companies: Create multiple companies in a single requestcrm_batch_update_companies: Update multiple companies in a single requestcrm_get_company_properties: Get all available company propertiescrm_create_company_property: Create a new company property
Contacts
crm_create_contact: Create a new contact with validated propertiescrm_update_contact: Update an existing contact's informationcrm_get_contact: Get a single contact by IDcrm_search_contacts: Search contacts with specific filterscrm_batch_create_contacts: Create multiple contacts in a single requestcrm_batch_update_contacts: Update multiple contacts in a single requestcrm_get_contact_properties: Get all available contact propertiescrm_create_contact_property: Create a new contact property
Leads
crm_create_lead: Create a new lead with validated propertiescrm_update_lead: Update an existing lead's informationcrm_get_lead: Get a single lead by IDcrm_search_leads: Search leads with specific filterscrm_batch_create_leads: Create multiple leads in a single requestcrm_batch_update_leads: Update multiple leads in a single requestcrm_get_lead_properties: Get all available lead propertiescrm_create_lead_property: Create a new lead property
Engagement Management
engagement_details_get: Get details of a specific engagementengagement_details_create: Create a new engagementengagement_details_update: Update an existing engagementengagement_details_archive: Archive (delete) an engagementengagement_details_list: List all engagements with filteringengagement_details_get_associated: Get associated engagements
Calls
calls_create: Create a new call recordcalls_get: Get call detailscalls_update: Update a call recordcalls_archive: Archive a callcalls_list: List all callscalls_search: Search callscalls_batch_create: Create multiple callscalls_batch_read: Read multiple callscalls_batch_update: Update multiple callscalls_batch_archive: Archive multiple calls
Emails
emails_create: Create a new email recordemails_get: Get email detailsemails_update: Update an emailemails_archive: Archive an emailemails_list: List all emailsemails_search: Search emailsemails_batch_create: Create multiple emailsemails_batch_read: Read multiple emailsemails_batch_update: Update multiple emailsemails_batch_archive: Archive multiple emails
Meetings
meetings_create: Create a new meetingmeetings_get: Get meeting detailsmeetings_update: Update a meetingmeetings_archive: Archive (delete) a meetingmeetings_list: List all meetingsmeetings_search: Search meetingsmeetings_batch_create: Create multiple meetingsmeetings_batch_update: Update multiple meetingsmeetings_batch_archive: Archive multiple meetings
Notes
notes_create: Create a new notenotes_get: Get note detailsnotes_update: Update a notenotes_archive: Archive a notenotes_list: List all notesnotes_search: Search notesnotes_batch_create: Create multiple notesnotes_batch_read: Read multiple notesnotes_batch_update: Update multiple notesnotes_batch_archive: Archive multiple notes
Tasks
tasks_create: Create a new tasktasks_get: Get task detailstasks_update: Update a tasktasks_archive: Archive a tasktasks_list: List all taskstasks_search: Search taskstasks_batch_create: Create multiple taskstasks_batch_read: Read multiple taskstasks_batch_update: Update multiple taskstasks_batch_archive: Archive multiple tasks
Associations and Relationships
crm_list_association_types: List available association typescrm_get_associations: Get all associations between objectscrm_create_association: Create an associationcrm_archive_association: Archive (delete) an associationcrm_batch_create_associations: Create multiple associationscrm_batch_archive_associations: Archive (delete) multiple associations
Communication Preferences
communications_get_preferences: Get contact preferencescommunications_update_preferences: Update contact preferencescommunications_unsubscribe_contact: Global unsubscribecommunications_subscribe_contact: Global subscribecommunications_get_subscription_definitions: Get subscription definitionscommunications_get_subscription_status: Get status for multiple contactscommunications_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.products_read: Read an Object identified by IDproducts_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 productsproducts_batch_create: Create a batch of productsproducts_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
Contributing
Contributions are welcomed and encouraged! Please read CONTRIBUTING.md for guidelines on issues, contributions, and contact information.
Data Collection and Privacy
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 the Privacy Policy for more details on the types of data collected and how to opt-out of this telemetry.
License
MIT
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.