HubSpot publishes an official MCP server at mcp.hubspot.com with read and write access to CRM objects and engagements, read-only access to organisational and marketing content, and a hard block on custom Sensitive Data Properties. The asymmetry is the whole design: it will change a deal and it will not change a campaign.
Last updated September 14, 2026. Figures are from HubSpot's own documentation. New to the protocol? Start with what MCP is.
What the HubSpot MCP server exposes
| Surface | What you get |
|---|---|
| CRM objects — read and write | Contacts, companies, deals, tickets, carts, products, orders, line items, invoices, quotes, subscriptions and segments |
| Engagements — read and write | Calls, emails, meetings, notes and tasks |
| Organisational context — read only | Users, teams, reporting structures, owners, roles and seats |
| Marketing content — read only | Campaigns, landing pages, website pages and blog posts |
| Blocked entirely | Custom Sensitive Data Properties are not reachable through the MCP server at all |
The endpoint is https://mcp.hubspot.com. You sign in with OAuth 2.0, and what you can reach is governed by user-level app scopes an account admin configures.
Connecting it
1. Open your client's connector settings
In Claude, go to Settings, then Customize, then Connectors. In ChatGPT, turn on Developer mode under Settings, then Security and login, and add it under Settings, then Plugins. If HubSpot is already listed in the client's directory, add it from there instead.
2. Paste the endpoint
Add a custom connector with the URL https://mcp.hubspot.com and leave the advanced fields empty. There is no client ID or secret to enter; the server registers itself when you sign in.
3. Sign in and read the scopes
The consent screen is the one place you see what you are granting. Read it, and choose the narrower scopes wherever you are offered a choice.
4. Confirm the tools arrived
Ask the assistant what the connector can do. An empty list after a successful sign-in means the token is not being accepted: disconnect and reconnect to clear the stale grant.
The exact path for thirteen clients is in the MCP client directory.
What it costs
- The server itself is part of HubSpot; there is no separate MCP SKU.
- You must be on the new HubSpot Developer Platform, which is the gate most people hit first.
- Access is governed by user-level app scopes configured by an account admin, so what a given person can reach depends on what they were granted.
- Apps built on it carry the same distribution limits as any other HubSpot app.
The limits worth knowing
- Marketing content is read-only. Campaigns, landing pages, website pages and blog posts can be read and not changed. If your reason for wanting this was "let an agent update our landing pages", that is the wrong server.
- Sensitive properties are off the table. Custom Sensitive Data Properties are blocked outright rather than scope-gated. Correct, and worth knowing before you design a workflow that assumes a field is reachable.
- CRM writes have no approval step. MCP defines none, so a tool that updates a deal updates it. In a CRM that is shared with a sales team, an agent tidying records is a change nobody asked for and everybody sees.
- Scope sprawl is easy and invisible. The object list is long. Granting the lot because it is simpler is how an assistant that was meant to look up a contact ends up able to void an invoice.
Where it stops for marketing
HubSpot knows what happened after the click and nothing about what caused it. It can tell you which deals closed and cannot tell you which campaign, creative or keyword produced them, because the ad platforms are a different system. Attribution questions therefore span two servers, and whichever one you ask will answer confidently from its own half.
That is the edge of what one vendor's data can answer, not a flaw in the server. It is why a marketing stack usually runs two or three: this one for what it is good at, and one for the channels that spend money. For the other half: Google Ads over MCP. If you would rather hand the marketing half to one agent, Sprites runs Google Ads, Meta, LinkedIn and SEO behind one connector, with every write staged for your approval.
Before you grant write access
MCP has no built-in approval step: a write tool applies the moment the model calls it, unless the server itself holds the change. Check three things before you connect: which scopes the consent screen asks for, whether writes are staged or applied, and how to revoke access. The rest is in is MCP safe.
Related
- The best MCP servers for marketers
- Notion MCP
- Every MCP server worth connecting for marketing
- The Claude connector shortlist
HubSpot MCP questions
What is the HubSpot MCP endpoint?
mcp.hubspot.com, authenticated with OAuth 2.0. Access is controlled through user-level app scopes that an account admin configures, so two users on the same portal can reach different data.
Can HubSpot MCP write to my CRM?
Yes, for CRM objects and engagements: contacts, companies, deals, tickets, orders, invoices, quotes and the calls, emails, meetings, notes and tasks attached to them. Organisational and marketing content is read-only.
Can it edit my HubSpot landing pages or blog posts?
No. Campaigns, landing pages, website pages and blog posts are read-only through the MCP server. It can tell an assistant what a page says; it cannot change it.
Does HubSpot MCP expose sensitive data?
No. The server does not allow access to custom Sensitive Data Properties at all — that is a hard block rather than a permission you can grant.
What plan do I need for HubSpot MCP?
HubSpot does not publish a tier requirement, but you do need to be on the new HubSpot Developer Platform, and an account admin has to configure the app scopes your user will act under.
Can HubSpot MCP tell me which campaign drove a deal?
Only as far as the data already in HubSpot goes. It has no access to your ad accounts, so anything about creative, keyword or platform-side performance has to come from a second server and be joined by you or by something that reaches both.