Supports configuration through .env files, allowing users to store their HubSpot API access tokens and other environment variables securely for development purposes.
Available through GitHub repository, allowing users to clone and extend the server for additional HubSpot API capabilities.
Provides comprehensive tools for interacting with HubSpot CRM data, including creating and managing contacts and companies, retrieving company activity history and engagement timelines, accessing recent engagement data, getting lists of recently active companies and contacts, and performing CRM operations.
Integrates with npm packages, particularly mcp-proxy-auth for authentication, enabling secure API key verification for the SSE server.
Built with TypeScript, providing type safety and modern JavaScript features for the server implementation.
HubSpot MCP Server
A powerful Model Context Protocol (MCP) server implementation for seamless HubSpot CRM integration, enabling AI assistants to interact with your HubSpot data.
Overview
This MCP server provides a comprehensive set of tools for interacting with the HubSpot CRM API, allowing AI assistants to:
Create and manage contacts and companies in your HubSpot CRM
Retrieve detailed company activity history and engagement timelines
Access recent engagement data across your entire HubSpot instance
Get lists of recently active companies and contacts
Perform CRM operations without leaving your AI assistant interface
Why Use This MCP Server?
Seamless AI Integration: Connect your AI assistants directly to your HubSpot CRM data
Simplified CRM Operations: Perform common HubSpot tasks through natural language commands
Real-time Data Access: Get up-to-date information from your HubSpot instance
Secure Authentication: Uses HubSpot's secure API token authentication
Extensible Design: Easily add more HubSpot API capabilities as needed
Installation
Configuration
The server requires a HubSpot API access token. You can obtain one by:
Going to your HubSpot Developer Account
Creating a private app with the necessary scopes (contacts, companies, engagements)
Copying the generated access token
You can provide the token in two ways:
As an environment variable:
HUBSPOT_ACCESS_TOKEN=your-access-tokenAs a command-line argument:
npm start -- --access-token=your-access-token
For development, create a .env
file in the project root to store your environment variables:
Usage
Starting the Server
Implementing Authentication in SSE Server
The SSE server uses the mcp-proxy-auth package for authentication. To implement authentication:
Install the package:
npm install mcp-proxy-authSet the
AUTH_SERVER_URL
environment variable to point to your API key verification endpoint:export AUTH_SERVER_URL=https://your-auth-server.com/verifyRun the SSE server with authentication:
npx mcp-proxy-auth node dist/index.jsThe SSE URL will be available at:
localhost:8080/sse?apiKey=apikeyReplace
apikey
with your actual API key for authentication.
The mcp-proxy-auth
package acts as a proxy that:
Intercepts requests to your SSE server
Verifies API keys against your authentication server
Only allows authenticated requests to reach your SSE endpoint
Integrating with AI Assistants
This MCP server is designed to work with AI assistants that support the Model Context Protocol. Once running, the server exposes a set of tools that can be used by compatible AI assistants to interact with your HubSpot CRM data.
Available Tools
The server exposes the following powerful HubSpot integration tools:
hubspot_create_contact
Create a new contact in HubSpot with duplicate checking
Parameters:
firstname
(string, required): Contact's first namelastname
(string, required): Contact's last nameemail
(string, optional): Contact's email addressproperties
(object, optional): Additional contact properties like company, phone, etc.
Example:
{ "firstname": "John", "lastname": "Doe", "email": "john.doe@example.com", "properties": { "company": "Acme Inc", "phone": "555-123-4567", "jobtitle": "Software Engineer" } }
hubspot_create_company
Create a new company in HubSpot with duplicate checking
Parameters:
name
(string, required): Company nameproperties
(object, optional): Additional company properties
Example:
{ "name": "Acme Corporation", "properties": { "domain": "acme.com", "industry": "Technology", "phone": "555-987-6543", "city": "San Francisco", "state": "CA" } }
hubspot_get_company_activity
Get comprehensive activity history for a specific company
Parameters:
company_id
(string, required): HubSpot company ID
Returns detailed engagement data including emails, calls, meetings, notes, and tasks
hubspot_get_recent_engagements
Get recent engagement activities across all contacts and companies
Parameters:
days
(number, optional, default: 7): Number of days to look backlimit
(number, optional, default: 50): Maximum number of engagements to return
Returns a chronological list of all recent CRM activities
hubspot_get_active_companies
Get most recently active companies from HubSpot
Parameters:
limit
(number, optional, default: 10): Maximum number of companies to return
Returns companies sorted by last modified date
hubspot_get_active_contacts
Get most recently active contacts from HubSpot
Parameters:
limit
(number, optional, default: 10): Maximum number of contacts to return
Returns contacts sorted by last modified date
Extending the Server
The server is designed to be easily extensible. To add new HubSpot API capabilities:
Add new methods to the
HubSpotClient
class insrc/hubspot-client.ts
Register new tools in the
setupToolHandlers
method insrc/index.ts
Rebuild the project with
npm run build
License
This project is licensed under the MIT License - see the LICENSE file for details.
Keywords
HubSpot, CRM, Model Context Protocol, MCP, AI Assistant, TypeScript, API Integration, HubSpot API, CRM Integration, Contact Management, Company Management, Engagement Tracking, AI Tools
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A server implementation that enables AI assistants to interact with HubSpot CRM data, allowing for seamless creation and management of contacts and companies, retrieval of activity history, and access to engagement data through natural language commands.
Related MCP Servers
- AsecurityAlicenseAqualityEnables AI models to interact with HubSpot CRM data and operations through a standardized interface, supporting contact and company management.Last updated -104MIT License
- -securityAlicense-qualityA server that enables AI models to interact with HubSpot CRM data and operations through a standardized interface, supporting contact and company management with multi-user token-based authentication.Last updated -MIT License
- AsecurityAlicenseAqualityEnables AI models to interact with HubSpot CRM data and operations through a standardized interface while providing a centralized shared space for teams to share conversation summaries in real time.
- -securityFlicense-qualityAn auto-generated Multi-Agent Conversation Protocol Server for interacting with HubSpot CMS API, allowing AI agents to manage HubSpot content management system through natural language commands.Last updated -