Skip to main content
Glama
TNE736

LQABR MCP HubSpot Server

by TNE736

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoPort to listen on for HTTP transport (injected by Cloud Run).8080
MCP_HOSTNoHost to bind to for HTTP transport.0.0.0.0
MCP_PATHNoURL path for the HTTP endpoint./mcp
MCP_TRANSPORTNoTransport type: 'stdio' or 'http' (or alias 'streamable-http').stdio
HUBSPOT_AUTH_MODENoMode switch for HubSpot authentication (e.g., 'env' or 'secret-manager').
HUBSPOT_ACCESS_TOKENNoThe HubSpot access token directly (only used when LQABR_SECRET_BACKEND=env is set).
LQABR_SECRET_BACKENDNoOverride to use 'env' for local development / CI (reads HubSpot token from an env var instead of Secret Manager). Never set in production.
LQABR_SECRET_PROJECTNoThe GCP project ID where secrets are stored in Secret Manager.
HUBSPOT_ACCESS_TOKEN_SECRET_IDNoThe ID (name) of the secret in Secret Manager that holds the HubSpot access token.

Instructions

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

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
upsert_lead_profileA

Create or update one lead in HubSpot: upserts the Company, upserts the Contact, and associates them. Creating and updating are ONE upsert, so calling this twice for the same lead is safe and does not duplicate. Returns the HubSpot ids. Bad data is recorded and reported as failed, never silently dropped.

get_lead_profileA

Read one lead's current state from HubSpot. Read-only. Returns the nine contract fields plus contact_hs_id and company_hs_id so you can write status back without re-searching. Check company_resolved: when false, the company fields are unpopulated and warnings explains why.

upsert_blog_summaryA

Put one published blog post into HubSpot: the ONLY writer to the blog summary store. Searches on blog_published_at, then updates that row or creates one — a single upsert, so calling it twice for the same post is safe and does not duplicate. Returns the ticket id and whether the row was created or updated. blog_industry must be exactly one of FINANCIAL_SERVICES, LEGAL_SERVICES, HEALTHCARE — a near-miss selects zero leads and raises no error. Bad data is recorded and reported as failed, never silently dropped.

get_blog_summaryA

Read one blog summary row by its publication timestamp. Read-only. Returns the seven contract fields plus ticket_hs_id. Not-found is a VALID result — found is false and summary is null — never an error. Check warnings: a non-empty list means more than one row shares this timestamp and the first was returned.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TNE736/LQABR_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server