Skip to main content
Glama
hubspot-pipeline-mcp

hubspot-pipeline-mcp

by RynoJor

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HUBSPOT_MODENoRun mode: 'fixtures' for the bundled synthetic snapshot (default), or 'live' to read your HubSpot portal.fixtures
HUBSPOT_AS_OFNoOverride the 'today' date (UTC) used in live mode.
HUBSPOT_TOKENNoPrivate-app token with read scopes. Required only for live mode; keep it in .env.
HUBSPOT_PROFILENoSet to 'seeded' when running the server against a seeded HubSpot developer test account.
HUBSPOT_CACHE_SECONDSNoCache duration in seconds for one portal read. Defaults to five minutes (300).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Read-only tools over a HubSpot CRM pipeline. Start with pipeline_summary for the big picture, then drill in with find_stalled_deals, rep_conversion, find_duplicate_contacts or deals_missing_fields, and get_deal for one deal. Amounts are USD. usd_basis says whether a figure is measured (deal amounts) or estimated (win-rate gaps). Current mode: fixtures.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
find_stalled_dealsA

Open deals sitting in a stage with no activity for days_idle+ days.

Returns count, usd_at_risk (sum of their amounts) and the largest deals first: id, name, owner, amount_usd, last_activity, days_idle.

find_duplicate_contactsA

Duplicate contacts: the same mailbox (case and dots ignored), or the same company with a matching name ('Steve' ~ 'Steven', 'N. Galloway' ~ 'Nina Galloway').

usd_at_risk is the open deal value sitting on the duplicates (pipeline counted twice). Rows list duplicate_id, original_id, match_type, reason and open_deal_ids.

pipeline_summaryB

By stage: deal count, value, how many reached it, the rate to the next stage, the win rate from that stage, and stalled deals (idle 30+ days) as usd_at_risk. Plus pipeline totals: open value, won value, win rate.

deals_missing_fieldsA

Deals with empty required fields, and which fields. An open deal whose contact has no email cannot be worked, so its amount is at risk; other gaps are routing/reporting costs, valued at $0.

rep_conversionA

Stage-to-won rate by owner: of each owner's closed deals that entered from_stage, the share won, against the rest of the team. Flags owners at z <= -3 and estimates usd_at_risk as closed deals x (team rate - rep rate) x average won amount.

get_dealA

One deal: stage, owner, amount, days idle, stage history, contacts, and every check it trips (stalled, duplicate contact, missing fields, weak rep), with usd_at_risk.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 6 tools

Disambiguation4/5

Each tool targets a distinct diagnostic question (stalled deals, duplicates, stage funnel, missing fields, rep conversion, single-deal detail), so an agent can pick correctly in most cases. There is mild overlap: stalled deals appear both in find_stalled_deals and inside pipeline_summary, and get_deal re-surfaces every check, but the descriptions frame one as aggregate and the other as drill-down.

Naming Consistency3/5

Names mix verb-first (find_stalled_deals, find_duplicate_contacts, get_deal) with noun-first (pipeline_summary, deals_missing_fields, rep_conversion). All are snake_case and readable, but there is no single predictable verb_noun convention an agent can rely on.

Tool Count5/5

Six tools is well-scoped for a pipeline health/diagnostics server — one per distinct audit dimension plus a per-deal drill-down. No tool looks redundant or filler.

Completeness3/5

The read/diagnostic surface is strong and covers most health checks, but every workflow dead-ends: there are tools to find duplicate contacts or stalled deals yet none to merge, update, reassign, or log activity. An agent can report at-risk value but cannot remediate it.