The HubSpot MCP server documented on this page is separate from the developer MCP server. The developer MCP server helps developers build apps and CMS content assets locally on HubSpot’s developer platform. In contrast, the HubSpot MCP server is intended for making requests to an account’s CRM data, similar to using HubSpot’s APIs.
Implementation overview
At a high level, integrating with the HubSpot MCP server involves:- Creating an MCP connector in your HubSpot account.
- Configuring your MCP client to connect to the HubSpot MCP server at
https://mcp.hubspot.comusing your connector’s OAuth credentials. - Prompting your MCP client using natural language to query your HubSpot data.
Some MCP clients, like the MCP Inspector, handle PKCE automatically. If you’re building a custom integration, ensure your OAuth implementation includes PKCE support. Learn more about OAuth 2.1 authorization in the MCP specification.
Supported data and permissions
The following data is accessible via the remote MCP server.Read access
- CRM records: contacts, companies, deals, tickets, leads, users, appointments, courses, listings, projects, services, custom objects, and segments (lists). Revenue objects (carts, invoices, orders, line items, products, quotes, subscriptions) are available in BETA.
- Activities: calls, emails, meetings, notes, and tasks.
- Content and marketing: blog posts, landing pages, site pages, campaigns, and marketing events.
- Content analytics: conversion rates, submissions, and views for landing pages, website pages, and blog posts.
- Conversations: messages and threads from live chat, team email, WhatsApp, SMS, Facebook Messenger, and custom channels connected to help desk or conversations inbox.
Conversations access has additional restrictions based on your HubSpot inbox configuration.
- Help desk conversations are visible to all users.
- For the conversations inbox, if access has been restricted to specific users or teams, only those users can query those conversations through the MCP server.
- Marketing emails: draft emails and previews, email analytics data including aggregate send statistics (sends, opens, clicks, bounces, unsubscribes, and deliveries), account email health diagnostics, and per-contact delivery and engagement details.
- User and account: authenticated user details and permissions, account information, and organization-wide data including teams, job titles, and seat counts.
- AEO: brand-level metrics, share of voice, tracked prompt performance, and full AI engine response text from ChatGPT, Gemini, Perplexity, and Claude. Available in HubSpot accounts with a Marketing Hub Professional or Enterprise subscription.
Behind the scenes, the HubSpot MCP server is based on the CRM search API, which currently doesn’t include vector search capabilities.
Write access
- CRM records: create and edit contacts, companies, deals, tickets, leads, line items, products, appointments, courses, listings, projects, services, and custom object records. When creating or updating CRM records, the MCP server respects conditional field logic, including custom pipeline stage validations.
- Activities: calls, emails, meetings, notes, and tasks.
- Content: create, edit, and publish landing pages, website pages, and blog posts.
- Campaigns: create and update campaigns and manage campaign asset associations.
- Marketing emails: create and update email drafts.
- Pipelines: create and manage pipelines for supported objects. For HubSpot accounts with free tools, creating custom pipelines is not supported, but this tool can edit the default HubSpot-provided pipeline.
- Properties: create custom properties for CRM objects.
- Quotes (BETA): create and manage quotes. Requires the
manage revenue objectsoptional scope and is available in HubSpot accounts with a Revenue Hub Professional or Enterprise subscription. - Segments: create static segments and add or remove records from existing segments.
- AEO: create tracked prompts and act on brand recommendations, including starting content generation actions such as blog posts and social posts. Available in HubSpot accounts with a Marketing Hub Professional or Enterprise subscription.
Permissions and scopes
All actions respect your existing HubSpot user permissions. Users can only view and modify records they have access to in HubSpot. When creating an MCP connector, it’s important to note that you don’t explicitly define the connector’s scopes. Instead, available scopes are automatically determined by two factors:- The tools available in the MCP server at the time of installation.
- The permissions that the user chooses to grant during installation.
Claude Enterprise admins can restrict connector access to company-provisioned accounts only by enabling verified domain restrictions in their account settings.
Available tools
Tool availability varies by HubSpot subscription, user permissions, and account configuration. Runget_user_details after connecting to check which tools and objects are available for your specific account. The list below covers publicly available tools; some MCP clients may offer additional provider-specific tools not listed here.
Create an MCP connector
Create an MCP connector in your HubSpot account.- In the main navigation bar of your HubSpot account, navigate to Development.
- In the left sidebar menu, navigate to MCP Connectors.
- In the upper right, click Create MCP connector.
- In the dialog box, enter your connector details, which you can update later as needed:
- Name: the name of your connector.
- Description: an optional description of your connector.
- Redirect URL: the URL to use for OAuth authentication. If you’ll be testing with the MCP inspector, you’ll need to include
http://localhost:6274/oauth/callback/debugas a redirect URL. - Icon: an optional icon for your connector.
- Click Create.
If you’re including multiple redirect URLs, the first redirect URL will be used as the default redirect.

Test with the MCP inspector
The MCP Inspector is a debugging tool that handles OAuth with PKCE automatically, making it a quick way to test your connection to HubSpot’s MCP server without building a full integration.The MCP Inspector is a third-party tool maintained by the MCP community. Consult the MCP Inspector documentation for the most up-to-date setup instructions, as its interface is subject to change.
- Run the MCP Inspector tool locally.
- Configure the connection using the Streamable HTTP transport type, with the URL set to
https://mcp.hubspot.com/, and enter your connector’s client ID and client secret. - Open the OAuth settings and complete the guided OAuth flow, which will direct you to authorize your HubSpot account.
- Once authentication is complete, connect to the server and use the List Tools option to view available tools.
get_user_details tool. A successful response will return information about your user, account, and available object and tool access.
General MCP client connection instructions
After creating your MCP connector, you can connect your MCP client tohttps://mcp.hubspot.com using your connector’s credentials. Your MCP client will need to handle the OAuth flow, including PKCE, to authenticate with HubSpot.
To configure your MCP client, you’ll need the following from your connector’s details page:
- Client ID
- Client secret
- Redirect URL (must match what’s configured in your MCP client)
- Select the HubSpot account to connect.
- Grant permissions to the connector. These permissions are based on the user’s permissions in HubSpot and determine what data the connector can access.
- Authorize the connection.
Troubleshooting
PKCE-related authentication failures
HubSpot’s MCP server requires PKCE (Proof Key for Code Exchange) for all OAuth authentication flows. If your MCP client doesn’t handle PKCE automatically, you’ll need to implement it yourself:- Generate a random
code_verifier(43-128 characters). - Derive the
code_challengefrom the verifier using the S256 method. - Include the
code_challengeandcode_challenge_method=S256in the authorization request. - Include the
code_verifierin the token exchange request.
Token refresh failures
OAuth access tokens expire after a set period. If your MCP client stops working after a period of inactivity:- Ensure your client is using the
refresh_tokenreturned during the initial OAuth flow to request a new access token. - If the refresh token has also expired or been invalidated, you’ll need to re-run the full OAuth authorization flow.
- Check that your redirect URL in the MCP client matches the redirect URL configured in your MCP connector in HubSpot.