# Use Hubspot from your MCP Client
Source: https://speakeasy.com/mcp/using-mcp/mcp-server-providers/hubspot

This guide shows you how to connect your HubSpot CRM data to Claude Desktop using the Model Context Protocol (MCP). Once connected, you can analyze deals, update contacts, and manage your sales pipeline using natural language commands.

With the HubSpot MCP Server set up in Claude Desktop, you can ask Claude to "show me all deals in the negotiation stage" or "update the contact information for John Smith" and get immediate results instead of navigating through the HubSpot interface.

<video
  controls={false}
  loop={true}
  autoPlay={true}
  muted={true}
  width="100%"
  className="mt-10"
>
  <source src="/assets/mcp/using-mcp/hubspot-claude-quickstart/hubspot-mcp-demo.mp4" type="video/mp4" />
</video>

## Prerequisites

- A [HubSpot account](https://www.hubspot.com) with admin access
- An MCP Client like [Claude Desktop](https://claude.ai/download)

## Setting up the HubSpot MCP Server

The HubSpot MCP Server enables real-time connection between Claude and your HubSpot CRM data.

To set up this connection, you'll need to create a "private application" in HubSpot and configure it with the necessary permissions. Once created, HubSpot will provide an API key that the MCP server will use to access your CRM data.

### Creating a HubSpot private application

On the HubSpot dashboard, click the settings icon in the top navigation bar.

![HubSpot settings icon in the top navigation bar](/assets/mcp/using-mcp/hubspot-claude-quickstart/hubspot-settings-icon.png)

In your HubSpot account settings, go to **Integrations** > **Private Apps** and click **Create a private app**.

![HubSpot private apps page with "Create a private app" button](/assets/mcp/using-mcp/hubspot-claude-quickstart/hubspot-create-private-app.png)

Enter a name for the application.

![HubSpot private app creation form showing app name field](/assets/mcp/using-mcp/hubspot-claude-quickstart/hubspot-create-private-app-name.png)

Navigate to the **Scopes** tab and add the following scopes:

- `crm.lists.read` and `crm.lists.write`
- `crm.objects.companies.read`
- `crm.objects.contacts.read` and `crm.objects.contacts.write`
- `crm.objects.deals.read` and `crm.objects.deals.write`
- `crm.objects.appointments.read` and `crm.objects.appointments.write`
- `crm.objects.leads.read` and `crm.objects.leads.write`
- `crm.objects.custom.read` and `crm.objects.custom.write`

![HubSpot private app scopes configuration showing CRM permissions](/assets/mcp/using-mcp/hubspot-claude-quickstart/hubspot-create-private-app-scopes.png)

Add additional scopes based on the specific HubSpot features Claude needs to access in your workflow.

Click **Create app** in the top-right corner and validate the creation.

In the modal that opens, copy the API key and store it safely. You'll use this key when you add the MCP server to Claude Desktop.

![HubSpot API key modal displaying the generated private app access token](/assets/mcp/using-mcp/hubspot-claude-quickstart/hubspot-api-key-modal.png)

### Adding the HubSpot MCP Server to Claude Desktop

Now update your Claude Desktop configuration to include the MCP server. 

In **Settings**, go to **Developer** > **Edit Config**.

![Claude Desktop configuration settings](/assets/mcp/using-mcp/hubspot-claude-quickstart/claude-desktop-config-settings.png)

In the `claude_desktop_config.json` file that opens, add the HubSpot MCP Server configuration: 

```json
{
  "mcpServers": {
    "HubspotMCP": {
      "command": "npx",
      "args": ["-y", "@hubspot/mcp-server"],
      "env": {
        "PRIVATE_APP_ACCESS_TOKEN": "YOUR_HUBSPOT_KEY"
      }
    }
  }
}
```

Replace `YOUR_HUBSPOT_KEY` with the API key you copied from HubSpot.

Restart Claude Desktop to load the server.

## Testing the connection

In Claude Desktop, start a new chat. Click the **Search and tools** button to see the HubSpot MCP Server listed. Enable all tools if they're disabled.

![Claude Desktop settings showing HubSpot MCP tools enabled](/assets/mcp/using-mcp/hubspot-claude-quickstart/claude-enable-hubspot-tools.png)

Ask Claude to list the current contacts in your HubSpot application.

![Claude Desktop conversation showing successful HubSpot contact retrieval](/assets/mcp/using-mcp/hubspot-claude-quickstart/claude-hubspot-integration-test.png)

## Conclusion

Claude can now access and update your HubSpot data through natural language conversations. Here are some ways to get more from your setup.

### Expand integration capabilities

- Add more scopes to your private app for custom objects, advanced reporting, or marketing tools.
- Explore other MCP servers from the [official MCP servers repository](https://github.com/modelcontextprotocol/servers) to connect more tools in your sales stack.

### Optimize your workflow

- Create [custom slash commands](https://docs.claude.com/en/docs/claude-code/sdk/sdk-slash-commands#creating-custom-slash-commands) for common queries like pipeline analysis or contact updates.
- Set up regular data reviews using Claude's analytical capabilities.
- Train your team on natural language commands for faster CRM interactions.

### Learn more about MCP

- Explore the [Model Context Protocol documentation](https://docs.anthropic.com/en/docs/mcp) to understand advanced connection patterns.
- Check the [HubSpot MCP Server documentation](https://www.npmjs.com/package/@hubspot/mcp-server) for additional configuration options and troubleshooting.