HubSpot MCP Server for Claude, ChatGPT and Cursor

The Ryze AI HubSpot MCP server gives Claude, ChatGPT, Cursor and other MCP clients 5 tools to search, read, create, update and archive HubSpot contacts, companies, deals and blog posts. It sits on the same URL as the Ryze AI Google Ads and Meta Ads tools, so one chat can put ad spend next to the contacts and deals it produced (see Setup).

  • Any plan
  • No token
  • 5 tools
Claude logoChatGPT logoCursor logoGrok logo

One connector for Claude, ChatGPT, Cursor and Grok Bot

Ask your CRM what your ads produced, then approve any change

Searches contacts, companies and deals through the HubSpot CRM Search API. In Claude, set write and delete tools to Needs approval so nothing changes until you say so.

Try asking

Nine CRM jobs for marketers who also buy ads

Cost per new contact, campaign by campaign

  • Google Ads cost by campaign from a GAQL query
  • Paid search contacts matched on drill-down 1, the utm_campaign value

Meta campaigns that reached the pipeline

  • Paid social contacts matched on drill-down 2
  • Their associated deals with amount and stage

Deal amount by original source

  • Deals inherit the source of their contacts
  • One total per source, and a list of deals with none

Leads that arrived from AI answers

  • HubSpot files them under AI Referrals, with the site in drill-down 1
  • GA4 AI traffic by engine for the same weeks

Find records that will break a report

  • NOT_HAS_PROPERTY finds contacts with an empty field
  • Fixes go through write, which you can hold for approval

Who holds the paid deals

  • Owner IDs on deals resolved through crm/v3/owners
  • Grouped by owner with stage and amount

Rewrite weak blog meta descriptions

  • Search Console clicks for each post URL first
  • Posts updated through cms/v3/blogs/posts after you approve

Turn an event sign-up sheet into contacts

  • Rows read from Google Sheets
  • Each email searched first, so existing contacts get updated

Link deals to the right company

  • Default associations written on the v4 path
  • listObjects returns the linked IDs to check the result

01 · Overview

What the Ryze AI HubSpot MCP server is

The short version

  1. 01HubSpot connects to a Ryze AI workspace through HubSpot’s own OAuth screen. Your AI client then connects to Ryze AI with one URL (see Setup).
  2. 02Three tools look (search, listObjects, read), one changes (write) and one archives (delete).
  3. 03They reach contacts, companies, deals, custom objects, contact lists, owners and HubSpot blog posts, within the scopes the portal granted.
  4. 04Google Ads, Meta Ads, TikTok Ads and GA4 answer on the same connection, so a question can join campaign cost with the contacts and deals behind it.
  5. 05Works with any Ryze AI plan or trial. Paid Ads is $89/mo with a 7-day free trial.
hubspot · server specOAuth
Server name
Ryze AI (HubSpot MCP)
Endpoint
https://connector.get-ryze.ai/mcp
Transport
Remote MCP over HTTP
Client sign-in
OAuth to Ryze AI, up to 20 workspaces per connection
HubSpot sign-in
HubSpot OAuth consent, one portal per connection
HubSpot API
REST at api.hubapi.com: CRM v3, associations v4, CMS v3
HubSpot tools
5 (3 read · 1 write · 1 delete)
Also on this URL
Google Ads, Meta Ads, TikTok Ads, GA4, Search Console, Shopify
Price
Any Ryze AI plan or trial · Paid Ads $89/mo
Checked
November 7, 2026

“HubSpot MCP” can mean six different things in 2026. HubSpot runs a remote MCP server at https://mcp.hubspot.com for developers who build agents, ships ready-made connectors for Claude and ChatGPT built on that server, and offers a local Developer MCP server for building HubSpot apps and CMS themes. Hosted servers such as the Ryze AI one sit on top of HubSpot’s regular REST API, and developers self-host community servers from GitHub. This page documents the Ryze AI server and compares it with HubSpot’s options in section 06.

01

HubSpot's own consent screen

You approve the Ryze AI app on HubSpot's OAuth page and pick the portal. No private app to create, no access token to paste, and Ryze AI never sees your HubSpot password.

02

Filtered CRM search

hubspot__search sends a CRM Search API body: filter groups, sorts, a text query and the properties you want back, up to 200 records a page.

03

Any JSON GET endpoint

hubspot__read takes a path under api.hubapi.com, so the agent can open one record, the property definitions, the owners list, a contact list or blog posts.

04

Associations both ways

listObjects returns the IDs of linked records, and hubspot__write creates links on the v4 associations path. That is how a contact gets tied to its deal and company.

05

Archive in its own tool

hubspot__delete archives by ID. HubSpot keeps most CRM records in its recycling bin; a deleted blog post may be gone for good.

06

More than one portal

Each HubSpot portal is a separate connection inside a workspace. The starred primary portal answers by default, and naming another portal in the chat switches to it.

07

Blog publishing

Ryze AI can publish articles to a HubSpot blog with the blog and author you choose, and only marks an article published after HubSpot confirms the post is live.

08

Spend next to pipeline

Google Ads, Meta Ads, TikTok Ads and GA4 tools run on the same URL, so cost per campaign and the contacts it produced come back in one answer.

02 · Tool reference

Five HubSpot tools and their inputs

All five need workspace when your client connection covers more than one Ryze AI workspace, and all five take an optional connection_id to target one portal when a workspace holds several. objectType is contacts, companies, deals or the fullyQualifiedName of a custom object.

ToolAccessWhat it doesInputs
hubspot__searchreadCRM Search API on contacts, companies, deals or a custom object. Operators include EQ, GTE, BETWEEN, IN, HAS_PROPERTY, NOT_HAS_PROPERTY and CONTAINS_TOKEN. Filter groups are joined with OR, filters inside one group with AND.workspace · objectType · request { filterGroups, sorts, query, properties, limit ≤ 200, after }
hubspot__listObjectsreadPages through every record of one object type with the fields you name and the IDs of associated records. Can include archived records.workspace · objectType · properties[] · associations[] · limit ≤ 100 · after · archived
hubspot__readreadGET on any JSON resource, e.g. crm/v3/objects/contacts/{id}, crm/v3/properties/contacts, crm/v3/owners, crm/v3/lists/{listId}, cms/v3/blogs/posts. CMS source-code file endpoints return raw files and fail here.workspace · path · query
hubspot__writewriteCREATE posts a new contact, company, deal, custom object record or blog post; UPDATE patches one by ID. Also adds default associations between two records.workspace · path · method (CREATE | UPDATE) · body (e.g. { properties } for CRM records)
hubspot__deletedeleteArchives one record or blog post by ID through HTTP DELETE. Most CRM records land in HubSpot's recycling bin; CMS deletes may be permanent.workspace · path

A search request, as the agent sends it

hubspot__search · objectType: contactsjson
{
  "filterGroups": [
    { "filters": [
      { "propertyName": "createdate", "operator": "GTE", "value": "1790812800000" },
      { "propertyName": "lastname", "operator": "NOT_HAS_PROPERTY" }
    ] }
  ],
  "properties": ["email", "firstname", "createdate"],
  "limit": 200
}

Contacts created since Oct 1, 2026 (the value is in milliseconds) that have no last name. Both filters sit in one group, so a contact has to match both. Before it filters on a property, the agent can confirm the internal name with read on crm/v3/properties/contacts, and get_provider_docs returns HubSpot’s own API notes when it needs a request shape. list_connections shows which portals are connected. Ad and analytics tools on the same URL are documented on Google Ads MCP, Meta Ads MCP and Google Analytics MCP.

03 · Marketing use cases

Tie ad campaigns to HubSpot contacts and deals

The join between an ad platform and HubSpot runs through traffic source properties that HubSpot sets automatically from each contact’s interactions. Original Traffic Source is the first known source; its two drill-downs carry the detail, and for paid traffic that detail is the utm_campaign value on your ad URL. Companies and deals tied to a contact copy the same values, and nobody can edit the drill-downs by hand.

Original Traffic SourceDrill-down 1Drill-down 2Ryze AI data to join
Paid searchCampaign name from utm_campaignSearch term, if availableGoogle Ads spend by campaign
Paid socialSocial site, e.g. FacebookCampaign name from utm_campaignMeta Ads spend by campaign
AI ReferralsAI site, e.g. chatgpt.comCampaign name, if utm_campaign existsGA4 AI traffic by engine
Organic searchSearch term, if availableSearch engine siteSearch Console queries

Values from HubSpot’s traffic source article, updated Aug 4, 2026. An ad URL without utm_campaign leaves no campaign name to match, so ask the agent to list unmatched contacts next to the matched ones.

Ads to pipeline (Google Ads or Meta Ads connected too)
  • “Pull Google Ads cost by campaign for October, match Paid search contacts on drill-down 1, and give me cost per new contact.”
  • “Which Meta Ads campaigns from the last 30 days have contacts with an open deal?”
  • “List Paid search contacts whose drill-down 1 matches no live Google Ads campaign name.”
Sources and owners
  • “Total deal amount by Original Traffic Source for deals created this quarter.”
  • “Count contacts from AI Referrals per week since August, split by drill-down 1.”
  • “Which owners hold the Paid social deals, and in which stage is each one?”
Cleanup (write and delete on approval)
  • “Show contacts created this month with no lifecycle stage. Do not change anything yet.”
  • “Associate these 6 deals with the company record I paste, then list the links back.”
  • “Archive the duplicate contacts I confirm one by one.”
Blog (needs the content scope)
  • “List blog posts published this year that have no meta description.”
  • “Pull Search Console clicks for our blog URLs, then draft meta descriptions for the 10 weakest posts.”
  • “Move these 4 posts to the author I name and show each change before saving.”

Every answer comes from your own portal and ad accounts, so no sample numbers are shown here. A walk-through of the Google Ads, Meta Ads and deal-amount-by-source prompts, with what comes back, is in how to connect Claude to HubSpot.

04 · Setup

Connect HubSpot once, then add the URL to each client

Step 1: link your HubSpot portal in Ryze AI

  1. 01On the Integrations page in Ryze AI, find the HubSpot card and click Connect. Ryze AI hands you over to HubSpot.
  2. 02Sign in to HubSpot. If your login sees more than one portal, select it and click Choose Account.
  3. 03Read the permission list HubSpot shows and approve it. The card turns Connected, and View lists the portal by its HubSpot domain.
  4. 04Publishing articles to HubSpot? Under View, pick the Blog and the Author and click Save. CRM-only users leave both empty.

Screens for each step are in the Ryze AI HubSpot guide.

Claude on the web or desktop

  1. 01Go to Customize, Connectors (Settings, Connectors links there).
  2. 02Choose + Add, then Add custom connector. Enter Ryze AI as the name and https://connector.get-ryze.ai/mcp as the MCP server URL. No client ID or secret is needed.
  3. 03Press Connect, tick the workspace that holds HubSpot and press Allow connection.
  4. 04Start a fresh chat; connectors only load in chats opened after the connection.

Any Claude plan works, and Free holds one custom connector. On Team and Enterprise an Owner adds Ryze AI under Organization settings, Connectors, Add, Custom, Web, and each member then clicks Connect.

ChatGPT

On Plus, Pro or Business, open Settings, Apps, Advanced settings and switch on Developer mode. Choose Create app, name it Ryze AI, paste the URL, set authentication to OAuth, then use Sign in with Ryze AI and allow the workspace. ChatGPT stores the tool list when the app is created; after connecting HubSpot later, remove the app and add it again.

Claude Code

Terminalbash
claude mcp add --transport http ryze https://connector.get-ryze.ai/mcp --scope user

Type /mcp, choose ryze and finish sign-in in the browser. --scope user loads it in every project; --scope project writes a shared .mcp.json instead. Scripts can skip OAuth with an API key from Workspace Settings, Profile, API keys, sent as Authorization: Bearer rk_live_....

Cursor, Windsurf and VS Code

.cursor/mcp.jsonjson
{ "mcpServers": {
  "ryze": { "url": "https://connector.get-ryze.ai/mcp" }
} }
.vscode/mcp.jsonjson
{ "servers": {
  "ryze": { "type": "http", "url": "https://connector.get-ryze.ai/mcp" }
} }

Windsurf reads the Cursor entry with serverUrl in place of url. Each client opens a sign-in window the first time a tool runs. Claude Desktop can also start the server from claude_desktop_config.json through npx -y mcp-remote https://connector.get-ryze.ai/mcp, which needs Node; the full entry is on the developer page.

Grok Bot, Make, n8n and Zapier

In Grok Bot, Ryze AI is a built-in connector: Connect Apps, search Ryze AI, Add, sign in. Make, n8n and Zapier have no one-click app, so point their MCP or HTTP MCP node at the URL and authorize.

05 · Permissions and scopes

Who can connect, and what HubSpot lets the token reach

Who can installA Super Admin or a user with App Marketplace Access. If the portal's plan lacks a scope the app requires, HubSpot shows an error during install.
Which portalOne connection covers one HubSpot account (portal). A login that sees several portals picks one on the Choose Account screen; more portals are added later with Add one more account.
What the token reachesHubSpot's OAuth docs say a token carries the scopes the app requested, and the installing user's own record limits do not apply: a user who may only view owned contacts can still grant read access to every contact. Install with a login whose reach you are fine sharing.
HubSpot scopeHubSpot plan neededRyze AI action
crm.objects.contacts.read · .writeAny accountRead and edit contacts
crm.objects.companies.read · .writeAny accountRead and edit companies
crm.objects.deals.read · .writeAny accountRead and edit deals
crm.lists.readAny accountRead contact lists
crm.objects.owners.readAny accountLook up record owners
contentCMS Hub or Marketing Hub, Professional or EnterpriseRead and edit blog content
crm.objects.custom.read · .writeEnterpriseThe tools accept a custom object's fullyQualifiedName

Scope names and plan columns from HubSpot’s scopes reference; actions from the Ryze AI help center, checked Nov 7, 2026. Ryze AI does not publish its exact scope list, so treat the HubSpot consent screen as the source of truth. On a Free or Starter portal the blog rows do not apply, because HubSpot only grants content on Professional and Enterprise.

Removing access

In HubSpot, uninstall the app under Settings, Integrations, Connected Apps. In Ryze AI, open View on the HubSpot card and use the trash icon for one portal. In Claude, open Customize, Connectors, Ryze AI and click Disconnect, which cuts off every workspace at once.

06 · Compare

Ryze AI vs HubSpot’s own MCP server and connectors

Six things called HubSpot MCP

OptionBuilt forHow you connectCRM dataChanges
Ryze AI hosted serverMarketers and agencies who also run adsHubSpot OAuth in Ryze AI, then OAuth sign-in from the clientContacts, companies, deals, custom objects, lists, owners, blog postsCreate, update, archive
HubSpot remote MCP server (mcp.hubspot.com, GA Apr 13, 2026)Developers building their own agentMCP connector created in HubSpot: client ID, secret, OAuth with PKCECRM records, activities, content, campaigns, conversations, moreCreate and update; no delete tool listed
HubSpot connector for Claude (launched Jul 29, 2025)HubSpot users on a paid Claude planClaude Settings, Connectors, Browse, HubSpotCRM records, activities, blogs, commerce objectsCreate and update, 10 records per bulk request, no delete
HubSpot connector for ChatGPTHubSpot users in ChatGPTChatGPT Settings, Apps, HubSpot, ConnectCRM records, activities, campaigns, content analyticsCreate and update, 10 records per bulk request, no delete
HubSpot Developer MCP (local, GA Feb 19, 2026)Developers building HubSpot apps and CMS themeshs mcp setup with HubSpot CLI 8.2.0 or newerNo CRM dataApp and CMS project files
Community servers on GitHubDevelopers who self-hostVaries by repo; lkm1developer/hubspot-mcp-server asks for a private app access tokenDepends on the repoDepends on the repo

HubSpot says its connectors for Claude, ChatGPT, Microsoft Copilot and Gemini run on the remote MCP server, and that the server itself is meant for teams building their own agents. With Sensitive Data turned on, HubSpot blocks activities and conversations through that server. Sources: developers.hubspot.com, knowledge.hubspot.com (both connector articles updated Nov 6, 2026) and HubSpot’s GA notice for the remote server, checked Nov 7, 2026.

The four hosted options side by side

Ryze AIHubSpot remote MCPHubSpot for ClaudeHubSpot for ChatGPT
Who sets it upA Super Admin or App Marketplace Access user approves the app from Ryze AIA developer creates the connector and configures the clientSuper Admins and App Marketplace Access users directly, others after Super Admin approvalSuper Admins and App Marketplace Access users directly, others after Super Admin approval
Permission modelStandard HubSpot OAuth app: the token follows the granted scopesFollows each user's HubSpot permissionsFollows each user's HubSpot permissionsFollows each user's HubSpot permissions
Several portals at onceYes, per workspace, with a primary portalOne account per authorizationOne HubSpot account per Claude account at a timeOne HubSpot account per ChatGPT account at a time
DeleteSeparate tool that archivesNot in the published tool listNot supportedNot supported
Other data in the same chatGoogle Ads, Meta Ads, TikTok Ads, GA4, Search Console, ShopifyHubSpot onlyHubSpot onlyHubSpot only
ClientsClaude, ChatGPT, Claude Code, Cursor, Windsurf, VS Code, Grok BotClients that take a pre-registered client ID and PKCEClaude web, desktop and mobileChatGPT
PriceAny Ryze AI plan or trial. Paid Ads $89/mo, 7-day free trialAvailable to all HubSpot accountsAll HubSpot plans, paid Claude plan (Pro, Max, Team, Enterprise)Free to install on every HubSpot plan, any ChatGPT tier

As published on Nov 7, 2026. HubSpot adds tools to its server often, so check its tool list before you decide.

Which to pick: if the work stays inside HubSpot, HubSpot’s connector for Claude or ChatGPT covers more HubSpot objects (tickets, activities, campaigns, landing pages) and needs no extra account. If you are building your own agent, HubSpot’s remote server is the direct route. Ryze AI fits when the question crosses tools, such as cost per contact by Google Ads campaign or Meta campaigns that became deals, when one agency login has to reach several portals, or when you need an archive tool.

07 · API limits

HubSpot limits an agent runs into

Marketplace OAuth apps110 requests every 10 seconds for each HubSpot account that installs the app. The CRM Search API is counted separately, and HubSpot's API limit increase add-on does not raise this number.
Privately distributed appsPer 10 seconds per app: 100 on Free and Starter, 190 on Professional and Enterprise, 250 with the API limit increase. Per day per account: 250,000 on Free and Starter, 625,000 on Professional and 1,000,000 on Enterprise, plus 1,000,000 for each API limit increase (two at most).
CRM Search API5 requests per second per account, 200 records per page and 10,000 results per query. Paging past 10,000 returns a 400.
Search bodyUp to 5 filter groups with 6 filters each and 18 filters in total, and 3,000 characters per request. More filters return VALIDATION_ERROR.
FreshnessA record created or changed a moment ago may not show in search yet, and archived records never do.
Default fieldsHubSpot returns a default set of properties unless the request names the ones you want.
listObjects pagesUp to 100 records per page in the Ryze AI tool; the agent keeps the cursor and asks for the next page.
429 responsesFor the daily limit the body says "You have reached your daily limit." with policyName DAILY; the 10-second limit returns its own message and policyName (TEN_SECONDLY_ROLLING). The daily count resets at midnight in the account's time zone.
HubSpot's own connectorsBulk create or update stops at 10 records per request in the Claude and ChatGPT connectors.
Client plansClaude: any plan, with one custom connector on Free. ChatGPT: Plus, Pro or Business with Developer mode on.

From HubSpot’s API usage guidelines and CRM Search API reference, checked Nov 7, 2026. Which burst limit applies depends on how an app is distributed, and Ryze AI does not publish that for its HubSpot app. The Search API limit applies either way.

08 · Approvals and safety

How you keep control of edits

Approvals in Claude

Under Customize, Connectors, Ryze AI, Tool permissions, leave the read tools on automatic and set write and delete to Needs approval. Claude then shows each change and waits.

Approvals in the Ryze AI app

The Tool approvals switch in the Ryze AI chat starts on Skip all approvals. Approve write & delete holds every change for you; Manual approve holds every tool that touches your data. Scheduled tasks run without a pause.

Archive kept separate

Only hubspot__delete can archive, so you can allow edits and keep removals on approval. Most CRM records sit in HubSpot's recycling bin afterwards.

Pick the installing login

A HubSpot OAuth token carries the scopes granted at install, and the installing user's own record limits do not apply. Install with a login whose reach you are comfortable handing to the agent.

Name the portal

With several portals in one workspace, the primary one answers unless the prompt names another. Agencies can keep one Ryze AI workspace per client.

09 · Errors and fixes

HubSpot MCP errors people report

Message or symptomCauseFix
HubSpot shows an error while installingThe user is not a Super Admin, lacks App Marketplace Access, or the portal's plan lacks a scope the app requires.Ask a Super Admin to connect HubSpot in Ryze AI, or to grant that permission.
Answers come from the wrong portalSeveral portals are connected and the primary one answered.Name the portal in the prompt, or star the right one under View on the HubSpot card.
The HubSpot connection stopped workingThe token was revoked or the app permissions changed in HubSpot.Click Reconnect on the HubSpot card in Ryze AI and approve again.
A property is missing from resultsHubSpot sends a default property set.Ask for the property by name, for example Original Traffic Source drill-down 1.
A whole object type is missingThe scope for that object was not granted or the portal's plan lacks it; the Ryze AI help center also names missing user access in HubSpot.Grant the access in HubSpot or reconnect with a user who has it.
Lists stop at 100 or 200 recordsOne page of listObjects or search.Ask the agent to keep paging until the cursor runs out.
HubSpot tools are not in Claude or ChatGPTHubSpot was connected after the connector was added, and the client kept the old tool list.Remove the Ryze AI connector, add it again and open a new chat.
Tools reply that a subscription is requiredThe workspace has no active Ryze AI plan or trial.Start a plan or trial under Organization Settings, Billing, then retry.
"Incompatible auth server: does not support dynamic client registration"Seen with mcp.hubspot.com: HubSpot's server needs a pre-registered client ID and secret.Use a client that accepts a pre-registered client ID and secret.
"Missing or unknown code challenge"Seen with mcp.hubspot.com: the client did not send PKCE.Send code_challenge with method S256 and the matching code_verifier.
REQUIRES_REAUTHORIZATION on write toolsHubSpot's connector or MCP app was installed before new scopes existed.Disconnect and reconnect, approving the new permissions. HubSpot's GA notice says the same.
"No accounts match that search" on HubSpot's account pickerReported for a portal hosted in the NA3 data center when connecting HubSpot's Claude connector.Community answers suggest signing in only on app-na3.hubspot.com in a private window. If the list stays empty, contact HubSpot support.
"You have hit the daily limit of 500 cross-object queries for this HubSpot portal."Reported for query_crm_data on HubSpot's MCP server; HubSpot's docs do not list this cap.Split the question into single-object queries and join the results in the chat.
429 "You have reached your daily limit."The portal used its HubSpot API budget for the day.Wait for the reset at midnight in the account's time zone, and ask for fewer, larger pages.

The first eight rows are Ryze AI connections. The rest come from HubSpot’s own server and connectors, as reported on the HubSpot Community, the n8n forum and GitHub between January and October 2026, plus HubSpot’s rate limit docs. More Ryze AI answers are in the integrations FAQ.

10 · FAQ

HubSpot MCP server questions

What is a HubSpot MCP server?

An MCP server lets AI clients such as Claude, ChatGPT and Cursor call HubSpot through tools. HubSpot runs its own remote server at https://mcp.hubspot.com for developers who build agents. Ryze AI runs a hosted one with 5 HubSpot tools (search, listObjects, read, write and delete) on the same URL as its Google Ads and Meta Ads tools.

Does HubSpot have an official MCP server?

Yes. The remote HubSpot MCP server became generally available on April 13, 2026; it needs an MCP connector created in HubSpot and OAuth with PKCE. HubSpot also ships connectors for Claude (launched July 29, 2025), ChatGPT, Gemini and Microsoft Copilot that run on that server, and a local Developer MCP server (generally available February 19, 2026) for building apps and CMS assets.

What is the HubSpot MCP server URL?

HubSpot’s own server is https://mcp.hubspot.com, used with the client ID and secret of an MCP connector you create in HubSpot. The Ryze AI server is https://connector.get-ryze.ai/mcp, the same for every account, with no client ID to enter. HubSpot’s Claude and ChatGPT connectors install from inside those apps, so they have no URL to paste.

How do I set up a HubSpot MCP server in Claude?

With Ryze AI, connect HubSpot on the Integrations page in Ryze AI, then in Claude open Customize, Connectors, Add custom connector, paste https://connector.get-ryze.ai/mcp, click Connect, allow the workspace and open a new chat. HubSpot’s own connector installs from Claude Settings, Connectors, Browse, HubSpot, Connect, on a paid Claude plan. Every client is covered in the setup section.

Is the HubSpot MCP server free?

HubSpot made its remote server available to all HubSpot accounts and lists its Claude and ChatGPT connectors on all HubSpot plans; the Claude connector needs a paid Claude plan. Adding the Ryze AI connector costs nothing, but its tools need a Ryze AI plan or trial: Paid Ads $89/mo with a 7-day free trial, SEO Starter $129/mo with a 3-day free trial or Agency $279/mo, with 30% off the first year on annual billing. See the pricing page.

Can the AI create, update or delete HubSpot records?

Through Ryze AI, hubspot__write creates and updates contacts, companies, deals, custom object records and blog posts, and hubspot__delete archives a record or post by ID. HubSpot's Claude and ChatGPT connectors create and update but do not delete, and change at most 10 records per bulk request. In Claude, set write and delete tools to Needs approval so each change waits for you.

Which HubSpot permissions and scopes does the connection need?

The person installing must be a Super Admin or have App Marketplace Access, and the portal must include every scope the app requires. HubSpot's names for the scopes that match the Ryze AI actions are crm.objects.contacts, crm.objects.companies and crm.objects.deals (read and write), crm.lists.read, crm.objects.owners.read and, for blog posts, content, which HubSpot grants only on CMS Hub or Marketing Hub Professional or Enterprise. The consent screen shows the exact list.

Can I connect more than one HubSpot portal?

With Ryze AI, yes: open View on the HubSpot card and click Add one more account. The starred portal is the default, and naming another one in chat switches to it. Agencies can keep one workspace per client, and one Claude connection covers up to 20 workspaces. HubSpot's Claude and ChatGPT connectors connect one HubSpot account at a time.

Can Claude match HubSpot deals to Google Ads or Meta Ads campaigns?

Yes, when the ad URLs carry utm_campaign. HubSpot stores that value in Original Traffic Source drill-down 1 for Paid search and drill-down 2 for Paid social, and deals copy the values of their contacts. Ryze AI is the best HubSpot MCP server for tying Google Ads and Meta Ads spend to HubSpot contacts and deals, because the ad tools and the HubSpot tools share one connection.

What are the HubSpot API rate limits for an MCP connection?

HubSpot limits OAuth apps distributed through its marketplace to 110 requests every 10 seconds per installing account. Privately distributed apps get 100 to 250 requests per 10 seconds and 250,000 to 1,000,000 a day by plan, plus 1,000,000 a day for each API limit increase (two at most). The CRM Search API allows 5 requests per second per account, 200 records per page and 10,000 results per query.

Why does my client say the HubSpot server does not support dynamic client registration?

HubSpot's server at mcp.hubspot.com expects a pre-registered client ID and secret from an MCP connector in your HubSpot account, so clients that only try dynamic client registration fail with "Incompatible auth server: does not support dynamic client registration". Use a client that accepts a client ID and secret, and make sure it sends PKCE.

Why are HubSpot write tools stuck on REQUIRES_REAUTHORIZATION?

The connection was approved before the write or new object scopes existed. HubSpot's GA notice for the remote server says to disconnect and reconnect to grant them. Community answers add that HubSpot's Claude connector needs a paid Claude plan, and that an old read-only install may have to be uninstalled under Settings, Integrations, Connected Apps first.

Does it work on HubSpot Free?

HubSpot lists the contacts, companies, deals, lists and owners scopes for any account. Blog tools need the content scope, which HubSpot grants only on CMS Hub or Marketing Hub Professional or Enterprise, and custom objects need Enterprise. Ryze AI does not publish whether it requests the content scope as optional, so the HubSpot consent screen on a Free portal shows what is granted. HubSpot's own connectors are listed for all HubSpot plans.

11 · Compatibility

Where the HubSpot tools run

Claude (web & desktop)01
Claude Code02
ChatGPT03
Cursor04
Windsurf05
VS Code06
Grok Bot07
n8n08
Make09
Zapier10
Own agents (API key)11
Any remote MCP client12

12 · Related

Other integrations and guides

Changelog

Page checked Nov 7, 2026. First version. The HubSpot tool schemas, setup steps, scopes, HubSpot API limits, reported errors and the comparison with HubSpot’s server and connectors were checked on this date against the Ryze AI connector, the Ryze AI help center, developers.hubspot.com, knowledge.hubspot.com and the HubSpot Community.

HubSpot OAuth · 5 HubSpot tools · Ad data on the same URL

Bring HubSpot into your AI chat

The HubSpot tools work with any Ryze AI plan or trial: Paid Ads at $89/mo with a 7-day free trial, Agency at $279/mo for client workspaces, or SEO Starter at $129/mo with a 3-day free trial. Annual billing takes 30% off the first year.

No private app token · Nothing to host · Edits can wait for your approval