connect-hubspot-mcp
Connect Claude to HubSpot's official remote MCP server for conversational CRM lookups, spot-checks, and small confirmed edits.
Skill by tomgranot
Chalk Labs
Need help deploying connect-hubspot-mcp?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tomgranot-connect-hubspot-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, security, sales, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/connect-hubspot-mcp
What's inside
- Skill name
connect-hubspot-mcp- Description
- Connect Claude to HubSpot's official remote MCP server for conversational CRM lookups, spot-checks, and small confirmed edits. Covers the MCP connector setup with OAuth and PKCE, what the server's tools can and cannot do, and when to use MCP versus the Agent CLI versus this repo's scripts.
- License
- MIT
- Metadata
- author: tomgranot · version: 2.0 · category: audit-planning
- Instructions
- 128 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Connect Claude to HubSpot via MCP Set up HubSpot's official remote MCP server so Claude can read and write CRM records conversationally: look up a contact, inspect a company's deals, spot-check the results of a cleanup, without writing a script for every question. ## Three Ways to Reach a Portal This toolkit can talk to HubSpot three ways. They overlap less than they appear to. | | Remote MCP server (this skill) | Agent CLI (`/connect-hubspot-agent-cli`) | REST scripts (every scripted skill) | |---|---|---|---| | Status | Generally available | Beta | v3/v4 paths, see `/audit-api-usage` | | Auth | OAuth as you, via an MCP connector | OAuth as you, or a service key | Service key in `.env` | | Best for | Lookups, spot-checks, judgment calls, small edits | Bulk and admin work driven from the terminal | Repeatable runs with a CSV audit trail and an abort threshold | | Bulk reads | 200 records per page | Paginated, JSONL out | Paginated | | Bulk writes | A few records at a time, each confirmed | JSONL in, dry run first | Batches of 100 | | Delete or archive | **Not available** | Yes, guarded | Yes, guarded | | Workflows | **Not available** | List, get, create, update, delete | Create, export, restore | | Properties | Create only | Create, update, archive | Create | | Runs headless (CI, scheduled) | No | With a service key | Yes | Rule of thumb: **MCP to look, scripts to change at scale.** Reach for the Agent CLI when a job is bulk or administrative and no scripted skill covers it. | Task shape | Use | |-----------|-----| | "Show me 5 contacts the cleanup touched" | MCP | | "Why is this company in Tier 2?" | MCP | | "Which open deals has nobody touched this quarter? Show me a few." | MCP | | "Delete 4,000 no-email contacts with an audit trail" | Scripts (`/delete-no-email-contacts`) | | "Create 10 segmentation lists" | Scripts (`/build-smart-lists`) | | "Export every workflow to JSON" | Scripts (`/workflows-as-code`) | | "Archive these 60 unused properties" | Agent CLI | ## What the Server Exposes HubSpot's remote MCP server lives at `https://mcp.hubspot.com` and speaks streamable HTTP. It currently offers 32 tools. The ones that matter for CRM administration: | Tool | What it does | Limit | |------|--------------|-------| | `get_user_details` | Your user, account, and per-object read/write access | Run this first to verify the connection | | `discover_hubspot_schema` | Object types and whether each is readable or writable | | | `search_crm_objects` | Search and filter records | 5 filter groups of 6 filters; 200 results per page | | `get_crm_objects` | Fetch records by ID | 100 IDs per call | | `query_crm_data` | SQL-style aggregate queries | No joins, subqueries, aliases, or association traversal | | `search_properties`, `get_properties` | Property definitions and enum values | 5 keywords per search | | `search_owners` | Owners by name, email, or ID | 100 results | | `manage_crm_objects` | Create or update records and activities | Shows a change summary and waits for confirmation | | `manage_custom_properties` | Create custom properties | Create only | | `manage_custom_pipelines` | Create and manage pipelines | Can edit the default pipeline | | `manage_segment` | Create segments; add or remove records in static segments | Requires confirmation | | `get_marketing_email_analytics` | Send statistics, health diagnostics, per-contact engagement | | | `tool_guidance` | Usage instructions for the other tools | Call before `query_crm_data` | The rest cover campaigns, conversations, buyer intent, landing and website pages, blog posts, and AEO. Readable objects include contacts, companies, deals, tickets, leads, custom objects, segments, activities, and owners. Revenue objects (invoices, orders, line items, products, quotes, subscriptions) are read-only and in beta. **What it cannot do**, and what to use instead: | Cannot | Use instead | |--------|-------------| | Delete or archive anything | The scripted skill for that cleanup, or the Agent CLI | | Read or change workflows | `/workflows-as-code`, `/cleanup-workflows`, or the Agent CLI | | Update or archive a property | `/cleanup-properties` or the Agent CLI | | Page through a large result set efficiently | A script. Use `query_crm_data` when a count or aggregate is all you need | | Read activities or conversations when Sensitive Data is enabled | The REST API, which is unaffected | ## Prerequisites - A HubSpot user who can create an MCP connector, or an admin who will create one for you - Claude Code, or the Claude app on a Pro, Max, Team, or Enterprise plan - Nothing else. This is separate from the service key the scripts use: MCP connects as *you*, with your HubSpot permissions ## Execution Pattern ### Stage 1: Plan 1. Decide who is connecting. Access is user-scoped, so connect with a user whose permissions match what you want Claude to be able to do. A read-only user gives a read-only connection. 2. Check with a Super Admin whether the portal restricts who can connect apps. MCP connections may need approval. ### Stage 2: Execute **Option A: the HubSpot connector in the Claude app (no terminal).** In Claude's connector settings, add the HubSpot connector and complete the OAuth flow in the browser. HubSpot's guide: knowledge.hubspot.com, "Set up and use the HubSpot connector for Claude". It runs on the same remote server, and HubSpot caps its bulk create and update at 10 records at a time. **Option B: Claude Code.** The server does not support dynamic client registration, so a bare `claude mcp add` cannot authenticate. Register a connector first: 1. In HubSpot, go to **Development > MCP Connectors** and click **Create MCP connector**. 2. Give it a name and a redirect URL. Claude Code listens on localhost during OAuth, so pick a fixed port and register `http://localhost:8765/callback`. The redirect URL must match exactly; if authentication fails with a redirect mismatch, copy the URL from the error into the connector. 3. Open the connector and copy its client ID and client secret. 4. Add the server, using the same port: ```bash claude mcp add --transport http --client-id YOUR_CLIENT_ID --client-secret --callback-port 8765 hubspot https://mcp.hubspot.com ``` Claude Code prompts for the secret. Do not paste it into the command line or commit it. 5. In Claude Code, run `/mcp`, choose `hubspot`, and authenticate. Pick the account, review the permissions, and authorize. You do not choose scopes. They are derived from the tools the server offers and the permissions you grant. When HubSpot adds tools that need new scopes, reconnect to grant them. HubSpot has not published Claude Code setup steps for the remote server; the steps above follow from the server's OAuth metadata and Claude Code's `claude mcp add` options. If they stop working, the connector in the Claude app (Option A) is the supported path. ### Stage 3: After Ask Claude for a harmless read and confirm it round-trips: > "Using the HubSpot MCP tools, call get_user_details, then fetch one contact and tell me its lifecycle stage." `get_user_details` also reports which objects the connection can write to. If that list is longer than you intended, reconnect as a user with narrower permissions. If the call fails, check that the OAuth flow completed, that the redirect URL and port match the connector, and that the portal has not blocked the connection. ## Rollback - Remove the server from Claude Code: `claude mcp remove hubspot`. - Revoke the connection in HubSpot under Settings > Integrations > Connected Apps, and delete the MCP connector under Development > MCP Connectors. Deleting the connector invalidates its tokens. ## Technical Gotchas 1. **MCP access is user-scoped.** Claude can do exactly what your HubSpot user can do. There is no separate permission layer to fall back on.
From TomGranot/hubspot-admin-skills, MIT.
More from TomGranot/hubspot-admin-skills
- 0.675score
sandbox-self-test
tomgranot
Verify the entire toolkit against a disposable HubSpot developer test account or sandbox that you bring: seed synthetic fixtures, run every scripted skill's…
SkillAFreshness: A★ 77Claude Code +9 - 0.675score
hubspot-audit
tomgranot
Run a full, read-only HubSpot portal audit covering both the marketing and sales sides: database, deliverability, engagement, owners, pipelines, deal quality…
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
create-icp-tiers
tomgranot
Classify companies into Ideal Customer Profile (ICP) tiers based on firmographic data (industry + employee count).
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
suppress-global-unsubscribes
tomgranot
Identify and suppress globally unsubscribed contacts to ensure legal compliance and reduce billing.
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
new-contact-hygiene-workflow
tomgranot
Build a HubSpot workflow that auto-enriches and stages new contacts upon creation.
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
merge-duplicate-companies
tomgranot
Identify duplicate company records by domain and name, export audit CSVs for review, and guide merging.
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
bounce-monitoring-workflow
tomgranot
Build a workflow to protect sender reputation through automated bounce monitoring.
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
lifecycle-progression-workflow
tomgranot
Build workflows to automate contact progression through the sales funnel: Lead to MQL to SQL to Opportunity to Customer.
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
build-smart-lists
tomgranot
Create foundational segmented lists for marketing and sales operations via the Lists API, plus advanced UI-built segments: a master sendable list, ICP-based…
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
cleanup-deals
tomgranot
Find past-due, stale, incomplete, unexplained-loss, and likely test deals, then route each owner's flagged deals to them as one review task.
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
assign-unowned-contacts
tomgranot
Assign an owner to marketing contacts that have no owner.
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
delete-no-email-contacts
tomgranot
Delete contacts with no email address from a HubSpot CRM instance.
SkillAFreshness: A★ 77Claude Code +9
Signals
- Stars
- 77
- Forks
- 18
- Open issues
- 0
- Last commit (this folder)
- Oct 12, 2026 (24 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 2.0
- License
- MIT
- Website
- hubspot.granot.io
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tomgranot
- 0.675score
hubspot-audit
tomgranot
Run a full, read-only HubSpot portal audit covering both the marketing and sales sides: database, deliverability, engagement, owners, pipelines, deal quality…
SkillAFreshness: A★ 77Claude Code +9 - 0.675score
sandbox-self-test
tomgranot
Verify the entire toolkit against a disposable HubSpot developer test account or sandbox that you bring: seed synthetic fixtures, run every scripted skill's…
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
merge-duplicate-companies
tomgranot
Identify duplicate company records by domain and name, export audit CSVs for review, and guide merging.
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
suppress-global-unsubscribes
tomgranot
Identify and suppress globally unsubscribed contacts to ensure legal compliance and reduce billing.
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
assign-unowned-contacts
tomgranot
Assign an owner to marketing contacts that have no owner.
SkillAFreshness: A★ 77Claude Code +9 - 0.672score
lifecycle-progression-workflow
tomgranot
Build workflows to automate contact progression through the sales funnel: Lead to MQL to SQL to Opportunity to Customer.
SkillAFreshness: A★ 77Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get connect-hubspot-mcp running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
connect-hubspot-mcp skill. Agent Mart. https://agentmart.dev/skills/tomgranot-connect-hubspot-mcp (last updated 2026-10-24)