HubSpot MCP Server

# HubSpot MCP Server [![Docker Hub](https://img.shields.io/docker/v/buryhuang/mcp-hubspot?label=Docker%20Hub)](https://hub.docker.com/r/buryhuang/mcp-hubspot) [![Docker Hub](https://img.shields.io/docker/pulls/buryhuang/mcp-hubspot?label=Docker%20Hub)](https://hub.docker.com/r/buryhuang/mcp-hubspot) [![smithery badge](https://smithery.ai/badge/mcp-hubspot)](https://smithery.ai/server/mcp-hubspot/prod)[![smithery badge](https://smithery.ai/badge/buryhuang/mcp-hubspot)](https://smithery.ai/server/buryhuang/mcp-hubspot) ## Overview A Model Context Protocol (MCP) server implementation that provides integration with HubSpot CRM. This server enables AI models to interact with HubSpot data and operations through a standardized interface. For more information about the Model Context Protocol and how it works, see [Anthropic's MCP documentation](https://www.anthropic.com/news/model-context-protocol). <a href="https://glama.ai/mcp/servers/vpoifk4jai"><img width="380" height="200" src="https://glama.ai/mcp/servers/vpoifk4jai/badge" alt="HubSpot Server MCP server" /></a> ## Components ### Resources No resources are implemented. At the end of the day, tools are all we need. ### Example Prompts - Create Hubspot contacts by copying from LinkedIn profile webpage: ``` Create HubSpot contacts and companies from following: John Doe Software Engineer at Tech Corp San Francisco Bay Area • 500+ connections Experience Tech Corp Software Engineer Jan 2020 - Present · 4 yrs San Francisco, California Previous Company Inc. Senior Developer 2018 - 2020 · 2 yrs Education University of California, Berkeley Computer Science, BS 2014 - 2018 ``` - Get latest activities for your company: ``` What's happening latestly with my pipeline? ``` ### Tools The server offers several tools for managing HubSpot objects: #### Contact Management Tools * `hubspot_create_contact` * Create a new contact in HubSpot (checks for duplicates before creation) * Input: * `firstname` (string): Contact's first name * `lastname` (string): Contact's last name * `email` (string, optional): Contact's email address * `properties` (dict, optional): Additional contact properties * Example: `{"phone": "123456789", "company": "HubSpot"}` * Behavior: * Checks for existing contacts with the same first name and last name * If `company` is provided in properties, also checks for matches with the same company * Returns existing contact details if a match is found * Creates new contact only if no match is found #### Company Management Tools * `hubspot_create_company` * Create a new company in HubSpot (checks for duplicates before creation) * Input: * `name` (string): Company name * `properties` (dict, optional): Additional company properties * Example: `{"domain": "example.com", "industry": "Technology"}` * Behavior: * Checks for existing companies with the same name * Returns existing company details if a match is found * Creates new company only if no match is found * `hubspot_get_company_activity` * Get activity history for a specific company * Input: * `company_id` (string): HubSpot company ID * Returns: Array of activity objects #### Engagement Tools * `hubspot_get_recent_engagements` * Get recent engagement activities across all contacts and companies * Input: * `days` (integer, optional): Number of days to look back (default: 7) * `limit` (integer, optional): Maximum number of engagements to return (default: 50) * Returns: Array of engagement objects with full metadata * `hubspot_get_recent_companies` * Get most recently active companies from HubSpot * Input: * `limit` (integer, optional): Maximum number of companies to return (default: 10) * Returns: Array of company objects with full metadata * `hubspot_get_recent_contacts` * Get most recently active contacts from HubSpot * Input: * `limit` (integer, optional): Maximum number of contacts to return (default: 10) * Returns: Array of contact objects with full metadata ## Setup ### Installing via Smithery To install buryhuang/mcp-hubspot for Claude Desktop automatically via [Smithery](https://smithery.ai/server/buryhuang/mcp-hubspot): ```bash npx -y @smithery/cli install buryhuang/mcp-hubspot --client claude ``` ### Prerequisites You'll need a HubSpot access token. You can obtain this by: 1. Creating a private app in your HubSpot account: Follow the [HubSpot Private Apps Guide](https://developers.hubspot.com/docs/guides/apps/private-apps/overview) - Go to your HubSpot account settings - Navigate to Integrations > Private Apps - Click "Create private app" - Fill in the basic information: - Name your app - Add description - Upload logo (optional) - Define required scopes: - tickets - crm.objects.contacts.write - crm.objects.contacts.sensitive.read - crm.objects.companies.sensitive.read - sales-email-read - crm.objects.deals.sensitive.read - crm.objects.companies.write - crm.objects.companies.read - crm.objects.deals.read - crm.objects.deals.write - crm.objects.contacts.read - Review and create the app - Copy the generated access token Note: Keep your access token secure and never commit it to version control. ### Docker Installation You can either build the image locally or pull it from Docker Hub. The image is built for the Linux platform. #### Supported Platforms - Linux/amd64 - Linux/arm64 - Linux/arm/v7 #### Option 1: Pull from Docker Hub ```bash docker pull buryhuang/mcp-hubspot:latest ``` #### Option 2: Build Locally ```bash docker build -t mcp-hubspot . ``` Run the container: ```bash docker run \ -e HUBSPOT_ACCESS_TOKEN=your_access_token_here \ buryhuang/mcp-hubspot:latest ``` You can also pass the access token directly as a command-line argument: ```bash docker run \ buryhuang/mcp-hubspot:latest \ --access-token your_access_token_here ``` ## Cross-Platform Publishing To publish the Docker image for multiple platforms, you can use the `docker buildx` command. Follow these steps: 1. **Create a new builder instance** (if you haven't already): ```bash docker buildx create --use ``` 2. **Build and push the image for multiple platforms**: ```bash docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t buryhuang/mcp-hubspot:latest --push . ``` 3. **Verify the image is available for the specified platforms**: ```bash docker buildx imagetools inspect buryhuang/mcp-hubspot:latest ``` ## Usage with Claude Desktop ### Installing via Smithery To install mcp-hubspot for Claude Desktop automatically via [Smithery](https://smithery.ai/server/mcp-hubspot/prod): ```bash npx -y @smithery/cli@latest install mcp-hubspot --client claude ``` ### Docker Usage ```json { "mcpServers": { "hubspot": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "HUBSPOT_ACCESS_TOKEN=your_access_token_here", "buryhuang/mcp-hubspot:latest" ] } } } ``` You can also use the command-line argument: ```json { "mcpServers": { "hubspot": { "command": "docker", "args": [ "run", "-i", "--rm", "buryhuang/mcp-hubspot:latest", "--access-token", "your_access_token_here" ] } } } ``` ## Development To set up the development environment: ```bash pip install -e . ``` ## License This project is licensed under the MIT License.