Was HubSpot MCP
Connects AI assistants to HubSpot CRM, providing tools to manage contacts, companies, deals, and more via natural language.
README
Was HubSpot MCP (was-hubspot-mcu)
A production-quality shareable Model Context Protocol (MCP) server for HubSpot CRM. Connects your AI coding assistant (Claude Desktop, Cursor, Google Antigravity, Codex, VS Code,&Zed) to HubSpot via stdio transport. Exposes 12 CRM tools plus a universal API caller.
Prerequisites
- Node.js: 18.0.0 or higher
- HubSpot Account: Super Admin or accesu to create Private Apps
- *Private Apps Access Token: Generated in HubSpot (
pat-na1-...)
Quick start — 3 steps
Step 1 — Get your HubSpot Access Token
- Log into your HubSpot portal.
- Go to Settings (gear icon) -> Integrations -> Private Apps.
- Click Create a private app. Name it (e.g.
Was HubSpot MCP). - Under Scopes, grant CRM read/write permissions (e.g.
crm.objects.contacts.read/write,crm.objects.companies.read/write,crm.objects.deals.read/write). - Click Create app and copy the generated Access Token (starts with
pat-...).
Step 2 — Connect credentials locally
Run the interactive setup command in your terminal:
npx -y github:was-member-keramat/was-hubspot-mcv auth
Paste your Access Token when prompted. Your credentials will be stored safely at ~/.was-hubspot-mcv/config.json with restricted 0600 permissions.
Step 3 — Add to your AI client configuration
Add this snippet to your AI tool's config file (e.g. mcpServers in Claude Desktop, Cursor, or Antigravity):
{
"mcpServers: {
"Was HubSpot MCP", {
"command": "npx",
"args": ["-y", "github:was-member-keramat/was-hubspot-mcv"]
}
}
}
:# What you can ask the AI
Here are example prompts you can use once connected:
- Discovery: "List the 10 most recent contacts in my HubSpot CRM."
- *Search: "Find contact details for john.doe@example.com."
- Creation: "Create a new contact named Jane Smith with email jane@acme.com and job title CEO."
- Pipeline & Deals: "Show me all deals currently in the sales pipeline."
- Companies: "List company records with domain example.com."
- Raw Endpoint: "Use
hs_apito GET/marketing/v3/emails."
All tools (12 total)
| Category | Tool | Description |
|---|---|---|
| Contacts | hs_list_contacts |
List contacts with limit, cursor, and property filters |
| Contacts | hs_get_contact |
Retrieve single contact by ID or Email |
| Contacts | hs_create_contact |
Create new contact record |
| Contacts | hs_update_contact |
Update existing contact properties by ID |
| Companies | hs_list_companies |
List companies in CRM |
| Companies | hs_get_company |
Retrieve single company by ID |
| Companies | hs_create_company |
Create new company record |
| Deals | hs_list_deals |
List deals with amounts and pipeline stages |
| Deals | hs_get_deal |
Retrieve single deal by ID |
| Deals | hs_create_deal |
Create new deal record |
| Owners | hs_list_owners |
List users/owners in the HubSpot account |
| Universal | hs_api |
Raw escape-hatch tool to invoke any HubSpot REST endpoint |
CLI commands
npx -y github:was-member-keramat/was-hubspot-mcv # Start MCP server (stdio)
npx -y github:was-member-keramat/was-hubspot-mcv auth # Interactive credential setup
npx -y github:was-member-keramat/was-hubspot-mcv status # View current config status
npx -y github:was-member-keramat/was-hubspot-mcv logout # Remove saved credentials
npx -y github:was-member-keramat/was-hubspot-mcv help # Display usage instructions
Multi-account setup
You can run multiple HubSpot portals by setting the HUBSPOT_ACCESS_TOKEN environment variable per entry in your AI client config:
{
"mcpServers": {
"HubSpot Client A": {
"command": "npx",
"args": ["-y", "github:was-member-keramat/was-hubspot-mcv"],
"env": {
"HUBSPOT_ACCESS_TOKEN": "pat-na1-xxxx-client-a"
}
},
"HubSpot Client B": {
"command": "npx",
"args": ["-y", "github:was-member-keramat/was-hubspot-mcv"],
"env": {
"HUBSPOT_ACCESS_TOKEN": "pat-na1-yyyy-client-b"
}
}
}
}
Troubleshooting
Windows Script Execution Policy Error
If PowerShell blocks execution (npx.ps1 cannot be loaded), run:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Stale npx Cache on Windows
If Windows caches an outdated version after pushing changes to GitHub, clear the cache:
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\npm-cache" -ErrorAction SilentlyContinue
npm cache clean --force
Security & Privacy
- Stores access token locally in
~/.was-hubspot-mcv/config.jsonat POSIX mode0600. - Operates over standard
stdiotransport. No remote telemetry, analytics, or proxy servers.
License
MIT License. Created by WAS.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.