COMPARISON
HubSpot MCP server for Claude, ChatGPT and Cursor
HubSpot’s MCP server tool by tool, what it can do with tickets and help desk chats, and how to connect Claude, ChatGPT, Claude Code or Cursor to it.
Published
HubSpot’s MCP server is hosted at https://mcp.hubspot.com, and it has been generally available on every HubSpot account since 13 April 2026. It lets an AI tool search and edit your CRM records, tickets included, and read your help desk and inbox conversations. It has no tool for replying to a customer.
Claude, ChatGPT, Gemini and Copilot reach it through connectors HubSpot built for them. Claude Code, Cursor and every other AI tool need an MCP connector you make in your HubSpot account first, because the server won’t let them register themselves. Everything below comes from HubSpot’s developer docs, changelog and knowledge base, and from Claude Code’s and Cursor’s own docs, read on 10 November 2026, with a link to the page each fact is on.
Deacon, our product, is an AI support agent that answers the questions people ask on your website from your own docs, with no CRM or helpdesk behind it. It doesn’t connect to HubSpot. It has an MCP server of its own, though, made for your coding agent rather than your sales or support team, and you can try all of it on the free plan.
HubSpot’s two MCP servers, and the old one on npm
HubSpot publishes two MCP servers that do different jobs, and an older package still turns up in setup guides. Check which one a set of steps is for before you follow it.
| Server | What it’s for | Where it runs | How you sign in | Status on 10 November 2026 |
|---|---|---|---|---|
| Remote HubSpot MCP server | Reading and editing your CRM and tickets, and reading conversations | HubSpot hosts it at mcp.hubspot.com | As a HubSpot user, in your browser | Generally available since 13 April 2026 |
| Developer MCP server | Building HubSpot apps, CMS themes and modules | On your machine, through the HubSpot CLI | The CLI’s own sign-in | Generally available since 19 February 2026 |
| @hubspot/mcp-server on npm | HubSpot’s first beta, for CRM data | On your machine, through npx | A legacy private app’s access token | Still marked beta, last published on 18 June 2025 |
Remote HubSpot MCP server
- What it’s for
- Reading and editing your CRM and tickets, and reading conversations
- Where it runs
- HubSpot hosts it at
mcp.hubspot.com - How you sign in
- As a HubSpot user, in your browser
- Status on 10 November 2026
- Generally available since 13 April 2026
Developer MCP server
- What it’s for
- Building HubSpot apps, CMS themes and modules
- Where it runs
- On your machine, through the HubSpot CLI
- How you sign in
- The CLI’s own sign-in
- Status on 10 November 2026
- Generally available since 19 February 2026
@hubspot/mcp-server on npm
- What it’s for
- HubSpot’s first beta, for CRM data
- Where it runs
- On your machine, through npx
- How you sign in
- A legacy private app’s access token
- Status on 10 November 2026
- Still marked beta, last published on 18 June 2025
For tickets and conversations you want the remote server, and the rest of this page is about it. The developer server gives a coding agent HubSpot’s docs and project tools, such as search-docs, create-project and deploy-project. You add it by running hs mcp setup with HubSpot CLI 8.2.0 or later, which offers Claude Code, Codex CLI, Cursor, Gemini CLI, VS Code and Windsurf.
The npm package is where HubSpot started in May 2025. Its setup asks for a token from a legacy private app, and HubSpot has switched off making new ones. Accounts opened on or after 28 September 2026 never could, and older accounts lost the option on 26 October 2026. Private apps you already have keep working, but the package’s own setup starts with a step you can no longer take.
What it can do with tickets and help desk conversations
To this server a ticket is a CRM record like a contact or a deal, so the same tools handle it. Conversations have two tools of their own. Here are the ones that matter for support, by the names in HubSpot’s tool list.
| Tool | What it does for support |
|---|---|
search_crm_objects | Finds tickets by filters or text, sorted and paged, up to 200 a page and up to 5 filter groups of 6 filters each |
get_crm_objects | Fetches up to 100 tickets by their IDs in one call |
manage_crm_objects | Creates a ticket or updates it, such as its owner, priority or stage, and logs a note, task, call, meeting or email on it. It keeps to your pipeline stage rules, shows you the proposed changes and waits for you to confirm |
query_crm_data | Counts and groups with SQL, such as open tickets by priority, with no joins, subqueries or association traversal |
search_owners | Finds a teammate by name or email, to set as a ticket’s owner |
get_conversation_channel_metadata | Lists your inboxes and channels, so a search can be narrowed to one |
search_conversations | Searches help desk and inbox messages by CRM record, time range or keyword, and counts them by channel, inbox or status |
get_user_details | Says which tools and objects your account and role can reach, so run it first |
search_crm_objects
- What it does for support
- Finds tickets by filters or text, sorted and paged, up to 200 a page and up to 5 filter groups of 6 filters each
get_crm_objects
- What it does for support
- Fetches up to 100 tickets by their IDs in one call
manage_crm_objects
- What it does for support
- Creates a ticket or updates it, such as its owner, priority or stage, and logs a note, task, call, meeting or email on it. It keeps to your pipeline stage rules, shows you the proposed changes and waits for you to confirm
query_crm_data
- What it does for support
- Counts and groups with SQL, such as open tickets by priority, with no joins, subqueries or association traversal
search_owners
- What it does for support
- Finds a teammate by name or email, to set as a ticket’s owner
get_conversation_channel_metadata
- What it does for support
- Lists your inboxes and channels, so a search can be narrowed to one
search_conversations
- What it does for support
- Searches help desk and inbox messages by CRM record, time range or keyword, and counts them by channel, inbox or status
get_user_details
- What it does for support
- Says which tools and objects your account and role can reach, so run it first
That’s 8 of the 36 tools HubSpot lists. Most of the rest are for marketing and sales, covering campaigns, marketing emails, social posts, landing pages, website pages, blog posts, AEO and buyer intent signals. Others look up your schema, properties and organisation, manage segments, custom properties and pipelines, or take you through onboarding, and tool_guidance explains any of them to your AI tool when it needs more detail.
Every tool works with your own HubSpot permissions, so it only reaches records you could open yourself. For conversations, HubSpot says help desk conversations are open to every user who connects, and a conversations inbox you’ve limited to certain users or teams stays limited to them.
Conversations cover live chat, team email, WhatsApp, SMS, Facebook Messenger and custom channels connected to the help desk or the conversations inbox. They arrived on 15 September 2026 with HubSpot’s Fall 2026 Spotlight, which calls them read-only. Writing to records came earlier, with general release in April, so a guide from before April may tell you the whole server is read-only.
So Claude can tell you what customers asked about refunds this week and log a note on the ticket. Nothing in the tool list sends a message to a customer, changes a thread’s status or assigns a conversation, so the reply itself still goes out from HubSpot.
It can’t see your knowledge base either. HubSpot’s list of what it reads names blog posts, landing pages and site pages, and no knowledge base articles. And it can’t delete anything, since there’s no delete tool and HubSpot’s connector articles show no delete for any object.
HubSpot’s article on the Claude connector suggests prompts for support teams, such as summarising the most common questions across inbox or help desk channels this month, listing a rep’s open tickets by priority and logging a note on a ticket with how you resolved it.
Connect it to Claude or ChatGPT
HubSpot’s own connector is the quickest way in, and it runs on the same server. HubSpot makes one for Claude, ChatGPT, Gemini and Copilot, and the first two are below. Super Admins and users with App Marketplace Access can connect it straight away. Everyone else needs a Super Admin to approve it first, and that approval is where the Super Admin picks which data it can reach and who may install it. If a Super Admin opens up more data later, each person has to reconnect to get it.
In Claude it needs a paid Anthropic plan, so Pro, Max, Team or Enterprise. These are the steps from HubSpot’s Claude article.
- In Claude, open Settings, then Connectors, then Browse.
- Search for HubSpot and press Connect.
- Sign in, pick the HubSpot account and tick the permissions you want it to have.
- Press Connect app, and you’re back in the chat.
- In a chat, press +, then Connectors, and switch HubSpot on.
Then open the connector’s tool settings in Claude and set Write tools to Needs Approval, as HubSpot recommends. On Always allow, Claude can edit records without asking, and on Needs Approval a human in the loop confirms each change.
HubSpot’s ChatGPT article says that connector works on every HubSpot tier with an OpenAI account. In ChatGPT, open Settings, then Apps, select HubSpot and press Connect. Then press Continue to HubSpot, sign in, pick the account, choose the permissions and press Connect App. HubSpot recommends Needs Approval for its write tools there too.
Both connectors create or update at most 10 records at a time. The Claude connector applies your conditional property rules and pipeline stage validations. HubSpot’s ChatGPT article says custom validation rules, pipeline stage validations among them, aren’t applied there. Taken at its word, that lets ChatGPT move a ticket into a stage your rules would block, though HubSpot’s developer docs say the server keeps to them. Both articles say to change one record before you try a bulk change, above all in ChatGPT.
You can check afterwards what the AI tool changed. Both articles say every create and update lands in your HubSpot Audit Log under the user and the connector, and a Super Admin can see there who connected and when. Each Claude or ChatGPT account connects to one HubSpot account at a time, so to switch you disconnect and connect the other. In Claude that’s Settings, then Connectors, then HubSpot, then Disconnect, and in ChatGPT it’s Settings, then Apps, then HubSpot, then Disconnect.
Try Deacon for free
Install DeaconConnect it to Claude Code, Cursor or another AI tool
Many MCP servers let Claude Code or Cursor register themselves the first time you sign in, and HubSpot’s doesn’t. Its published sign-in settings have no registration address, so you make an MCP connector in HubSpot and give your tool the connector’s client ID and secret. HubSpot’s guide has the steps.
- In HubSpot, open Development, then MCP Connectors, and press Create MCP connector.
- Give it a name and the redirect URL your AI tool uses, from below, and press Create.
- Copy the client ID and client secret from the connector’s page.
- Add the server to your AI tool with them, then sign in, pick the account and grant the permissions.
HubSpot’s April changelog calls that page MCP Auth Apps, so an older guide may send you looking for that name. HubSpot’s guide doesn’t say which HubSpot permission you need to make a connector.
For Claude Code, enter http://localhost:8080/callback as the redirect URL. Any free port works as long as it matches --callback-port, as Claude Code’s MCP docs explain. Then run this, and Claude Code asks for the secret with the typing hidden.
claude mcp add --transport http --client-id YOUR_CLIENT_ID --client-secret --callback-port 8080 hubspot https://mcp.hubspot.com
Claude Code stores the secret in your system keychain on a Mac, or in a credentials file, and leaves it out of your config. Run /mcp and sign in to HubSpot in the browser it opens.
For Cursor, enter http://localhost:8787/callback, the desktop app’s fixed address. Add https://www.cursor.com/agents/mcp/oauth/callback as well if you also use Cursor on the web or Cursor Agents, as Cursor’s MCP docs say. HubSpot uses the first redirect URL in the list as the default, so put the one you use most first. Then add the server to mcp.json, with the ID and secret in environment variables.
{
"mcpServers": {
"hubspot": {
"url": "https://mcp.hubspot.com",
"auth": {
"CLIENT_ID": "${env:HUBSPOT_MCP_CLIENT_ID}",
"CLIENT_SECRET": "${env:HUBSPOT_MCP_CLIENT_SECRET}"
}
}
}
}
You don’t pick scopes when you make the connector. HubSpot works them out from the server’s tools and from what each person grants when they sign in. When HubSpot adds tools, a connection made earlier can show REQUIRES_REAUTHORIZATION for the new objects, and the GA changelog says to disconnect and connect again.
Limits of HubSpot’s MCP server
HubSpot’s MCP docs give no rate limit for the server itself. Its connector articles say everything counts against HubSpot’s API usage limits, which depend on your subscription.
Tickets and conversations need no particular plan in HubSpot’s list, though some other tools do. AEO tools need Marketing Hub Professional or Enterprise, quotes need Revenue Hub Professional or Enterprise, and accounts on HubSpot’s free tools can’t create custom pipelines. Three content tools, manage_website_page, manage_blog_post and render_asset, only work in Claude, ChatGPT and Gemini.
Searching runs on HubSpot’s CRM search API, which HubSpot says has no vector search. So it finds tickets by the words and filters you give it, and asking for tickets like the one you’re reading only works as far as they share words.
If your account has HubSpot’s Sensitive Data setting turned on, the server can’t read activities or conversations at all, though HubSpot’s ordinary CRM APIs can. A beta from 30 October 2026 lets a Super Admin give the server read-only access to activities on Enterprise accounts. HubSpot’s article on that beta lists engagements only for the MCP server, and neither page mentions conversations.
When HubSpot’s API is the better choice
Use HubSpot’s API when the job is one the server has no tool for, or one with nobody there to sign in and confirm each change. MCP vs API goes through that choice for any product.
- To reply to a customer, use HubSpot’s Conversations API.
POST /conversations/2026-09/conversations/threads/{threadId}/messagessends a message from the thread’s channel as a HubSpot user, with theconversations.writescope, on every channel but WhatsApp. The same API changes a thread’s status. - To hear about new messages as they arrive, use the Conversations API’s webhooks, which need
conversations.read. The MCP server only answers when someone asks it something. - To delete a ticket, the tickets API moves it to the recycling bin.
- For a script or a scheduled job, the MCP server is the wrong fit, since it signs in as a person and asks before it writes. HubSpot now points new integrations to Service Keys, which you make under Settings, then Integrations, then Service Keys.
For bulk changes from a terminal there’s also HubSpot’s Agent CLI, which is in beta. A coding agent runs its hubspot command for you, and unlike the MCP server it can delete records. Several of its delete commands make you run a --dry-run preview first.
Where Deacon fits beside HubSpot
HubSpot’s server and Deacon’s both have a tool called search_conversations. HubSpot’s searches the inboxes your team answers from. Deacon’s searches what visitors typed into the AI chat on your own site, and it’s there for your coding agent, such as Claude Code or Cursor. get_needs_you hands the agent the bug reports those visitors made, beside the JavaScript errors your site logged, and get_conversation opens one chat with the page the person was on, so the agent can trace the fault through your code.
HubSpot’s server can’t read your knowledge base. Deacon’s can, with get_knowledge, which gives your agent what Deacon knows, from your pages and texts to your help document, so it can check them against the code and tell you what’s out of date. And where HubSpot ties a conversation to a contact record, a Deacon chat opened with get_conversation shows the email the visitor left, or, when your app’s server signs who’s logged in, the id, email and name it proved, so your agent can look that person up in your own database. Lists and searches never show an address.
There’s no MCP connector to make first, either. Claude Code or Cursor signs in through your browser with no client ID or secret, and in place of a Super Admin’s approval, an owner on your Deacon team presses Allow.
Deacon itself is an AI support chat for founders who answer support without a team. It replies from your docs in seconds and says plainly when they don’t cover something. Your app can pass Deacon the name and email of whoever is logged in, so you see who’s asking and they don’t have to type an address to get your reply, and a site can pass details such as their plan for Deacon to take into account. The same script counts your website’s visits, sources, goals and funnels, with Google as one row whatever the country and AI assistants such as ChatGPT, Perplexity and Claude as one group. Topics then show what visitors are stuck on and which features they ask for.
HubSpot does a lot that Deacon doesn’t. It has tickets with owners and pipelines, one help desk across email, WhatsApp, SMS and Messenger, a CRM, and an MCP server that edits records. Deacon has no HubSpot or other CRM integration and no ticketing, so it won’t open a ticket or add a contact by itself. If your team works in HubSpot every day, its own connector for Claude or ChatGPT is the one to set up. HubSpot’s own AI chatbot, the customer agent, is a separate product, and HubSpot chatbot covers what it costs.
Questions about the HubSpot MCP server
Which HubSpot MCP server is the official one?
All three on this page are HubSpot’s own, and they do different jobs. The remote server at mcp.hubspot.com reads and edits your CRM and tickets and reads your conversations. HubSpot’s connectors for Claude, ChatGPT, Gemini and Copilot run on it. The Developer MCP server runs on your machine and helps a coding agent build HubSpot apps and CMS content. The @hubspot/mcp-server package on npm is HubSpot’s first beta from May 2025, which runs on your machine, and it needs a kind of token new setups can’t get.
Does the HubSpot MCP server cost anything?
None of the pages we read gives it a price of its own. HubSpot made it available to all HubSpot accounts, and its articles on the Claude and ChatGPT connectors list them with all products and plans. Your AI tool may cost something, since the Claude connector needs a paid Anthropic plan.
Can the HubSpot MCP server reply to customers?
No. It reads help desk and inbox conversations, and its tool list has nothing that sends a message. To reply from your own code, use HubSpot’s Conversations API, which sends a message to a thread as a HubSpot user on every channel but WhatsApp.
Why won’t Claude Code connect to mcp.hubspot.com?
Claude Code’s docs say a server that doesn’t let a tool register itself needs credentials you make in advance, and HubSpot’s is one of those. Make an MCP connector under Development in HubSpot, then add the server with --client-id, --client-secret and a --callback-port that matches the connector’s redirect URL, as the steps above show.
What changes if my account has Sensitive Data turned on?
HubSpot’s docs say Sensitive Data blocks the activities logged on records, such as notes, emails and calls, and every conversation, and that the block is specific to the MCP server. On Enterprise, a Super Admin can join a beta that gives it read-only access to activities.
Can Deacon add the people who chat to HubSpot?
Not by itself, since Deacon has no CRM integration. When a visitor leaves their email, a webhook tells a URL you choose, your own code or an automation tool’s, and that code can create the contact in HubSpot. If you’re still choosing a helpdesk, HubSpot vs Intercom sets Service Hub beside Intercom.
Which other support tools have an MCP server?
Most of the big ones. Support tools with an MCP server sets out what 23 of them do, and we cover Zendesk’s, Intercom’s, Freshdesk’s and Pylon’s on pages of their own.
Try it on your own documentation
Add your help pages, ask it the question you know your docs cannot answer, and watch it say so.
The free plan covers 50 answers a month on one seat, and the paid plans are on the pricing page.
Free plan, no card.
READ NEXT
Support tools with an MCP server, compared
What the MCP servers of Intercom, HubSpot, Freshdesk and 20 more support tools can read and change, how you connect and the plan each needs.
HubSpot chatbot, free and AI, and what each costs
HubSpot’s free rule-based chatbot and its AI customer agent, what each costs and which plans include it, and how to add an AI chatbot to a HubSpot site free.
AI help desks for customer support: how each bills
How eleven AI help desks bill the AI that answers customers, by resolution, outcome, session or credit, and what AI for agents costs, read 23 September 2026.