What is the right way to connect Claude Code to HubSpot?

There are three first-party ways in, and they overlap less than they appear to. The MCP server is for conversational lookups and cannot delete records or touch workflows. The Agent CLI (beta) does bulk writes, deletes and workflow changes from the terminal. A service key drives REST scripts, which are the right tool for anything repeatable or destructive at scale.

Before the CLI, any HubSpot job that was too big for MCP needed a purpose-written script. That is still the right answer for work you repeat and need to audit. For the long tail of one-off administrative jobs (archive these 60 properties, re-label this association, upsert this file) a script is overhead, and the CLI fills the gap. — from the Connect Claude Code to HubSpot via the Agent CLI skill

Fix it with one command

The connect-hubspot-agent-cli skill walks Claude Code through the entire fix — audit, CSV baseline, execution, and verification.

/plugin marketplace add tomgranot/hubspot-admin-skills
/plugin install hubspot-admin@hubspot-admin-skills
/connect-hubspot-agent-cli

Frequently asked questions

Can the HubSpot MCP server delete contacts?

No. The remote MCP server has no delete or archive tool, and no workflow tools. Use a scripted skill or the Agent CLI for those.

Why does claude mcp add fail to authenticate with HubSpot?

HubSpot’s MCP server does not support dynamic client registration. Create an MCP connector in HubSpot first, then pass its client ID, secret and a fixed callback port to claude mcp add. The connect-hubspot-mcp skill has the steps.

Is the HubSpot Agent CLI safe for bulk changes?

It is beta, and it has fewer guard rails than a purpose-built script: no before-state export and no abort threshold. Use its dry-run mode every time, export the affected records first, and prefer a scripted skill when one exists.

More audit & planning skills