hubspot-conversations-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HUBSPOT_BASE_URL | No | Default https://api.hubapi.com | https://api.hubapi.com |
| HUBSPOT_AUTH_MODE | No | private-app or bearer; auto-detected from the token prefix when unset | |
| HUBSPOT_ACCESS_TOKEN | Yes | Private app token (pat-...) or OAuth2 access token | |
| HUBSPOT_DEFAULT_SENDER_ACTOR_ID | No | Default sender for SendConversationMessage, e.g. A-12345 (agent actor = A-<hubspot user id>) | |
| HUBSPOT_CONVERSATIONS_API_VERSION | No | Default 2026-09-beta — update here when the API graduates from beta | 2026-09-beta |
| HUBSPOT_CUSTOM_CHANNELS_API_VERSION | No | Default 2026-03 | 2026-03 |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| RetrieveConversationThreadsA | Retrieve conversation threads from HubSpot Conversations. You can apply optional filters (inbox, OPEN/CLOSED status, associated contact or ticket, time window) and sorting to tailor the results. Paginated: pass |
| RetrieveThreadByIdA | Retrieve detailed information about a conversation thread by ID: status, inbox, original channel, assignee and associated contact. |
| UpdateConversationThreadA | Update a single thread's status (OPEN/CLOSED) or archive/restore it. Set is_thread_archived=true to archive, false to restore an archived thread. |
| ArchiveConversationThreadA | Archives a conversation thread, marking it for deletion. The thread is permanently deleted after 30 days. |
| GetMessageHistoryForThreadA | Retrieve the message history for a given conversation thread by its ID (messages, comments and system events like assignments and status changes). Paginated: pass |
| RetrieveThreadMessageA | Retrieve the details of a specific message within a conversation thread using the message ID. |
| RetrieveFullMessageContentA | Retrieve the original text and rich text of a message — useful for untruncated content when the message's truncationStatus indicates it might be truncated. |
| SendConversationMessageA | Send a new message on an existing conversation thread — delivered to the customer on the thread's channel (set message_type=COMMENT for an internal note instead). Provide the content either as typed fields (text, recipients, …) or as a stringified JSON request_body; typed fields win on conflict. Missing channel_id/channel_account_id are taken from the thread, missing recipients are derived from the latest incoming message, and sender_actor_id falls back to HUBSPOT_DEFAULT_SENDER_ACTOR_ID. Call with mode='get_request_schema' to inspect the raw request body schema. |
| ListConversationInboxesA | Fetch a list of conversation inboxes (shared inboxes and help desks), with optional filters and sorting to customize the results. |
| GetInboxDetailsA | Retrieve detailed information about a specific conversation inbox by its ID. |
| ListConversationChannelsB | Retrieve a list of conversation channels (e.g. email, live chat, forms, WhatsApp), with optional filters and sorting if needed. |
| RetrieveChannelDetailsA | Retrieve comprehensive details about a specific channel in HubSpot Conversations by providing the channel ID. |
| RetrieveChannelAccountsA | Retrieve a list of channel accounts — concrete instances of a channel connected to an inbox (e.g. a specific email address or phone number). Supports optional filters and sorting to refine the results. |
| GetChannelAccountDetailsB | Fetch detailed information about a specific HubSpot channel account using the channel account ID, such as its status and configuration. |
| RetrieveActorDetailsA | Retrieve details of a specific actor (conversation participant) by actor ID. Actor IDs are prefixed by type: 'A-' agent/user, 'V-' visitor/contact, 'B-' bot, 'E-' email, 'S-' system, 'I-' integrator. |
| ResolveConversationActorsA | Resolve a list of ActorIds to detailed participant information in one batch call — use this to understand who the participants in a conversation are. |
| CreateChannelAccountA | Create a new account within a specific custom communication channel. Enables multiple accounts to communicate over a single channel with different delivery identifiers. Requires the conversations.custom_channels.write scope. |
| GetCustomChannelAccountsA | Fetch the list of accounts associated with a specific custom channel, identified by the channel ID. |
| RetrieveChannelAccountDetailsA | Retrieve detailed metadata about a channel account on a custom channel, including its channel, inbox ID, and delivery identifiers. |
| UpdateChannelAccountInfoA | Update the name and/or authorization status of a channel account on a custom channel — including disabling the account by setting set_authorization_status to false. |
| UpdateChannelAccountStagingA | Update the account name and delivery identifier of a channel account staging token (public app connection flow) in HubSpot Conversations. |
| PublishCustomChannelMessageA | Publish a message over a specified custom channel into HubSpot Conversations — used by custom-integrated messaging channels to sync external messages into HubSpot. Provide the message either as typed fields or as a stringified JSON request_body (typed fields win on conflict). Requires channelAccountId, senders and recipients. Call with mode='get_request_schema' to inspect the raw request body schema. |
| GetCustomChannelMessageDetailsA | Get the details of a specific message sent through a custom channel — message content, sender information, and timestamps. |
| UpdateMessageStatusB | Update the delivery status of a message within a custom channel: SENT, FAILED, or READ. For FAILED messages, include an error message for clarification. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/amalodev/hubspot-conversations-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server