Ops HubSpot CRM MCP Server
Custom MCP server for HubSpot CRM providing ICP segmentation, scoring, duplicate detection, Data Quality Score, and lifecycle stage automation. Exposes 39 tools to enhance HubSpot's native capabilities.
README
Serveur MCP OPS Hubpost CRM
Serveur MCP (Model Context Protocol) personnalisé pour HubSpot CRM — segmentation ICP, scoring, détection de doublons, Data Quality Score et automatisation lifecycle stage.
Structure
hubspot-mcp-server/
├── server.py # Serveur MCP FastMCP (39 outils)
├── requirements.txt # Dépendances Python
├── .env.example # Template de configuration
└── .gitignore
Rôle
Expose la logique métier propre au workspace (Fit Score ICP, détection doublons, calcul DQS) que le MCP officiel HubSpot ne fournit pas nativement.
Installation
cd hubspot-mcp-server
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Éditer .env avec ton Private App Access Token HubSpot
Démarrage
python server.py
# Tester avec MCP Inspector : npx @modelcontextprotocol/inspector python server.py
Outils exposés (39)
Audit & Qualité
audit_contacts_completeness— calcule le taux de complétudecompute_dqs— calcul du Data Quality Score (DQS)detect_duplicate_contacts— détection de doublons (name+company, email)detect_duplicate_companies— détection de doublons companies
Scoring & Segmentation
calculate_fit_score— applique la grille ICP Fit Scorecalculate_company_fit_score— scoring firmographique companiescalculate_company_engagement_score— scoring engagement companiescalculate_company_combined_score— score combiné (fit + engagement + techno)calculate_company_techno_score— scoring technographiquesync_segmentation_properties— synchronise les propriétés ICPsync_company_segmentation— segmentation companies
Lifecycle & Pipeline
update_lifecyclestage— promotion automatique de lifecyclestageupdate_company_lifecyclestage— lifecyclestage companiesdetect_founder_signals— détection des signaux forts founder-leddetect_company_signals— détection signaux companies
Enrichissement & Complétion
standardize_contact— standardisation des contactsstandardize_company_properties— standardisation companiescomplete_missing_fields— complétion champs critiquescomplete_company_fields— complétion companies
Reporting
generate_weekly_report— rapport hebdomadaire completgenerate_company_report— rapport companiesgenerate_revops_report— rapport RevOps
Administration
create_custom_properties— création des propriétés customfix_lifecycle_stages— correction lifecycle stagesdedupe_contacts— fusion de doublons contactsdedupe_companies— fusion de doublons companiesbulk_update_properties— mise à jour en masse
Propriétés Custom
Contacts (6)
| Propriété | Type | Description |
|---|---|---|
fit_score |
number | Score ICP 0-50 |
icp_tier |
dropdown | Tier 1 / Tier 2 / Tier 3 / Not ICP |
founder_signal_type |
string | Type de signal founder détecté |
last_signal_date |
date | Date du dernier signal |
duplicate_flag |
boolean | Contact potentiellement dupliqué |
tier1_alert_sent_date |
date | Date d'alerte Tier 1 |
Companies (11)
| Propriété | Type | Description |
|---|---|---|
icp_tier_company |
dropdown | Tier 1 / Tier 2 / Tier 3 |
company_fit_score |
number | Score fit 0-60 |
company_engagement_score |
number | Score engagement 0-40 |
company_combined_score |
number | Score combiné 0-118 |
company_techno_score |
number | Score techno 0-18 |
last_company_sync_date |
date | Dernière synchronisation |
company_tier1_alert_sent_date |
date | Date d'alerte Tier 1 |
recent_funding_amount |
number | Financement récent |
num_locations |
number | Nombre de localisations |
existing_hubspot_customer |
boolean | Client HubSpot existant |
ecommerce_stack |
string | Stack e-commerce |
Bug Fixes (2026-07-16)
39 bugs identifiés et corrigés le 2026-07-16 :
- BUG-01 :
hs_prefix sur propriétés custom → renommé enrecent_funding_amount - BUG-02 : Options vides sur boolean → ajout options true/false
- BUG-03 : Lifecyclestage regression → forward-only enforcement
- BUG-04 : HubSpot search limit 200 → pagination automatique
- BUG-05 : Contact standardization modifie champs protégés → exclusion email/firstname/lastname/company/lifecyclestage/hs_lead_status
- BUG-06 : Company name auto-write → flagged to review queue
- BUG-07 : Phone field auto-write → jamais écrit automatiquement
- BUG-08 : Duplicate merge sans validation → human confirmation required
- BUG-09 : Irreversible actions sans confirmation → dry_run par défaut
- BUG-10 : Dropdown options mismatch → labels exacts server.py
- BUG-11 : DQS formula incorrect → (completeness×0.40) + ((1-doublons)×0.20) + (segmentation×0.20) + (pipeline_activity×0.20)
- BUG-12 : ICP weight auto-apply → human validation required
- BUG-13 : Breeze Intelligence API trigger → détection gaps uniquement
- BUG-14 : Config paths wrong → ~/nanobot-workspace/ par défaut
- BUG-15 : Sales Hub Starter constraint → custom icp_tier_company dropdown
Configuration
Créer un fichier .env à la racine avec :
HUBSPOT_ACCESS_TOKEN=pat-xxxxxxxxxxxx
Ou utiliser ~/nanobot_secrets.env (chmod 600) sourcé via .bashrc.
License
Private — usage interne uniquement.
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.
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.
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.
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.
E2B
Using MCP to run code via e2b.