This MCP server provides integration with HubSpot CRM, allowing AI models to interact with HubSpot data and operations through a standardized interface. It enables tasks like managing contacts and companies, checking recent engagements, and automating workflows through the Model Context Protocol framework.
You need a HubSpot access token for each user. To obtain this:
Keep your access token secure and never commit it to version control.
You can either pull the image from Docker Hub or build it locally.
docker pull buryhuang/mcp-hubspot:latest
docker build -t mcp-hubspot .
docker run buryhuang/mcp-hubspot:latest
For automatic installation with Smithery:
npx -y @smithery/cli@latest install mcp-hubspot --client claude
This MCP server works with multiple HubSpot users, each with their own access token. Include the user's access token in each request using one of these methods:
X-HubSpot-Access-Token: your-token-here
accessToken
: {"accessToken": "your-token-here"}
hubspotAccessToken
: {"hubspotAccessToken": "your-token-here"}
async function makeHubSpotRequest(userId, action, params) {
// Retrieve the user's HubSpot token from your database
const userToken = await getUserHubSpotToken(userId);
// Make request to MCP server with the user's token
const response = await fetch('https://your-mcp-server.vercel.app/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-HubSpot-Access-Token': userToken
},
body: JSON.stringify({
action,
...params
})
});
return await response.json();
}
Configure your Claude Desktop settings with:
{
"mcpServers": {
"hubspot": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"buryhuang/mcp-hubspot:latest"
]
}
}
}
The server provides access to:
hubspot://hubspot_contacts
: Access to HubSpot contactshubspot://hubspot_companies
: Access to HubSpot companieshubspot://hubspot_recent_engagements
: Access to HubSpot engagements from the last 3 daysAll resources automatically update when objects are modified in HubSpot.
hubspot_get_contacts
hubspot_create_contact
firstname
(string): Contact's first namelastname
(string): Contact's last nameemail
(string, optional): Contact's email addressproperties
(dict, optional): Additional properties (e.g., {"phone": "123456789", "company": "HubSpot"}
)hubspot_get_companies
hubspot_create_company
name
(string): Company nameproperties
(dict, optional): Additional properties (e.g., {"domain": "example.com", "industry": "Technology"}
)hubspot_get_company_activity
company_id
(string): HubSpot company IDhubspot_get_recent_engagements
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
What's happening latestly with my pipeline?
To add this MCP server to Claude Code, run this command in your terminal:
claude mcp add-json "hubspot" '{"command":"docker","args":["run","-i","--rm","buryhuang/mcp-hubspot:latest"]}'
See the official Claude Code MCP documentation for more details.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"hubspot": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"buryhuang/mcp-hubspot:latest"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
2. Add this to your configuration file:
{
"mcpServers": {
"hubspot": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"buryhuang/mcp-hubspot:latest"
]
}
}
}
3. Restart Claude Desktop for the changes to take effect