HubSpot MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HUBSPOT_ACCESS_TOKEN | Yes | Your HubSpot private app access token |
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
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hubspot_create_contactC | Create a new contact in HubSpot. |
| hubspot_get_contactC | Get a contact by ID from HubSpot. |
| hubspot_list_contactsB | List contacts from HubSpot with pagination. |
| hubspot_search_contactsA | Search contacts in HubSpot by email, name, or other properties. Supports advanced filtering with multiple operators. |
| hubspot_update_contactA | Update a contact's properties in HubSpot. |
| hubspot_delete_contactB | Archive (soft delete) a contact in HubSpot. |
| hubspot_batch_create_contactsB | Create multiple contacts at once (max 100). |
| hubspot_batch_update_contactsB | Update multiple contacts at once (max 100). |
| hubspot_create_companyB | Create a new company in HubSpot. |
| hubspot_get_companyC | Get a company by ID from HubSpot. |
| hubspot_list_companiesB | List companies from HubSpot with pagination. |
| hubspot_search_companiesC | Search companies in HubSpot by name, domain, or other properties. Supports advanced filtering with multiple operators. |
| hubspot_update_companyB | Update a company's properties in HubSpot. |
| hubspot_delete_companyC | Archive (soft delete) a company in HubSpot. |
| hubspot_batch_create_companiesB | Create multiple companies at once (max 100). |
| hubspot_batch_update_companiesB | Update multiple companies at once (max 100). |
| hubspot_create_dealA | Create a new deal in HubSpot. Use hubspot_get_pipelines to see available pipelines and stages. |
| hubspot_get_dealB | Get a deal by ID from HubSpot. |
| hubspot_list_dealsC | List deals from HubSpot with pagination. |
| hubspot_search_dealsB | Search deals in HubSpot by name, stage, amount, or other properties. Supports advanced filtering with multiple operators. |
| hubspot_update_dealC | Update a deal's properties in HubSpot. |
| hubspot_delete_dealB | Archive (soft delete) a deal in HubSpot. |
| hubspot_batch_create_dealsB | Create multiple deals at once (max 100). |
| hubspot_batch_update_dealsA | Update multiple deals at once (max 100). |
| hubspot_create_ticketA | Create a new ticket in HubSpot. Use hubspot_get_pipelines with objectType='tickets' to see available pipelines and stages. |
| hubspot_get_ticketA | Get a ticket by ID from HubSpot. |
| hubspot_list_ticketsC | List tickets from HubSpot with pagination. |
| hubspot_search_ticketsA | Search tickets in HubSpot by subject, status, or other properties. Supports advanced filtering with multiple operators. |
| hubspot_update_ticketB | Update a ticket's properties in HubSpot. |
| hubspot_delete_ticketB | Archive (soft delete) a ticket in HubSpot. |
| hubspot_batch_create_ticketsA | Create multiple tickets at once (max 100). |
| hubspot_batch_update_ticketsB | Update multiple tickets at once (max 100). |
| hubspot_create_noteA | Create a note and optionally associate it with a HubSpot object (contact, company, deal, or ticket). |
| hubspot_get_noteB | Get a specific note by its ID. |
| hubspot_get_object_notesC | Get notes associated with a HubSpot object (contact, company, deal, or ticket). |
| hubspot_list_notesC | List all notes in HubSpot with pagination. |
| hubspot_update_noteC | Update a note's content or properties. |
| hubspot_delete_noteA | Archive (soft delete) a note in HubSpot. |
| hubspot_search_notesC | Search notes in HubSpot by content or properties. |
| hubspot_create_callB | Create a call engagement in HubSpot and optionally associate it with a CRM object. |
| hubspot_get_callB | Get a specific call engagement by its ID. |
| hubspot_list_callsC | List call engagements in HubSpot with pagination. |
| hubspot_update_callC | Update a call engagement's properties. |
| hubspot_delete_callB | Archive (soft delete) a call engagement in HubSpot. |
| hubspot_search_callsC | Search call engagements in HubSpot. |
| hubspot_create_emailC | Create an email engagement in HubSpot and optionally associate it with a CRM object. |
| hubspot_get_email_engagementB | Get a specific email engagement by its ID. |
| hubspot_list_email_engagementsC | List email engagements in HubSpot with pagination. |
| hubspot_update_email_engagementC | Update an email engagement's properties. |
| hubspot_delete_email_engagementA | Archive (soft delete) an email engagement in HubSpot. |
| hubspot_search_email_engagementsD | Search email engagements in HubSpot. |
| hubspot_create_meetingB | Create a meeting engagement in HubSpot and optionally associate it with a CRM object. |
| hubspot_get_meetingA | Get a specific meeting engagement by its ID. |
| hubspot_list_meetingsC | List meeting engagements in HubSpot with pagination. |
| hubspot_update_meetingC | Update a meeting engagement's properties. |
| hubspot_delete_meetingB | Archive (soft delete) a meeting engagement in HubSpot. |
| hubspot_search_meetingsC | Search meeting engagements in HubSpot. |
| hubspot_create_taskB | Create a task in HubSpot and optionally associate it with a CRM object. |
| hubspot_get_taskB | Get a specific task by its ID. |
| hubspot_list_tasksC | List tasks in HubSpot with pagination. |
| hubspot_update_taskC | Update a task's properties. |
| hubspot_delete_taskB | Archive (soft delete) a task in HubSpot. |
| hubspot_search_tasksD | Search tasks in HubSpot. |
| hubspot_list_workflowsB | List all automation workflows in HubSpot. |
| hubspot_get_workflowA | Get details of a specific HubSpot workflow by ID. |
| hubspot_enroll_contact_in_workflowB | Enroll a contact (by email address) into a HubSpot workflow. |
| hubspot_unenroll_contact_from_workflowA | Unenroll a contact (by email address) from a HubSpot workflow. |
| hubspot_get_workflow_enrollmentsC | Get contacts currently enrolled in a HubSpot workflow. |
| hubspot_get_association_typesA | Get all available association types between two HubSpot object types. Use this to discover valid associationTypeId values for creating associations. |
| hubspot_create_associationA | Create an association between two HubSpot objects. Use hubspot_get_association_types to discover valid association type IDs. |
| hubspot_get_associationsB | Get all associations for a HubSpot object to another object type. |
| hubspot_delete_associationB | Remove an association between two HubSpot objects. |
| hubspot_batch_create_associationsC | Create multiple associations at once between objects of the same types. |
| hubspot_get_propertiesA | Get all available properties for a HubSpot object type. Use this to discover what fields can be used when creating, updating, or searching objects. |
| hubspot_get_propertyA | Get detailed information about a specific property including its options, validation rules, and metadata. |
| hubspot_get_property_groupsA | Get all property groups for a HubSpot object type. Property groups organize properties into logical sections. |
| hubspot_get_pipelinesA | Get all pipelines for deals or tickets. Pipelines define the stages that records move through. |
| hubspot_get_pipelineB | Get detailed information about a specific pipeline including all its stages. |
| hubspot_get_pipeline_stagesA | Get all stages for a specific pipeline. Use this to see valid stage values for deals or tickets. |
| hubspot_get_pipeline_stageB | Get detailed information about a specific pipeline stage. |
| hubspot_list_ownersA | List all HubSpot owners (users) in the account. Use this to find owner IDs for assigning contacts, companies, deals, or tickets. |
| hubspot_get_ownerB | Get detailed information about a specific HubSpot owner by their ID. |
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 82 tools
Every tool targets a distinct object (contact, company, deal, ticket, note, call, email, meeting, task, workflow, association, property, pipeline, owner) and action (create, read, update, delete, list, search, batch). Even similar operations like 'list' vs 'search' are clearly separated. No ambiguity between tools.
All tools follow a consistent 'hubspot_verb_noun' pattern (e.g., hubspot_create_contact, hubspot_search_deals, hubspot_delete_company). The convention is uniform across all 82 tools, making it predictable for agents. No mixing of styles like camelCase or underscores variations.
82 tools is high for a single server. While HubSpot has a broad API, the tool set could be split into focused servers (e.g., CRM objects, engagements, settings). Some objects have 7-10 tools each, leading to redundancy. The count is borderline appropriate but leans toward excessive.
The tool set comprehensively covers core HubSpot CRM objects (contacts, companies, deals, tickets, notes, calls, emails, meetings, tasks) with full CRUD, search, batch operations, associations, workflows, properties, pipelines, and owners. No significant gaps for typical CRM workflows. Associations and property discovery tools enhance completeness.