HubSpot MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for Streamable HTTP transport method | 3000 |
| TELEMETRY_ENABLED | No | Enable telemetry | true |
| HUBSPOT_ACCESS_TOKEN | Yes | Access Token for Hubspot Application |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| crm_create_companyC | Create a new company with validated properties |
| crm_update_companyC | Update an existing company with validated properties |
| crm_get_companyC | Get a single company by ID with specific properties and associations |
| crm_search_companiesC | Search companies with company-specific filters |
| crm_batch_create_companiesC | Create multiple companies in a single request |
| crm_batch_update_companiesC | Update multiple companies in a single request |
| crm_get_company_propertiesC | Get all properties for companies |
| crm_create_company_propertyD | Create a new company property |
| crm_list_objectsC | List CRM objects of a specific type with optional filtering and pagination |
| crm_get_objectC | Get a single CRM object by ID |
| crm_create_objectD | Create a new CRM object |
| crm_update_objectC | Update an existing CRM object |
| crm_archive_objectC | Archive (delete) a CRM object |
| crm_search_objectsC | Search CRM objects using filters |
| crm_batch_create_objectsC | Create multiple CRM objects in a single request |
| crm_batch_read_objectsD | Create multiple CRM objects in a single request |
| crm_batch_update_objectsC | Update multiple CRM objects in a single request |
| crm_batch_archive_objectsC | Archive (delete) multiple CRM objects in a single request |
| crm_list_association_typesC | List all available association types for a given object type pair |
| crm_get_associationsC | Get all associations of a specific type between objects |
| crm_create_associationC | Create an association between two objects |
| crm_archive_associationC | Archive (delete) an association between two objects |
| crm_batch_create_associationsC | Create multiple associations in a single request |
| crm_batch_archive_associationsC | Archive (delete) multiple associations in a single request |
| crm_create_contactC | Create a new contact with validated properties |
| crm_update_contactC | Update an existing contact with validated properties |
| crm_get_contactB | Get a single contact by ID with specific properties and associations |
| crm_search_contactsC | Search contacts with contact-specific filters |
| crm_batch_create_contactsC | Create multiple contacts in a single request |
| crm_batch_update_contactsC | Update multiple contacts in a single request |
| crm_get_contact_propertiesC | Get all properties for contacts |
| crm_create_contact_propertyD | Create a new contact property |
| crm_create_leadC | Create a new lead with validated properties |
| crm_update_leadC | Update an existing lead with validated properties |
| crm_get_leadC | Get a single lead by ID with specific properties and associations |
| crm_search_leadsC | Search leads with lead-specific filters |
| crm_batch_create_leadsC | Create multiple leads in a single request |
| crm_batch_update_leadsC | Update multiple leads in a single request |
| crm_get_lead_propertiesC | Get all properties for leads |
| crm_create_lead_propertyD | Create a new lead property |
| meetings_listB | List all meetings with optional filtering |
| meetings_getC | Get details of a specific meeting |
| meetings_createD | Create a new meeting |
| meetings_updateC | Update an existing meeting |
| meetings_archiveC | Archive (delete) a meeting |
| meetings_searchC | Search meetings with specific filters |
| meetings_batch_createC | Create multiple meetings in a single request |
| meetings_batch_updateC | Update multiple meetings in a single request |
| meetings_batch_archiveC | Archive (delete) multiple meetings in a single request |
| notes_createC | Create a new note |
| notes_getC | Get details of a specific note |
| notes_updateD | Update an existing note |
| notes_archiveC | Archive (delete) a note |
| notes_listC | List all notes with optional filtering |
| notes_searchC | Search notes with specific filters |
| notes_batch_createC | Create multiple notes in a single request |
| notes_batch_readC | Read multiple notes in a single request |
| notes_batch_updateC | Update multiple notes in a single request |
| notes_batch_archiveC | Archive (delete) multiple notes in a single request |
| tasks_createD | Create a new task |
| tasks_getC | Get details of a specific task |
| tasks_updateC | Update an existing task |
| tasks_archiveC | Archive (delete) a task |
| tasks_listC | List all tasks with optional filtering |
| tasks_searchD | Search tasks with specific filters |
| tasks_batch_createC | Create multiple tasks in a single request |
| tasks_batch_readC | Read multiple tasks in a single request |
| tasks_batch_updateC | Update multiple tasks in a single request |
| tasks_batch_archiveC | Archive (delete) multiple tasks in a single request |
| engagement_details_getC | Get details of a specific engagement |
| engagement_details_createD | Create a new engagement with details |
| engagement_details_updateC | Update an existing engagement's details |
| engagement_details_listC | List all engagements with optional filtering |
| engagement_details_archiveC | Archive (delete) an engagement |
| engagement_details_get_associatedC | Get all engagements associated with an object |
| calls_createD | Create a new call record |
| calls_getC | Get details of a specific call |
| calls_updateC | Update an existing call record |
| calls_archiveC | Archive (delete) a call record |
| calls_listC | List all calls with optional filtering |
| calls_searchD | Search calls with specific filters |
| calls_batch_createC | Create multiple call records in a single request |
| calls_batch_readC | Read multiple call records in a single request |
| calls_batch_updateC | Update multiple call records in a single request |
| calls_batch_archiveC | Archive (delete) multiple call records in a single request |
| emails_createD | Create a new email record |
| emails_getC | Get details of a specific email |
| emails_updateC | Update an existing email record |
| emails_archiveC | Archive (delete) an email record |
| emails_listC | List all emails with optional filtering |
| emails_searchC | Search emails with specific filters |
| emails_batch_createC | Create multiple email records in a single request |
| emails_batch_readC | Read multiple email records in a single request |
| emails_batch_updateC | Update multiple email records in a single request |
| emails_batch_archiveC | Archive (delete) multiple email records in a single request |
| communications_get_preferencesC | Get communication preferences for a contact |
| communications_update_preferencesC | Update communication preferences for a contact |
| communications_unsubscribe_contactC | Unsubscribe a contact from all email communications |
| communications_subscribe_contactC | Subscribe a contact to all email communications |
| communications_get_subscription_definitionsC | Get all subscription definitions for the portal |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 112 tools
Every tool has a clearly distinct purpose based on resource type (calls, communications, crm, emails, etc.) and action (create, get, list, update, archive, batch operations). The naming structure makes it easy to differentiate between tools, with no ambiguous overlaps in functionality.
Tool names follow a highly consistent pattern throughout: resource_action (e.g., calls_create, crm_get_contact) or resource_batch_action (e.g., emails_batch_update). This verb_noun convention is applied uniformly across all 112 tools, with no deviations in style or structure.
With 112 tools, the count is excessive for an MCP server, even for a comprehensive CRM like HubSpot. This volume will overwhelm agents, making tool selection and management cumbersome, and suggests over-fragmentation of operations that could be consolidated.
The tool set provides complete CRUD and lifecycle coverage across all major HubSpot domains (calls, communications, CRM objects, emails, engagements, meetings, notes, products, tasks). It includes individual and batch operations, search capabilities, and property management, leaving no obvious gaps for agent workflows.