diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 74f8872..d9b8843 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 49b1037..7a37a78 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 0000000..8175ab2 --- /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 0000000..62628b4 --- /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 0000000..ca2bba7 --- /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 0000000..0649bb8 --- /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 0000000..72455ac Binary files /dev/null and b/third_party/hubspot/assets/logo.png differ diff --git a/third_party/hubspot/mcp.json b/third_party/hubspot/mcp.json new file mode 100644 index 0000000..6d7e586 --- /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}" + } + } + } +}