Tool Friday #17 — HubSpot: Not In Love. Still Paying. Now Mostly Through MCP.
HubSpot is the CRM I keep paying for and not loving.
I’ve been on it for years. Free tier first. Then a paid stretch when the work demanded it. Then quietly back to the free tier where I sit now. The product has gotten better. My honest opinion has not. And a few months ago something changed that pushed it from “fine, keeps the lights on” to “genuinely faster than the alternatives.”
That something is the MCP server. We’ll get there.
This post skips the “what is a CRM” intro on purpose. Most of you already use HubSpot or have used it. The 101 is on their site. What’s worth writing about — and what I haven’t seen written from an operator angle — is what the four surfaces I actually open look like after three years, why I still default to the free tier when I can, and how the MCP server changed what I do inside the tool.
TL;DR: 8/10. The free CRM tier is the most underrated part of HubSpot — it runs real work, not just demos. The MCP server, official and current, is what pushed it from “fine” to “fast” for anyone working inside an agent harness like Claude Code. Wire it early, stay lean on seats, and the math works out. Lucid, not loving.
What HubSpot does well — the operator view
Skip the marketing site. These are the four surfaces I open weekly, and what’s worth knowing about each one once you’re past the basics.
The unified contact record. Every contact ties to a company, every company to deals, every deal to engagements (emails, calls, meetings, notes). One record, full history, searchable. The feature no other CRM has truly matched. Pipedrive fragments it. Salesforce buries it. After three years, this is still the reason I haven’t switched.
Deals and pipelines. Stage probabilities, weighted forecasts, deal-stage automation. Lighter than Salesforce, cleaner than Pipedrive. One habit I’d give anyone starting out: build pipeline stages around evidence (“demo booked,” “proposal sent,” “champion identified”), not feelings (“interested,” “engaged”). HubSpot lets you write whatever stages you want. The discipline is yours.
The engagements timeline. This is the surface I use most. Every email synced from Gmail, every note logged from a meeting, every call recorded if you’ve wired the integration. Filterable per contact, per deal, per company. Log internal notes after every conversation, even short ones. Future-you (or future-Claude reading via MCP) will thank you for it.
Workflows. The automation builder. Powerful, occasionally fragile, the place where “we run on HubSpot” stories quietly accumulate technical debt. Keep workflows few, name them clearly, and document them in a doc outside HubSpot. The builder UI rewards click-by-click thinking — and click-by-click thinking is exactly what doesn’t scale when the workflow logic gets re-read six months later.
That’s the core. Sequences, campaigns, custom objects, reports, the AI-feature-of-the-month — they exist, they work, I rarely need them.
Why I keep using it
The free tier covers a surprising amount of real work. Three of the four client projects I’m running right now sit on the free CRM tier. Unified record, deals, engagements, basic workflows — all there. No artificial cap that breaks the work. No nagging upgrade modal in the middle of a flow. The free version is the product, not a demo of it.
The contact data model is open. Custom properties, custom objects, custom pipelines — you can shape HubSpot around a weird business model without breaking it. I’ve never hit a hard ceiling that wasn’t a paid-tier feature gate.
The API is good. Documented, fast, sensibly rate-limited. Which brings us to the part that wasn’t true twelve months ago.
That’s the honest math. Not love. Compatibility.
The thing that changed: HubSpot’s MCP servers
HubSpot ships two official MCP servers. Most posts you’ll read about HubSpot + AI mention one of them, never both. They serve different audiences, and which one is right for you depends on whether you’re driving HubSpot data from an agent (use the Remote one) or building HubSpot apps (use the npm one).
Remote HubSpot MCP — https://mcp.hubspot.com — OAuth 2.0, GA. This is the one most readers will find first. Hosted by HubSpot. OAuth-with-PKCE handshake. Twelve tools covering the everyday CRM motion: search_crm_objects, get_crm_objects, manage_crm_objects, properties access, campaign analytics, user auth details. Permissions follow your HubSpot role. Sensitive Data accounts have activity restrictions. Setup time: about three minutes if your Claude Code is already wired for OAuth MCP servers.
Developer MCP — @hubspot/mcp-server (npm) — Private App token. Maintained by HubSpot staff. Built for developers building on top of HubSpot. More surface area than the Remote variant — twenty-plus tools including batch operations, engagement CRUD, association definitions, workflow inspection, schema reads. Auth is a Private App access token per portal. Setup is two lines in .mcp.json and a token from your HubSpot Developer settings.
I run the npm one. Two portals side by side — Stratega on NA1, a client on EU1 — token prefix routes the region automatically, namespace separation between mcp__hubspot__* and mcp__hubspot-chatty__* is clean. The reason I chose the Developer variant is the batch operations: when I’m syncing six months of engagements across eight accounts, batch reads matter. For someone just doing brief lookups, the Remote variant is simpler.
A concrete example. A pre-meeting brief on an enterprise account I had last week. Pre-MCP routine: open the company record, click through the four named stakeholders, pull the last engagement on each, scroll back in case I missed a thread. Twenty-five minutes minimum, longer if I’m tired.
The MCP version, typed into Claude Code:
“Pull company [Acme] from the EU portal. For each of its four contacts, get the three most recent engagements. Give me a one-paragraph brief per stakeholder — title, last touch, what we last discussed, anything flagged in the notes.”
Under the hood: one hubspot-search-objects for the company, four hubspot-list-associations to fan out to contacts, twelve hubspot-get-engagement calls in batched groups, one batch read on the contact properties. Same data, structured output back in my doc. Three minutes from prompt to paragraphs.
The MCP servers don’t add features the HubSpot API didn’t already expose. They don’t change pricing. They don’t make Sequences cheaper. What changes is friction: a tool I used to log into every day for boring lookups is now something I lean on multiple times per project, because the cost of running another query dropped to “type two more sentences” instead of “open another tab and click around for ten minutes.”
This is where the Matteo-sentence belongs: I killed the boring stuff. AI agents run up and down. I focus on what matters.
That’s not a slogan. That’s the math.
What I delegate, and what I never will
Delegated to MCP + Claude Code:
- Pre-meeting briefs — contacts, deals, engagements, last touch, owner. The lookup pass.
- Pipeline scans — “show me all deals in stage X that haven’t moved in 30 days, grouped by owner.” A one-line prompt instead of a saved filter and a CSV export.
- Cross-record reconciliation — when a contact, a deal, and an engagement disagree about who owns the next step. The agent reads all three, surfaces the conflict, doesn’t decide.
- Bulk reads for analysis — six months of engagements on eight target accounts, summarized into account-level briefs. Used to be a half-day. Now it’s a coffee.
Never delegated:
- Deal qualification. The judgment call about whether a deal is real, parked, or dead is mine. The agent surfaces the evidence. I make the call.
- Outbound copy. Every cold email I send still passes through a copy protocol I run by hand. AI-written outbound is the fastest way to burn a domain and a relationship at the same time.
- Call notes that need nuance. The agent can summarize. It can’t read the room.
- Anything that ends in a stakeholder receiving an email under my name. The MCP layer is for reading and analyzing. The writing-and-sending pass stays with a human, every time.
If you delegate both halves, you’re not running an agent harness. You’re running a slop generator with CRM access.
The verdict
Score: 8/10
The product is solid. The free tier is unfairly underrated — most “you’ll need to upgrade soon” claims are wrong, especially for solo operators and small teams. The MCP server, official and current, is what makes the tool genuinely fast for anyone working inside an agent harness.
Would I pay for HubSpot again? Yes, when the work demands it. Until then I’d happily run on the free tier as long as it holds — and it holds for longer than most people think.
Am I in love with HubSpot? No.
Would I switch? Not over the next twelve months. The unified record + the MCP server + the open data model are a combination nobody else ships at a comparable price point.
Wire the MCP server before you wire anything else. Stay lean on seats. Use the free tier until you can’t. That’s the play.
That’s the whole pitch. Lucid, not loving. Written from Dublin, with their coffee.
PS — about how I got here
The LinkedIn post that pointed most of you to this article said a stranger at HubSpot found my post and invited me over. A friend did.
Free to be mad at me. Everything else above checks out.
Tool Friday is a weekly series where I review one tool I actually use. This week: the CRM I keep paying for and not loving, the free tier most operators underrate, and the MCP server that turned a per-seat product into a per-prompt one.