HubSpot CRM MCP Server - 70 AI-Powered Tools

Interact with HubSpot CRM through natural language. Search and manage contacts, deals, and engagements. Log emails, notes, and meetings. Access pipelines and custom fields.

CRM Free or usage-based

Tool capabilities

Full tool listing grouped by capability area.

Calls

  • log-call

    Log a phone call activity in HubSpot. Can be associated with a contact and/or deal.

Campaigns

  • get-campaign

    Read only

    Get detailed information about a specific marketing campaign including its properties, metrics, and associated assets.

  • create-campaign

    Create a new marketing campaign in HubSpot. Campaigns help organize and track marketing efforts across channels. Note: Budget is managed separately via budget items, not directly on the campaign.

  • update-campaign

    Update an existing marketing campaign in HubSpot. Modify name, dates, budget, or other properties.

  • delete-campaign

    Destructive

    Permanently delete a marketing campaign from HubSpot. This action cannot be undone.

  • get-campaign-assets

    Read only

    Get assets associated with a marketing campaign by type. Assets include landing pages, blog posts, emails, ads, workflows, forms, CTAs, and social messages.

  • associate-campaign-asset

    Associate an asset (landing page, email, blog post, etc.) with a marketing campaign. This links the asset to the campaign for tracking and reporting.

  • remove-campaign-asset

    Remove an asset association from a marketing campaign. The asset itself is not deleted, only the link to the campaign is removed.

Companies

  • get-company-by-domain

    Read only

    Look up a HubSpot company by exact domain (e.g., "acme.com"). Returns the company if found, or null if no company exists with that domain. Use this BEFORE creating a company to prevent duplicates.

  • upsert-company

    Create or update a company by domain (e.g., "acme.com"). If a company with this domain already exists, it will be updated. If not, a new company will be created. This is the SAFEST way to create companies — it prevents duplicates automatically.

  • get-company

    Read only

    Get detailed information about a specific company by ID, including associated contacts and deals.

  • create-company

    Create a new company in HubSpot. IMPORTANT: Before creating, use GetCompanyByDomain or UpsertCompany to check if the company already exists. Prefer UpsertCompany for safe create-or-update operations that prevent duplicates.

  • update-company

    Update an existing company in HubSpot. Only provided fields will be updated.

Contacts

  • get-contact-by-email

    Read only

    Look up a HubSpot contact by exact email address. Returns the contact if found, or null if no contact exists with that email. Use this BEFORE creating a contact to prevent duplicates.

  • upsert-contact

    Create or update a contact by email address. If a contact with this email already exists, it will be updated with the provided properties. If not, a new contact will be created. This is the SAFEST way to create contacts — it prevents duplicates automatically.

  • search-contacts

    Read only

    Search HubSpot contacts by email, name, or phone number. Supports exact match for dedup checks. Use search_by to choose which field to search, and exact=true for precise matching (e.g., exact email lookup).

  • get-contact

    Read only

    Get detailed information about a HubSpot contact by ID, including associated deals, notes, and emails.

  • create-contact

    Create a new contact in HubSpot. IMPORTANT: Before creating, use GetContactByEmail or UpsertContact to check if the contact already exists. Prefer UpsertContact for safe create-or-update operations that prevent duplicates.

  • update-contact

    Update an existing HubSpot contact properties like name, email, phone, or lifecycle stage.

  • delete-contact

    Destructive

    Permanently delete a contact from HubSpot. This action cannot be undone.

  • merge-contacts

    Destructive

    Merge two contacts into one. The secondary contact will be merged into the primary contact. All associations and activities from the secondary contact will be transferred.

  • add-tags-to-contact

    Add tags to a HubSpot contact for categorization and segmentation.

  • remove-tags-from-contact

    Remove tags from a HubSpot contact.

  • associate-contact-company

    Associate a contact with a company in HubSpot. Creates a link between the contact and company records.

  • associate-deal-contact

    Associate a deal with a contact in HubSpot. Creates a link between the deal and contact records.

  • enroll-contact-in-workflow

    Manually enroll a contact into a workflow. The contact will begin receiving the workflow actions. Note: Uses the Automation v4 API (BETA).

  • unenroll-contact-from-workflow

    Destructive

    Remove a contact from a workflow. The contact will stop receiving workflow actions. Note: Uses the Automation v4 API (BETA).

  • list-contact-lists

    Read only

    List all contact lists in HubSpot CRM. Returns both static and dynamic lists.

  • create-contact-list

    Create a new contact list in HubSpot. Lists can be static (manually managed) or dynamic (filter-based).

  • add-contact-to-list

    Add one or more contacts to a static contact list. Only works with MANUAL (static) lists.

  • remove-contact-from-list

    Remove one or more contacts from a static contact list. Only works with MANUAL (static) lists.

Custom Fields

  • get-custom-fields

    Read only

    Get custom field definitions for contacts or deals in HubSpot. Returns all properties including custom fields.

Deals

  • search-deals

    Read only

    Search HubSpot deals by name, pipeline, stage, or status. Use dealname to search by deal name text.

  • get-deal

    Read only

    Get detailed information about a HubSpot deal by ID, including associated contacts, notes, and emails.

  • create-deal

    Create a new deal in HubSpot. IMPORTANT: Before creating, use SearchDeals with the dealname parameter to check if a similar deal already exists to prevent duplicates. Optionally associate with a contact.

  • update-deal

    Update an existing HubSpot deal properties like name, amount, stage, or status.

  • delete-deal

    Destructive

    Permanently delete a deal from HubSpot. This action cannot be undone.

Emails

  • log-email

    Log an email communication in HubSpot, associated with a contact and/or deal. This records the email in the timeline, it does not send an actual email.

  • get-owner-by-email

    Read only

    Look up a HubSpot owner/user by their email address. Returns full details including owner ID, name, userId, and teams. Use this to find the owner ID for a user when you only have their email.

  • send-transactional-email

    Send a transactional email using a HubSpot email template. Transactional emails are for order confirmations, password resets, and other triggered communications.

Events

  • get-marketing-event

    Read only

    Get detailed information about a specific marketing event including event details, dates, and attendance statistics.

  • create-marketing-event

    Create a new marketing event in HubSpot. Marketing events are used to track webinars, conferences, workshops, and other events for attendance and engagement tracking.

  • update-marketing-event

    Update an existing marketing event in HubSpot. Modify event details, dates, or other properties.

  • delete-marketing-event

    Destructive

    Permanently delete a marketing event from HubSpot. This action cannot be undone and will remove all associated attendance data.

  • record-event-attendance

    Record attendance state for contacts at a marketing event. Use this to register contacts, mark them as attended, cancelled, or no-show.

  • get-event-participants

    Read only

    Get participants/attendees for a marketing event. Optionally filter by attendance state (REGISTERED, ATTENDED, CANCELLED, NO_SHOW).

General

  • search-companies

    Read only

    Search HubSpot companies by name or domain. Supports exact match for dedup checks. Use search_by to choose which field to search, and exact=true for precise matching (e.g., exact domain lookup).

  • get-activities

    Read only

    Get activity timeline (notes, emails, calls, meetings, tasks) for a HubSpot contact, company, or deal. Returns activities sorted by most recent first.

  • log-note

    Create a note in HubSpot associated with a contact and/or deal. Notes appear in the contact/deal timeline.

Lists

  • list-campaigns

    Read only

    List marketing campaigns in HubSpot. Optionally filter by name. Returns campaign details including objectives, dates, and budget.

  • list-marketing-events

    Read only

    List all marketing events in HubSpot. Marketing events include webinars, conferences, workshops, and other events used for tracking attendance and engagement.

Meetings

  • log-meeting

    Log a meeting activity in HubSpot associated with a contact and/or deal.

Owners

  • get-owners

    Read only

    Get all HubSpot users/owners. Returns user IDs, names, and emails for assigning records.

  • get-owner-by-id

    Read only

    Get a HubSpot owner/user by their ID. Returns full details including email, name, userId, and teams. Use this to look up who owns a specific record.

Pipelines

  • get-pipelines

    Read only

    Get all deal pipelines and their stages from HubSpot. Use this to get valid pipeline and stage IDs for creating or updating deals.

Tasks

  • search-tasks

    Read only

    Search and filter HubSpot tasks by owner, status, priority, or due date range. Use this to find tasks assigned to a specific user (owner_id) or filter by task status/priority.

  • get-task-by-id

    Read only

    Get a single HubSpot task by its ID with full details including subject, body, status, priority, owner, and due date.

  • get-tasks

    Read only

    Get tasks associated with a HubSpot contact. Returns full task details including subject, body, status, priority, owner, and due date. For searching tasks by owner or filters, use SearchTasks instead.

  • create-task

    Create a new task in HubSpot. Can be associated with a contact and/or deal.

  • update-task

    Update an existing task in HubSpot. Only provided fields will be updated.

  • delete-task

    Destructive

    Permanently delete a task from HubSpot. This action cannot be undone.

Tickets

  • search-tickets

    Read only

    Search HubSpot tickets/support cases by subject, pipeline, or status.

  • create-ticket

    Create a new support ticket in HubSpot. Can be associated with a contact.

  • update-ticket

    Update an existing support ticket in HubSpot. Only provided fields will be updated.

Workflows

  • list-workflows

    Read only

    List all automation workflows in HubSpot. Note: Uses the Automation v4 API (BETA).

  • get-workflow

    Read only

    Get details of a specific workflow by ID. Note: Uses the Automation v4 API (BETA).

  • create-workflow

    Create a new automation workflow in HubSpot. Note: Uses the Automation v4 API (BETA). Workflows can automate marketing, sales, and service processes.

  • update-workflow

    Update an existing workflow in HubSpot. Can modify the workflow name, type, enrollment triggers, and actions. Note: Uses the Automation v4 API (BETA).

  • delete-workflow

    Destructive

    Delete a workflow by ID. This action is permanent and cannot be undone. Note: Uses the Automation v4 API (BETA).

  • get-workflow-enrollments

    Read only

    Get contacts currently enrolled in a workflow. Returns a list of enrolled contacts with their enrollment details. Note: Uses the Automation v4 API (BETA).

Connection instructions

Use the same MCP endpoint for Claude Desktop and Claude Code CLI.

Claude Code CLI

claude mcp add hubspot -- npx -y mcp-remote https://mcpplug.ai/mcp/hubspot

Claude Desktop JSON

{
  "mcpServers": {
    "hubspot": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcpplug.ai/mcp/hubspot"
      ]
    }
  }
}

Frequently asked questions

How do I connect HubSpot CRM to Claude?

Use the MCP endpoint at https://mcpplug.ai/mcp/hubspot in Claude Desktop or Claude Code. Authorize your account during the OAuth flow, then the tools become available instantly.

What tools are available in the HubSpot CRM MCP server?

HubSpot CRM includes 70 tools. You can view every tool grouped by capability directly on this page.

Is HubSpot CRM MCP server free?

Yes. HubSpot CRM is available with free or usage-based access on MCPPlug.

Can I use this server with AI clients beyond Claude?

Yes. Any MCP-compatible client can connect to this endpoint, including CLI and IDE clients that support HTTP MCP transports.