From 0e263dd60cb1724fe4c37227881680a4507bf37f Mon Sep 17 00:00:00 2001 From: roshansada Date: Sat, 8 Aug 2026 12:18:01 -0700 Subject: [PATCH] Add HubSpot third-party MCP plugin HubSpot's remote CRM MCP requires a dedicated MCP auth app with OAuth (PKCE), so the plugin declares CLIENT_ID and CLIENT_SECRET variables and points at https://mcp.hubspot.com. Co-authored-by: Cursor --- .cursor-plugin/marketplace.json | 6 ++ README.md | 1 + .../hubspot/.cursor-plugin/plugin.json | 50 ++++++++++++++ third_party/hubspot/CHANGELOG.md | 9 +++ third_party/hubspot/LICENSE | 21 ++++++ third_party/hubspot/README.md | 63 ++++++++++++++++++ third_party/hubspot/assets/logo.png | Bin 0 -> 8157 bytes third_party/hubspot/mcp.json | 12 ++++ 8 files changed, 162 insertions(+) create mode 100644 third_party/hubspot/.cursor-plugin/plugin.json create mode 100644 third_party/hubspot/CHANGELOG.md create mode 100644 third_party/hubspot/LICENSE create mode 100644 third_party/hubspot/README.md create mode 100644 third_party/hubspot/assets/logo.png create mode 100644 third_party/hubspot/mcp.json diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 74f88729..d9b8843b 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -118,6 +118,12 @@ "source": "third_party/ashby", "description": "Connect Cursor to Ashby — search candidates and jobs, prep for interviews, manage pipeline tasks, and take recruiting actions — via Ashby's official remote MCP server." }, + { + "name": "hubspot", + "source": "third_party/hubspot", + "description": "Connect Cursor to HubSpot CRM — search and update contacts, companies, deals, and tickets; work with activities, conversations, and marketing emails — via HubSpot's official remote MCP server." + }, + { "name": "zoom", "source": "third_party/zoom", diff --git a/README.md b/README.md index 49b10377..7a37a784 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `salesforce` | [Salesforce](third_party/salesforce/) | Cursor | Integrations | Connect Cursor to Salesforce via Salesforce Hosted MCP — query, search, create, update, and traverse records in your org. | | `apollo-io` | [Apollo.io](third_party/apollo-io/) | Cursor | Integrations | Connect Cursor to Apollo.io — prospect search, contact and company enrichment, lists, sequences, and one-off emails — via Apollo's official remote MCP server. | | `ashby` | [Ashby](third_party/ashby/) | Cursor | Integrations | Connect Cursor to Ashby — search candidates and jobs, prep for interviews, manage pipeline tasks, and take recruiting actions — via Ashby's official remote MCP server. | +| `hubspot` | [HubSpot](third_party/hubspot/) | Cursor | Integrations | Connect Cursor to HubSpot CRM — search and update contacts, companies, deals, and tickets; work with activities, conversations, and marketing emails — via HubSpot's official remote MCP server. | | `x` | [X](third_party/x/) | Cursor | Integrations | Read-only access to the X API — search posts and users, read timelines and mentions, and pull trends and news — via X's official hosted MCP server. | Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest). diff --git a/third_party/hubspot/.cursor-plugin/plugin.json b/third_party/hubspot/.cursor-plugin/plugin.json new file mode 100644 index 00000000..8175ab2c --- /dev/null +++ b/third_party/hubspot/.cursor-plugin/plugin.json @@ -0,0 +1,50 @@ +{ + "name": "hubspot", + "displayName": "HubSpot", + "version": "1.0.0", + "description": "Connect Cursor to HubSpot CRM — search and update contacts, companies, deals, and tickets; work with activities, conversations, and marketing emails — via HubSpot's official remote MCP server.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://developers.hubspot.com/docs/apps/developer-platform/build-apps/integrate-with-the-remote-hubspot-mcp-server", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "hubspot", + "crm", + "mcp", + "sales", + "marketing", + "contacts", + "deals" + ], + "category": "integrations", + "tags": [ + "mcp", + "crm", + "sales", + "hubspot" + ], + "variables": { + "type": "object", + "properties": { + "CLIENT_ID": { + "type": "string", + "title": "HubSpot Client ID", + "description": "OAuth Client ID from Development → MCP Auth Apps → your app." + }, + "CLIENT_SECRET": { + "type": "string", + "title": "HubSpot Client Secret", + "description": "OAuth Client Secret from the same HubSpot MCP auth app." + } + }, + "required": [ + "CLIENT_ID", + "CLIENT_SECRET" + ] + }, + "mcpServers": "./mcp.json" +} diff --git a/third_party/hubspot/CHANGELOG.md b/third_party/hubspot/CHANGELOG.md new file mode 100644 index 00000000..62628b49 --- /dev/null +++ b/third_party/hubspot/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Logo: HubSpot's official inverted favicon (white sprocket on the brand orange tile). +- Added the `hubspot` MCP server pointing at `https://mcp.hubspot.com`. +- Declared `CLIENT_ID` and `CLIENT_SECRET` plugin variables and forwarded them through MCP auth. diff --git a/third_party/hubspot/LICENSE b/third_party/hubspot/LICENSE new file mode 100644 index 00000000..ca2bba77 --- /dev/null +++ b/third_party/hubspot/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/hubspot/README.md b/third_party/hubspot/README.md new file mode 100644 index 00000000..0649bb89 --- /dev/null +++ b/third_party/hubspot/README.md @@ -0,0 +1,63 @@ +# HubSpot + +Cursor plugin that connects agents to [HubSpot](https://www.hubspot.com) through HubSpot's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Search and update CRM records, work with activities and conversations, and manage marketing email drafts in the signed-in HubSpot account. + +This is HubSpot's remote CRM MCP server — not the [developer MCP server](https://developers.hubspot.com/docs/developer-tooling/local-development/developer-mcp/setup), which helps build apps and CMS assets locally. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **HubSpot**. +3. Click **Install**, then set the client ID and secret (below) and complete the HubSpot sign-in prompt. + +Or run `/add-plugin hubspot` in chat. + +## MCP + +```json +{ + "mcpServers": { + "hubspot": { + "type": "http", + "url": "https://mcp.hubspot.com", + "auth": { + "CLIENT_ID": "${CLIENT_ID}", + "CLIENT_SECRET": "${CLIENT_SECRET}" + } + } + } +} +``` + +## Setup + +HubSpot's remote MCP server requires a dedicated MCP auth app with OAuth (PKCE). An administrator or developer has to create that app before anyone can connect. + +1. In HubSpot, go to **Development → MCP Auth Apps** (or open [app.hubspot.com/l/mcp-auth-apps](https://app.hubspot.com/l/mcp-auth-apps/)) and click **Create MCP auth app**. +2. Register both redirect URLs on that app: + - Desktop: `http://localhost:8787/callback` + - Web and Cloud Agents: `https://www.cursor.com/agents/mcp/oauth/callback` +3. In **Dashboard → Plugins → Configure**, set **HubSpot Client ID** and **HubSpot Client Secret** from that app. +4. Complete the HubSpot OAuth login when Cursor prompts. Select the account to connect and grant permissions. + +On a team marketplace an admin sets the client ID and secret once for everyone; each member still completes their own HubSpot OAuth login, so tool calls run with that member's HubSpot permissions. + +Scopes are not declared on the app up front — they come from the MCP server's available tools and the permissions the installing user grants. If HubSpot adds tools later, users may need to reinstall to pick up new scopes. + +## Notes + +- If the HubSpot account has Sensitive Data turned on, activity objects and conversation data are blocked through the MCP server (this does not affect the standard CRM APIs). +- Help desk conversations are visible to all users; conversations-inbox access follows the same team/user restrictions as in HubSpot. + +## Docs + +- Remote HubSpot MCP server: https://developers.hubspot.com/docs/apps/developer-platform/build-apps/integrate-with-the-remote-hubspot-mcp-server +- Server URL: https://mcp.hubspot.com + +Logo is HubSpot's official inverted favicon (white sprocket on the brand orange tile) from https://www.hubspot.com/hubfs/HubSpot_Logos/HubSpot-Inversed-Favicon.png. + +## License + +MIT diff --git a/third_party/hubspot/assets/logo.png b/third_party/hubspot/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..72455ac67e46683c6e365e595a993f2b795f1927 GIT binary patch literal 8157 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 literal 0 HcmV?d00001 diff --git a/third_party/hubspot/mcp.json b/third_party/hubspot/mcp.json new file mode 100644 index 00000000..6d7e5864 --- /dev/null +++ b/third_party/hubspot/mcp.json @@ -0,0 +1,12 @@ +{ + "mcpServers": { + "hubspot": { + "type": "http", + "url": "https://mcp.hubspot.com", + "auth": { + "CLIENT_ID": "${CLIENT_ID}", + "CLIENT_SECRET": "${CLIENT_SECRET}" + } + } + } +}