HubSpot MCP Extended
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Set logging verbosity | info |
| HUBSPOT_ACCESS_TOKEN | Yes | Your HubSpot API 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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| post-crm-v3-objects-objtype-batch-read_readA | Read a batch of objects by internal ID, or unique property values. REQUIRES body parameter with object IDs and properties to retrieve. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}], properties: ["firstname", "lastname", "email"], propertiesWithHistory: []}} |
| get-crm-v3-objects-objtype-objid_objidD | Read |
| delete-crm-v3-objects-objtype-objid_objidD | Archive |
| patch-crm-v3-objects-objtype-objid_objidC | Update. REQUIRES body parameter with properties to update. Example: {body: {properties: {"firstname": "Updated Name", "email": "newemail@example.com"}}} |
| post-crm-v3-objects-objtype-merge_mergeC | Merge two objects with same type. REQUIRES body parameter with object properties. Example for companies: {body: {properties: {"name": "Company Name", "domain": "example.com", "industry": "COMPUTER_SOFTWARE"}}} |
| post-crm-v3-objects-objtype-batch-archive_archiveA | Archive a batch of objects by ID. REQUIRES body parameter with object IDs to archive. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}]}} |
| put-crm-v3-objects-objtype-objid-associations-var-var-var_varC | Associate an object with another object |
| delete-crm-v3-objects-objtype-objid-associations-var-var-var_varC | Remove an association between two objects |
| get-crm-v3-objects-objtype-objid-associations-var_varC | List associations of an object by type |
| post-crm-v3-objects-objtype-batch-create_createC | Create a batch of objects. REQUIRES body parameter with objects to create. Example: {body: {inputs: [{"properties": {"firstname": "John", "lastname": "Doe", "email": "john@example.com"}}]}} |
| post-crm-v3-objects-objtype-batch-update_updateA | Update a batch of objects by internal ID, or unique property values. REQUIRES body parameter with objects to update. Example: {body: {inputs: [{"id": "123", "properties": {"firstname": "John Updated"}}]}} |
| post-crm-v3-objects-objtype-gdpr-delete_gdpr-deleteC | GDPR DELETE. REQUIRES body parameter with object properties. Example for companies: {body: {properties: {"name": "Company Name", "domain": "example.com", "industry": "COMPUTER_SOFTWARE"}}} |
| post-crm-v3-objects-objtype-batch-upsert_upsertB | Create or update a batch of objects by unique property values. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| get-crm-v3-objects-objtype_objtypeD | List |
| post-crm-v3-objects-objtype_objtypeB | Create. REQUIRES body parameter with object properties. Example for companies: {body: {properties: {"name": "Company Name", "domain": "example.com", "industry": "COMPUTER_SOFTWARE"}}} |
| post-crm-v3-objects-objtype-search_searchB | POST /crm/v3/objects/{objectType}/search. REQUIRES body parameter with search criteria. Example: {body: {filterGroups: [{filters: [{propertyName: "email", operator: "EQ", value: "john@example.com"}]}], properties: ["firstname", "lastname", "email"]}} |
| post-crm-v3-associations-var-var-batch-create_createC | Create a batch of associations. REQUIRES body parameter with objects to create. Example: {body: {inputs: [{"properties": {"firstname": "John", "lastname": "Doe", "email": "john@example.com"}}]}} |
| post-crm-v3-associations-var-var-batch-read_readC | Read a batch of associations. REQUIRES body parameter with object IDs and properties to retrieve. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}], properties: ["firstname", "lastname", "email"], propertiesWithHistory: []}} |
| post-crm-v3-associations-var-var-batch-archive_archiveC | Archive a batch of associations. REQUIRES body parameter with object IDs to archive. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}]}} |
| post-crm-objects-v4-objtype-batch-upsert_upsertB | Create or update a batch of objects by unique property values. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| post-crm-v4-objects-objtype-gdpr-delete_gdpr-deleteB | GDPR DELETE. REQUIRES body parameter with object properties. Example for companies: {body: {properties: {"name": "Company Name", "domain": "example.com", "industry": "COMPUTER_SOFTWARE"}}} |
| post-crm-v4-associations-definitions-configurations-var-va_purgeD | Delete. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| post-crm-v4-objects-objtype-batch-read_readA | Read a batch of objects by internal ID, or unique property values. REQUIRES body parameter with object IDs and properties to retrieve. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}], properties: ["firstname", "lastname", "email"], propertiesWithHistory: []}} |
| get-crm-v4-objects-objtype-objid_objidD | Read |
| delete-crm-v4-objects-objtype-objid_objidD | Archive |
| patch-crm-v4-objects-objtype-objid_objidB | Update. REQUIRES body parameter with properties to update. Example: {body: {properties: {"firstname": "Updated Name", "email": "newemail@example.com"}}} |
| post-crm-objects-v4-objtype-merge_mergeB | Merge two objects with same type. REQUIRES body parameter with merge details. Example: {body: {objectIdToMerge: "123", primaryObjectId: "456"}} |
| post-crm-v4-associations-var-var-batch-create_createD | Create. REQUIRES body parameter with objects to create. Example: {body: {inputs: [{"properties": {"firstname": "John", "lastname": "Doe", "email": "john@example.com"}}]}} |
| post-crm-v4-associations-var-var-batch-archive_archiveC | Delete. REQUIRES body parameter with object IDs to archive. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}]}} |
| post-crm-v4-associations-usage-high-usage-report-var_varD | Report. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| post-crm-v4-associations-var-var-batch-labels-archive_archiveC | Delete Specific Labels. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| post-crm-v4-associations-var-var-batch-read_readC | Read. REQUIRES body parameter with object IDs and properties to retrieve. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}], properties: ["firstname", "lastname", "email"], propertiesWithHistory: []}} |
| put-crm-v4-objects-var-var-associations-default-var-var_varD | Create Default |
| get-crm-v4-objects-objtype_objtypeD | List |
| post-crm-v4-objects-objtype_objtypeC | Create. REQUIRES body parameter with object properties. Example for companies: {body: {properties: {"name": "Company Name", "domain": "example.com", "industry": "COMPUTER_SOFTWARE"}}} |
| post-crm-v4-objects-objtype-batch-update_updateB | Update a batch of objects by internal ID, or unique property values. REQUIRES body parameter with objects to update. Example: {body: {inputs: [{"id": "123", "properties": {"firstname": "John Updated"}}]}} |
| post-crm-v4-associations-var-var-batch-associate-default_defaultC | Create Default Associations. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| post-crm-v4-objects-objtype-batch-create_createB | Create a batch of objects. REQUIRES body parameter with objects to create. Example: {body: {inputs: [{"properties": {"firstname": "John", "lastname": "Doe", "email": "john@example.com"}}]}} |
| post-crm-v4-associations-definitions-configurations-var-v_createD | Create. REQUIRES body parameter with objects to create. Example: {body: {inputs: [{"properties": {"firstname": "John", "lastname": "Doe", "email": "john@example.com"}}]}} |
| post-crm-v4-objects-objtype-batch-archive_archiveA | Archive a batch of objects by ID. REQUIRES body parameter with object IDs to archive. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}]}} |
| delete-crm-v4-associations-var-var-labels-var_varD | Delete |
| get-crm-v4-associations-definitions-configurations-all_allC | Read All |
| put-crm-v4-objects-objtype-objid-associations-var-var_varD | Create |
| delete-crm-v4-objects-objtype-objid-associations-var-var_varD | Delete |
| get-crm-v4-associations-definitions-configurations-var-var_varD | Read |
| get-crm-v4-objects-objtype-objid-associations-var_varD | List |
| get-crm-v4-associations-var-var-labels_labelsC | Read |
| put-crm-v4-associations-var-var-labels_labelsD | Update |
| post-crm-v4-associations-var-var-labels_labelsC | Create. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| post-crm-v4-associations-definitions-configurations-var-v_updateD | Update. REQUIRES body parameter with objects to update. Example: {body: {inputs: [{"id": "123", "properties": {"firstname": "John Updated"}}]}} |
| get-crm-object-schemas-v3-schemas_schemasC | Get all schemas |
| post-crm-object-schemas-v3-schemas_schemasC | Create a new schema. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| get-crm-object-schemas-v3-schemas-objtype_objtypeC | Get an existing schema |
| delete-crm-object-schemas-v3-schemas-objtype_objtypeC | Delete a schema |
| patch-crm-object-schemas-v3-schemas-objtype_objtypeD | Update a schema |
| post-crm-object-schemas-v3-schemas-objtype-associat_associationsC | Create an association. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| delete-crm-object-schemas-v3-schemas-objtype-associations-va_varD | Remove an association |
| post-crm-v3-objects-quotes-batch-read_readA | Read a batch of quotes by internal ID, or unique property values. REQUIRES body parameter with object IDs and properties to retrieve. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}], properties: ["firstname", "lastname", "email"], propertiesWithHistory: []}} |
| get-crm-v3-objects-quotes-var_varC | Read |
| delete-crm-v3-objects-quotes-var_varC | Archive |
| patch-crm-v3-objects-quotes-var_varD | Update |
| post-crm-v3-objects-quotes-batch-archive_archiveA | Archive a batch of quotes by ID. REQUIRES body parameter with object IDs to archive. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}]}} |
| post-crm-v3-objects-quotes-batch-create_createB | Create a batch of quotes. REQUIRES body parameter with objects to create. Example: {body: {inputs: [{"properties": {"firstname": "John", "lastname": "Doe", "email": "john@example.com"}}]}} |
| post-crm-v3-objects-quotes-batch-update_updateA | Update a batch of quotes by internal ID, or unique property values. REQUIRES body parameter with objects to update. Example: {body: {inputs: [{"id": "123", "properties": {"firstname": "John Updated"}}]}} |
| get-crm-v3-objects-quotes_quotesD | List |
| post-crm-v3-objects-quotes_quotesD | Create. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| post-crm-v3-objects-quotes-batch-upsert_upsertA | Create or update a batch of quotes by unique property values. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| post-crm-v3-objects-quotes-search_searchC | POST /crm/v3/objects/quotes/search. REQUIRES body parameter with search criteria. Example: {body: {filterGroups: [{filters: [{propertyName: "email", operator: "EQ", value: "john@example.com"}]}], properties: ["firstname", "lastname", "email"]}} |
| get-crm-v3-associations-var-var-types_typesC | List association types |
| post-crm-v3-properties-objtype-batch-archive_archiveC | Archive a batch of properties. REQUIRES body parameter with object IDs to archive. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}]}} |
| get-crm-v3-properties-objtype-groups-var_varC | Read a property group |
| delete-crm-v3-properties-objtype-groups-var_varB | Archive a property group |
| patch-crm-v3-properties-objtype-groups-var_varC | Update a property group |
| get-crm-v3-properties-objtype-var_varC | Read a property |
| delete-crm-v3-properties-objtype-var_varC | Archive a property |
| patch-crm-v3-properties-objtype-var_varD | Update a property |
| post-crm-v3-properties-objtype-batch-read_readD | Read a batch of properties. REQUIRES body parameter with object IDs and properties to retrieve. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}], properties: ["firstname", "lastname", "email"], propertiesWithHistory: []}} |
| post-crm-v3-properties-objtype-batch-create_createC | Create a batch of properties. REQUIRES body parameter with objects to create. Example: {body: {inputs: [{"properties": {"firstname": "John", "lastname": "Doe", "email": "john@example.com"}}]}} |
| get-crm-v3-properties-objtype_objtypeC | Read all properties |
| post-crm-v3-properties-objtype_objtypeC | Create a property. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| get-crm-v3-properties-objtype-groups_groupsB | Read all property groups |
| post-crm-v3-properties-objtype-groups_groupsB | Create a property group. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| post-crm-v3-objects-invoices-batch-read_readA | Read a batch of invoices by internal ID, or unique property values. REQUIRES body parameter with object IDs and properties to retrieve. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}], properties: ["firstname", "lastname", "email"], propertiesWithHistory: []}} |
| get-crm-v3-objects-invoices-var_varD | Read |
| delete-crm-v3-objects-invoices-var_varD | Archive |
| patch-crm-v3-objects-invoices-var_varC | Update |
| post-crm-v3-objects-invoices-batch-archive_archiveA | Archive a batch of invoices by ID. REQUIRES body parameter with object IDs to archive. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}]}} |
| post-crm-v3-objects-invoices-batch-create_createB | Create a batch of invoices. REQUIRES body parameter with objects to create. Example: {body: {inputs: [{"properties": {"firstname": "John", "lastname": "Doe", "email": "john@example.com"}}]}} |
| post-crm-v3-objects-invoices-batch-update_updateA | Update a batch of invoices by internal ID, or unique property values. REQUIRES body parameter with objects to update. Example: {body: {inputs: [{"id": "123", "properties": {"firstname": "John Updated"}}]}} |
| get-crm-v3-objects-invoices_invoicesD | List |
| post-crm-v3-objects-invoices_invoicesD | Create. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| post-crm-v3-objects-invoices-batch-upsert_upsertA | Create or update a batch of invoices by unique property values. REQUIRES body parameter with request data. Check the inputSchema for required body structure. |
| post-crm-v3-objects-invoices-search_searchA | POST /crm/v3/objects/invoices/search. REQUIRES body parameter with search criteria. Example: {body: {filterGroups: [{filters: [{propertyName: "email", operator: "EQ", value: "john@example.com"}]}], properties: ["firstname", "lastname", "email"]}} |
| get-crm-v3-object-library-enablement_enablementD | Read All |
| get-crm-v3-object-library-enablement-var_varD | Read |
| post-crm-v3-objects-line_items-batch-read_readA | Read a batch of line items by internal ID, or unique property values. REQUIRES body parameter with object IDs and properties to retrieve. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}], properties: ["firstname", "lastname", "email"], propertiesWithHistory: []}} |
| get-crm-v3-objects-line_items-var_varD | Read |
| delete-crm-v3-objects-line_items-var_varD | Archive |
| patch-crm-v3-objects-line_items-var_varD | Update |
| post-crm-v3-objects-line_items-batch-archive_archiveA | Archive a batch of line items by ID. REQUIRES body parameter with object IDs to archive. Example: {body: {inputs: [{"id": "123"}, {"id": "456"}]}} |
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 106 tools
The tool names are raw API paths with placeholders like 'objtype' and 'var', and there are multiple v3/v4 versions of the same operations (e.g., get-crm-v3-objects-objtype-objid_objid vs get-crm-v4-objects-objtype-objid_objid). Generic objtype tools overlap with specific object type tools (quotes, invoices, line_items), and descriptions are often just 'Read' or 'Archive', making accurate selection nearly impossible.
All tools follow a uniform pattern of HTTP method + hyphenated path segments, which is consistent. However, the heavy use of vague placeholders like 'objtype' and 'var', and the mixing of generic and specific object types in the same pattern, reduces readability and predictability.
With 106 tools, the set is far beyond what an agent can effectively navigate. Many tools are near-duplicates, such as v3/v4 variants and generic vs specific object type versions of the same CRUD operations, so most do not earn their place.
The tool set comprehensively covers CRM object operations: CRUD, batch, search, upsert, associations, properties, schemas, and specific object types like quotes and invoices. The generic objtype tools allow any object type, so core workflows are supported, though the redundancy of v3/v4 and generic/specific tools makes the surface bloated.