Agentbrisk
crm TypeScript

HubSpot MCP Server

Let AI agents read and write HubSpot contacts, companies, deals, and tickets through the CRM API


HubSpot MCP Server implementations give AI agents access to HubSpot CRM data including contacts, companies, deals, tickets, and activities. As of 2026 there is no official HubSpot-published server, but several credible community and platform implementations exist that cover the core CRM API surface and are actively maintained.

HubSpot centralizes the contact, deal, and customer data that drives sales and marketing workflows for a lot of teams. Getting an AI agent to work with that data productively requires actual API access, not just training knowledge about how HubSpot is structured. The HubSpot MCP Server provides that access.

HubSpot has not released an official MCP server as of early 2026. What exists is a set of community and platform implementations that cover the HubSpot CRM API with reasonable depth. The most actively maintained options work reliably for the core CRM use cases: reading and searching contacts, companies, deals, and tickets, and performing standard write operations.

The official vs. community situation

Being honest about this upfront: the servers available are community-built. Pipedream's implementation is one of the more credible options, built by a team with extensive API integration experience and maintained as part of their broader automation platform. Other community implementations exist on GitHub with varying levels of documentation and maintenance activity.

For teams evaluating these servers, the practical question is not whether they are official but whether they are maintained, accurate to the HubSpot API, and trustworthy enough to run against your CRM data. The Pipedream-based implementation meets that bar. Before using any implementation, check the GitHub repository's recent commit activity and open issues to assess current maintenance status.

What the server exposes

The tool surface maps to HubSpot's core CRM object model:

Contacts. Search contacts by email, name, or property values. Read contact records including standard properties (first name, last name, email, phone, lifecycle stage) and custom properties. Create new contacts, update properties on existing ones. For sales workflows, contact access is the foundational operation everything else builds from.

Companies. List and search company records, read company properties, create and update company records. The association between companies and contacts is queryable, so the agent can start with a company and traverse to its associated contacts, or start with a contact and read their associated company.

Deals. Read deals in a pipeline, filter by stage, check close dates and amounts, and update deal properties. For revenue-focused workflows, deal access is often more important than contact access. The agent can answer questions like "what deals are in the proposal stage closing this month" or "show me all deals associated with contacts from Acme Corp".

Tickets. Access support tickets, read status and priority fields, and look up tickets associated with specific contacts or companies. For teams using HubSpot Service Hub alongside the CRM, ticket access rounds out the picture of a customer's history.

Associations. The HubSpot data model is heavily associative: contacts are linked to companies, deals are linked to contacts, tickets are linked to deals. The server can query these associations to give the agent a full picture of how records relate.

Notes and activities. Read logged activities (calls, emails, meetings) and notes associated with CRM records. This is where the narrative context lives: what was discussed in the last sales call, what the customer said in a recent support interaction.

Setup

HubSpot Private Apps are the right authentication mechanism for server-side integrations. They give you a stable access token with configurable scopes and do not require OAuth redirect flows.

Create a Private App:

  1. Go to your HubSpot portal Settings > Integrations > Private Apps
  2. Click "Create a private app"
  3. Give it a name (something like "MCP Agent - Dev")
  4. On the Scopes tab, select the CRM object scopes you need
  5. Click "Create app" and copy the access token from the confirmation screen

You cannot retrieve the token after this screen. Copy it immediately to a secure location.

Add to Claude Desktop at ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "hubspot": {
      "command": "npx",
      "args": ["-y", "@pipedream/hubspot-mcp"],
      "env": {
        "HUBSPOT_ACCESS_TOKEN": "your-private-app-token"
      }
    }
  }
}

The exact package name depends on which implementation you use. Check the specific repository for current install instructions, as package names may differ from the example above.

For Claude Code, add the same block to ~/.claude/mcp.json.

Minimum required scopes for read-only access:

crm.objects.contacts.read
crm.objects.companies.read
crm.objects.deals.read
crm.objects.tickets.read
crm.objects.notes.read

Add write scopes only if your workflow requires creating or updating records:

crm.objects.contacts.write
crm.objects.deals.write

Start with read-only and add write scopes after you have validated the workflow.

Real use cases

Pre-call research. Before a sales call, the agent can pull up everything HubSpot has on a contact: their company, the deal pipeline, recent notes and logged activities, and any open tickets. This takes the agent a few seconds and produces a summary that would otherwise require manually navigating several HubSpot views. Combine with Exa MCP to add recent web research about the company to the brief.

Pipeline reviews. "Show me all deals in the proposal stage owned by a specific rep that have not had any activity in the last 14 days" is a compound query that requires filtering deals, checking dates, and cross-referencing owner assignments. An agent with HubSpot access can answer that in one prompt. This is the kind of data pull that normally requires a HubSpot report or a manual export.

Contact and company enrichment. When a new contact enters the CRM with minimal data, the agent can pull what HubSpot has, search for additional context from external sources, and suggest property updates to fill gaps. This works well as a guided workflow where the agent proposes updates and a human confirms them.

Support ticket triage. For teams handling customer support in HubSpot, the agent can list open tickets by priority, find tickets from contacts with active deals, or group tickets by reported issue type. Surfacing that information in plain language is faster than building and running a HubSpot saved view.

Data quality checks. CRMs accumulate duplicate contacts, contacts without associated companies, and deals stuck in the same stage for months. The agent can query for these patterns systematically and produce a list of records needing attention, which a human then reviews and acts on.

Meeting and follow-up prep. After a call is logged in HubSpot, the agent can retrieve the note content, identify commitments mentioned, and help draft a follow-up email that references the specific points discussed. This requires the notes and activities access to get the context right.

Security and access considerations

The private app access token is the critical credential. A few things worth enforcing:

Scope to what you need. A private app with all CRM scopes can read and write everything in your portal. Scope to the specific object types and access levels (read vs. write) that your workflow requires. If the agent only needs to read contacts and deals, do not add write scopes.

Create separate apps for development and production. If you are evaluating the server with test data, create a private app in a HubSpot developer account (free) rather than in your production portal. Keep production portal credentials separate and do not use them for exploratory agent sessions.

Rotate tokens if exposed. Private app tokens can be regenerated from the Private Apps settings. If a token is exposed (committed to a repo, logged somewhere it should not be), regenerate it immediately and revoke the old one.

Do not commit the token to version control. The config file pattern shows the token in the env block. The actual token value should come from an environment variable or a secrets manager, not hardcoded in the file. If your config file is in a repository, this is non-negotiable.

What to check before choosing an implementation

Because there is no official HubSpot MCP server, spend a few minutes evaluating whichever implementation you are considering:

Look at the last commit date and the frequency of recent commits. An implementation that has not been updated in six months may have fallen behind HubSpot API changes.

Check the open issues for reports of broken tools or missing coverage. A few open issues is normal. A large backlog of unanswered bug reports is a warning sign.

Confirm the authentication method. Private App tokens are the current HubSpot recommendation. Implementations using legacy API keys (which HubSpot deprecated) should be avoided.

Read the README for the full list of exposed tools. Some implementations cover only a subset of CRM objects. Make sure the objects you need are in the tool list.

Pairing with other servers

HubSpot MCP pairs naturally with a few other servers depending on your workflow. Combined with Slack MCP, the agent can pull a deal's status and post a pipeline update to a channel. Combined with Gmail MCP or a calendar integration, the agent can correlate email threads with CRM records to surface context before a meeting.

For teams tracking projects alongside CRM data, combining HubSpot MCP with Asana MCP or Linear MCP lets the agent move from a closed deal to the corresponding onboarding project in a single session.

Bottom line

The HubSpot MCP Server fills a real gap: CRM data is often the most complete record of customer relationships a business has, and agents that can query it directly are more useful than ones working from summaries or screenshots. The lack of an official HubSpot implementation is worth knowing but is not a blocker. The community implementations work, and the HubSpot Private App authentication model is solid.

Evaluate the implementation you choose, scope your private app credentials carefully, and keep production portal access reserved for workflows you have tested and reviewed. Within those constraints, this is a genuine productivity gain for sales and customer success workflows.

Features

  • Search and read HubSpot contacts, companies, and deals
  • Create and update CRM records through the HubSpot API
  • List and filter tickets and support records
  • Retrieve activity and engagement history for records
  • Search associations between CRM objects
  • Authenticate via HubSpot Private App access token
  • Read pipeline and deal stage configuration
  • Compatible with Claude Desktop and Claude Code via stdio transport

How to set up the HubSpot MCP Server MCP server

  1. Create a HubSpot Private App in your portal settings and generate an access token
  2. Grant the private app the required scopes for the CRM objects you need
  3. Add the server block to your Claude Desktop or Claude Code MCP config
  4. Set HUBSPOT_ACCESS_TOKEN in the env block of the config
  5. Restart your MCP client and verify HubSpot tools appear in the tool list

Frequently Asked Questions

Is there an official HubSpot MCP Server?
Not as of early 2026. HubSpot has not published an official Model Context Protocol server. The available implementations are community and platform-built servers that use the HubSpot API. They work well, but you should evaluate them with the understanding that they are not produced or maintained by HubSpot directly.
How does the HubSpot MCP Server authenticate?
The standard approach uses a HubSpot Private App access token. You create the private app in your HubSpot portal under Settings > Integrations > Private Apps, configure the required scopes, and use the generated token as the authentication credential. Private apps are the recommended HubSpot API auth method for server-side integrations and do not require OAuth redirects.
What CRM objects can the HubSpot MCP Server access?
The core objects available through the HubSpot API (and exposed by most implementations) are contacts, companies, deals, tickets, and notes. Depending on which implementation you use, you may also get access to lists, properties, activities, and custom objects. Check the specific server's documentation for the exact tool surface.
Can the HubSpot MCP Server write to the CRM?
Yes, most implementations support both read and write operations. The agent can create contacts, update deal stages, add notes, and create tickets. Because write access to a CRM can have real business consequences, use specific prompts and review what the agent is doing when running write operations, especially in production portals.
Should I use this with my production HubSpot portal?
Use caution. HubSpot does not have a staging environment equivalent for CRM data, so there is no sandbox to test against. For evaluation and development, consider creating a HubSpot developer account (free) with test data. Limit write-capable sessions in your production portal to specific, reviewed tasks rather than open-ended agent exploration.
What scopes does the Private App need?
At minimum for read access to core objects, you need crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read, and crm.objects.tickets.read. For write access, add the corresponding write scopes. Grant only the scopes your workflow actually uses.
Search