HubSpot over MCP: previews before writes, always.
hubspot-mcp exposes HubSpot CRM as a Model Context Protocol server, distributable as a Claude Code plugin. It covers contacts, companies, deals, tickets, tasks, owners, pipelines, properties, lists, engagements, and docs search. Every mutating call goes through a preview → approve gate; approved writes record an undo snapshot and an audit-log entry.
Claude Code
First launch provisions a Python venv (~20-30s). Requires Python 3.12+ and a HubSpot private app (client ID + secret + redirect URI).
> /plugin marketplace add promptmetrics/hubspot-mcp > /plugin install hubspot-mcp@promptmetrics-hubspot-mcp # sign in to your portal, opens a browser for OAuth > /hubspot-mcp:auth ✓ OAuth login succeeded. 76 domain + 5 safety tools live (81 total).
Any MCP host (CLI)
The package also installs a hubspot-mcp console script for use outside Claude Code.
$ hubspot-mcp auth login --portal <id> $ hubspot-mcp run --transport stdio
- 76 domain tools: CRUD + search across every core CRM object, plus docs search.
- 5 safety tools: approve, reject, list pending writes, list recent audit, undo. No write touches HubSpot until approved.
- Bring-your-own-app OAuth: you supply your own HubSpot private app credentials; tokens refresh automatically. PAT fallback via the CLI.
- US or EU portals: set hubspot_region to eu for EU-hosted HubSpot accounts.
- Standalone CLI: hubspot-mcp run --transport stdio works outside the plugin, in any MCP host.
- Keychain-stored secrets: the client secret lives in your OS keychain; credentials file is chmod 600.
A preview → approve gate sits between the model and your portal.
- 01
Call
Claude calls a domain tool (create, update, delete, search) like any MCP tool.
- 02
Preview
Mutating calls return a preview of the affected records instead of executing.
- 03
Approve or reject
hubspot_approve_write executes; hubspot_reject_write discards. Pending writes are listable.
- 04
Undo
Approved writes record an undo snapshot and audit entry under ~/.claude/hubspot/.
hubspot_search_objectsSearch any CRM object with filters (dates as epoch-milliseconds).hubspot_approve_writeExecute a previewed mutation.hubspot_undo_writeRoll back an approved write from its snapshot.hubspot_list_recent_auditReview what changed, when, and by whom.Questions or issues? Open one on GitHub, or browse the rest of the catalog.
All open source