hubspot-mcp-server

isaacraja/hubspot-mcp-server

3.2

If you are the rightful owner of hubspot-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A Model Context Protocol server that provides access to the HubSpot API, enabling LLMs to interact with HubSpot contacts, deals, and engagement data.

Tools

Functions exposed to the LLM to take actions

get_contact_by_id

Get a HubSpot contact by ID

Args: contact_id: The HubSpot contact ID. Can be provided as integer or string.

Returns: The contact information as a dictionary

get_contact_by_email

Get a HubSpot contact by email address

Args: email: The contact's email address

Returns: The contact information as a dictionary or an error message

search_contacts

Search for HubSpot contacts based on property criteria

Args: property_name: The contact property to search (e.g., firstname, lastname, email) operator: The operator to use for searching (EQ, CONTAINS, NEQ, GT, LT, GTE, LTE) value: The value to search for limit: Maximum number of results to return (default: 10)

Returns: A dictionary containing matching contacts

get_deal_by_id

Get a HubSpot deal by ID

Args: deal_id: The HubSpot deal ID. Can be provided as integer or string.

Returns: The deal information as a dictionary

get_contact_deals

Get all deals associated with a HubSpot contact

Args: contact_id: The HubSpot contact ID. Can be provided as integer or string.

Returns: A dictionary containing the deals associated with the contact

get_deal_contacts

Get all contacts associated with a HubSpot deal

Args: deal_id: The HubSpot deal ID. Can be provided as integer or string.

Returns: A dictionary containing the contacts associated with the deal

get_latest_marketing_campaign

Get the most recent marketing campaigns

Args: limit: Number of campaigns to retrieve (default: 1) type: Campaign type (EMAIL, SOCIAL, etc.)

Returns: Information about the latest marketing campaigns

get_campaign_engagement

Get contacts who engaged with a specific marketing campaign

Args: campaign_id: ID of the marketing campaign engagement_type: Type of engagement (OPEN, CLICK, etc.) limit: Maximum number of contacts to return

Returns: List of contacts with engagement data

get_page_visits

Get contacts who visited a specific page in the given time period

Args: page_path: URL path of the page (e.g., "/pricing") days_ago: How many days back to look for visits limit: Maximum number of contacts to return

Returns: List of contacts with visit data

get_contact_analytics

Get analytics data for a specific contact

Args: contact_id: ID of the contact metrics: Types of metrics to retrieve (page_views, form_submissions, etc.) timeframe: Time period for data (last_7_days, last_30_days, etc.)

Returns: Analytics data for the contact

get_scheduled_meetings

Get meetings scheduled within a time period

Args: start_date: Start of time period (first day of current month by default) end_date: End of time period (last day of current month by default) owner_id: Optional filter for meetings with a specific owner limit: Maximum number of meetings to return

Returns: List of meetings with associated contact information

get_meeting_details

Get detailed information about a specific meeting

Args: meeting_id: ID of the meeting

Returns: Detailed meeting information including attendees, notes, etc.

Prompts

Interactive templates invoked by user choice

No prompts

Resources

Contextual data attached and managed by the client

get_contact_schema

URI: hubspot://contacts/schema

MIME: text/plain

Get the schema information for HubSpot contacts

Returns: Information about the contact object structure

get_deals_schema

URI: hubspot://deals/schema

MIME: text/plain

Get the schema information for HubSpot deals

Returns: Information about the deal object structure