isaacraja/hubspot-mcp-server
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