From b2a4925d0e7fccfb711bebfc19f285f13c1ae2e5 Mon Sep 17 00:00:00 2001 From: "Eric G.Y Liu" Date: Mon, 9 Nov 2026 09:11:24 -0800 Subject: [PATCH 1/4] Add the Google Analytics plugin for Grok Bot --- .cursor-plugin/marketplace.json | 5 +++ README.md | 1 + .../.cursor-plugin/plugin.json | 35 +++++++++++++++++ third_party/google-analytics/CHANGELOG.md | 8 ++++ third_party/google-analytics/LICENSE | 21 ++++++++++ third_party/google-analytics/README.md | 39 +++++++++++++++++++ third_party/google-analytics/assets/logo.svg | 1 + third_party/google-analytics/mcp.json | 8 ++++ 8 files changed, 118 insertions(+) create mode 100644 third_party/google-analytics/.cursor-plugin/plugin.json create mode 100644 third_party/google-analytics/CHANGELOG.md create mode 100644 third_party/google-analytics/LICENSE create mode 100644 third_party/google-analytics/README.md create mode 100644 third_party/google-analytics/assets/logo.svg create mode 100644 third_party/google-analytics/mcp.json diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 153216eb7e..ab3be27795 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -128,6 +128,11 @@ "source": "third_party/google-ads", "description": "Report on campaigns, research keywords, and make previewed changes." }, + { + "name": "google-analytics", + "source": "third_party/google-analytics", + "description": "Run GA4 reports and manage property configuration." + }, { "name": "gong", "source": "third_party/gong", diff --git a/README.md b/README.md index 7894f0c6e3..96ae13c439 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `google-sheets` | [Google Sheets](third_party/google-sheets/) | Cursor | Productivity | Read, write, and append spreadsheet data. | | `google-slides` | [Google Slides](third_party/google-slides/) | Cursor | Productivity | Create, edit, and render presentations. | | `google-ads` | [Google Ads](third_party/google-ads/) | Cursor | Integrations | Report on campaigns, research keywords, and make previewed changes. | +| `google-analytics` | [Google Analytics](third_party/google-analytics/) | Cursor | Integrations | Run GA4 reports and manage property configuration. | | `gong` | [Gong](third_party/gong/) | Cursor | Integrations | Pull account summaries, deal insights, and call briefs. | | `salesforce` | [Salesforce](third_party/salesforce/) | Cursor | Integrations | Query, create, and update records in your org. | | `salesforce-headless-360` | [Salesforce (Headless 360, Beta)](third_party/salesforce-headless-360/) | Cursor | Integrations | Manage records, users, and org setup across Salesforce. | diff --git a/third_party/google-analytics/.cursor-plugin/plugin.json b/third_party/google-analytics/.cursor-plugin/plugin.json new file mode 100644 index 0000000000..012edce15e --- /dev/null +++ b/third_party/google-analytics/.cursor-plugin/plugin.json @@ -0,0 +1,35 @@ +{ + "name": "google-analytics", + "displayName": "Google Analytics", + "version": "1.0.0", + "minClientVersions": { + "cursor": "never", + "grokbot": "0.30.0", + "sand": "0.30.0" + }, + "description": "Run GA4 reports and manage property configuration.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://github.com/cursor/plugins/tree/main/third_party/google-analytics", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.svg", + "keywords": [ + "google-analytics", + "analytics", + "ga4", + "google", + "reports", + "mcp" + ], + "category": "integrations", + "tags": [ + "google-analytics", + "analytics", + "ga4", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/google-analytics/CHANGELOG.md b/third_party/google-analytics/CHANGELOG.md new file mode 100644 index 0000000000..befd480a9c --- /dev/null +++ b/third_party/google-analytics/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 - initial release + +- Logo: official Google Analytics product icon on a padded white tile. +- Added the `google-analytics` MCP server pointing at `https://api.cursor.com/rest-mcp/google-analytics/mcp`. diff --git a/third_party/google-analytics/LICENSE b/third_party/google-analytics/LICENSE new file mode 100644 index 0000000000..ca2bba771c --- /dev/null +++ b/third_party/google-analytics/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/google-analytics/README.md b/third_party/google-analytics/README.md new file mode 100644 index 0000000000..74a482a577 --- /dev/null +++ b/third_party/google-analytics/README.md @@ -0,0 +1,39 @@ +# Google Analytics + +Cursor plugin that connects Grok Bot to [Google Analytics](https://analytics.google.com) (GA4) through Cursor's remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Run reports, read property configuration and change history, and manage custom dimensions, metrics, key events, data streams and annotations. + +## Install + +1. Open **Grok Bot Settings → Plugins**. +2. Search for **Google Analytics**. +3. Click **Install**, then complete the Google sign-in prompt. + +## MCP + +```json +{ + "mcpServers": { + "google-analytics": { + "type": "http", + "url": "https://api.cursor.com/rest-mcp/google-analytics/mcp" + } + } +} +``` + +Auth is OAuth 2.0 against Google with the `https://www.googleapis.com/auth/analytics.readonly` and `https://www.googleapis.com/auth/analytics.edit` scopes. Grok Bot prompts for Google sign-in when the plugin connects. + +## Tools + +- **Reporting:** `run_report`, `run_realtime_report`, `run_funnel_report`, `get_metadata`, `check_compatibility`, `audience_export` +- **Configuration:** `list_account_summaries`, `get_config`, `search_change_history`, `run_access_report`, `list_annotations` +- **Changes:** `update_config`, `delete_config`, `manage_data_policy`, `manage_annotations` + +## Docs + +- Google Analytics Data API: https://developers.google.com/analytics/devguides/reporting/data/v1 +- Google Analytics Admin API: https://developers.google.com/analytics/devguides/config/admin/v1 + +Logo is the official Google Analytics product icon, placed on a white tile with padding so it reads well in the UI. diff --git a/third_party/google-analytics/assets/logo.svg b/third_party/google-analytics/assets/logo.svg new file mode 100644 index 0000000000..1cc5ea6a91 --- /dev/null +++ b/third_party/google-analytics/assets/logo.svg @@ -0,0 +1 @@ + diff --git a/third_party/google-analytics/mcp.json b/third_party/google-analytics/mcp.json new file mode 100644 index 0000000000..5daf1a699b --- /dev/null +++ b/third_party/google-analytics/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "google-analytics": { + "type": "http", + "url": "https://api.cursor.com/rest-mcp/google-analytics/mcp" + } + } +} From 36f8c1ad3e99cbea24ba5d41ff102ef3e036c127 Mon Sep 17 00:00:00 2001 From: djiang-jq Date: Mon, 9 Nov 2026 14:57:56 -0800 Subject: [PATCH 2/4] feat(third_party): add the Mixpanel plugin Connect agents to Mixpanel's hosted MCP server at https://mcp.mixpanel.com/mcp over OAuth. --- .cursor-plugin/marketplace.json | 5 ++ README.md | 1 + .../mixpanel/.cursor-plugin/plugin.json | 35 ++++++++ third_party/mixpanel/CHANGELOG.md | 9 ++ third_party/mixpanel/LICENSE | 21 +++++ third_party/mixpanel/README.md | 83 ++++++++++++++++++ third_party/mixpanel/assets/logo.png | Bin 0 -> 4189 bytes third_party/mixpanel/mcp.json | 9 ++ 8 files changed, 163 insertions(+) create mode 100644 third_party/mixpanel/.cursor-plugin/plugin.json create mode 100644 third_party/mixpanel/CHANGELOG.md create mode 100644 third_party/mixpanel/LICENSE create mode 100644 third_party/mixpanel/README.md create mode 100644 third_party/mixpanel/assets/logo.png create mode 100644 third_party/mixpanel/mcp.json diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index ab3be27795..0bf2d11dc0 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -702,6 +702,11 @@ "name": "fitmetrics", "source": "third_party/fitmetrics", "description": "Review Trainerize clients and check-ins, and update macros, messages, and programs." + }, + { + "name": "mixpanel", + "source": "third_party/mixpanel", + "description": "Query events, funnels, flows, and retention in Mixpanel, and manage dashboards, cohorts, experiments, and feature flags." } ] } diff --git a/README.md b/README.md index 96ae13c439..ef39f07fc8 100644 --- a/README.md +++ b/README.md @@ -128,6 +128,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `questrade` | [Questrade](third_party/questrade/) | Cursor | Integrations | Read your Questrade portfolio, get live market data, and discuss potential trades. | | `tesla` | [Tesla](third_party/tesla/) | Cursor | Integrations | Read your Tesla cars and energy sites, and send commands you confirm. | | `fitmetrics` | [FitMetrics](third_party/fitmetrics/) | Cursor | Integrations | Review Trainerize clients and check-ins, and update macros, messages, and programs. | +| `mixpanel` | [Mixpanel](third_party/mixpanel/) | Cursor | Integrations | Query events, funnels, flows, and retention in Mixpanel, and manage dashboards, cohorts, experiments, and feature flags. | Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest). ## Repository structure diff --git a/third_party/mixpanel/.cursor-plugin/plugin.json b/third_party/mixpanel/.cursor-plugin/plugin.json new file mode 100644 index 0000000000..b5136dace0 --- /dev/null +++ b/third_party/mixpanel/.cursor-plugin/plugin.json @@ -0,0 +1,35 @@ +{ + "name": "mixpanel", + "displayName": "Mixpanel", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Query events, funnels, flows, and retention in Mixpanel, and manage dashboards, cohorts, experiments, and feature flags.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://docs.mixpanel.com/docs/mcp", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "mixpanel", + "product analytics", + "funnels", + "retention", + "dashboards", + "cohorts", + "experiments", + "feature flags", + "mcp" + ], + "category": "integrations", + "tags": [ + "mixpanel", + "analytics", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/mixpanel/CHANGELOG.md b/third_party/mixpanel/CHANGELOG.md new file mode 100644 index 0000000000..78eaf55d58 --- /dev/null +++ b/third_party/mixpanel/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `mixpanel` MCP server pointing at Mixpanel's hosted Streamable HTTP endpoint (`https://mcp.mixpanel.com/mcp`, US). +- Auth uses OAuth with Mixpanel user login (authorization code + PKCE, dynamic client registration) — no API key or client ID to configure. +- Logo: Mixpanel's official mark, the favicon published on mixpanel.com, white on the dark tile used by mixpanel.com's apple-touch icon, at 192×192. diff --git a/third_party/mixpanel/LICENSE b/third_party/mixpanel/LICENSE new file mode 100644 index 0000000000..ca2bba771c --- /dev/null +++ b/third_party/mixpanel/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/mixpanel/README.md b/third_party/mixpanel/README.md new file mode 100644 index 0000000000..e4c8bc33e7 --- /dev/null +++ b/third_party/mixpanel/README.md @@ -0,0 +1,83 @@ +# Mixpanel + +Cursor plugin that connects agents to [Mixpanel](https://mixpanel.com) through Mixpanel's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Query events, funnels, flows, retention, and session replays, and manage dashboards, Lexicon, cohorts, experiments, and feature flags from chat. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Mixpanel**. +3. Click **Install**, then complete the Mixpanel sign-in prompt. + +Or run `/add-plugin mixpanel` in chat. + +In Grok Bot, open **Settings → Plugins**, install **Mixpanel**, and complete the same Mixpanel sign-in. + +## MCP + +```json +{ + "mcpServers": { + "mixpanel": { + "type": "http", + "url": "https://mcp.mixpanel.com/mcp", + "placement": "server" + } + } +} +``` + +Auth is OAuth. Mixpanel uses the authorization code flow with PKCE (S256) and dynamic client registration, so there is no API key or client ID to configure. Cursor or Grok Bot prompts for Mixpanel sign-in when the plugin connects. Each user signs in with their own Mixpanel account, and tool calls cannot exceed that user's project permissions. + +`"placement": "server"` makes Grok Bot dial the server through the hosted MCP path. + +This plugin connects to Mixpanel's **US** server. EU and India organizations use different hosts: + +| Region | URL | +| --- | --- | +| US | `https://mcp.mixpanel.com/mcp` | +| EU | `https://mcp-eu.mixpanel.com/mcp` | +| IN | `https://mcp-in.mixpanel.com/mcp` | + +## Before you connect + +You need a Mixpanel account with access to the project you want to query. + +- **New free and growth accounts created after August 1, 2026:** MCP is on by default. An organization admin can turn it off under **Settings → Org → AI Settings**. +- **Every other account:** an organization admin must enable MCP under **Settings → Org → AI Settings** before anyone can connect. The change can take up to 15 minutes. + +Free plans can be subject to Query API access limits. See [Mixpanel pricing](https://mixpanel.com/pricing/). + +## What agents can do + +| Category | Capabilities | +| --- | --- | +| Analytics | Run insights, funnels, flows, and retention queries; read a saved report; show a chart for a query already run | +| Dashboards | List, get, create, update, duplicate, and delete boards | +| Discovery | List organizations and projects; browse events, properties, and property values; search entities; read data-quality issues and Lexicon links; read business context | +| Data management | Edit event and property metadata, manage tags, dismiss data-quality issues, update business context, and find or merge duplicate names | +| Cohorts, metrics, and definitions | Create, read, and update cohorts, saved metrics, lookup tables, and custom properties | +| Session replays | Analyze one user's replays alongside their event data | +| Experiments and feature flags | List, get, create, and update experiments and feature flags, with setup and results guidance. These tools are in beta. Audience targeting, including cohort-based targeting, is not available through MCP | +| Audit log | Read who changed what, and when | + +The hosted runtime is the source of truth for tool names and schemas. See the [Mixpanel MCP docs](https://docs.mixpanel.com/docs/mcp) for the current tool list. + +## Notes + +- Many tools write to the project: dashboards, Lexicon entries, cohorts, metrics, experiments, and feature flags. Confirm the project and the change before letting the agent write. +- If Verified Mode is on, query results still include unverified entities. They are flagged, and results prefer a verified equivalent when one exists. +- Mixpanel also offers service-account authentication (beta) for headless clients. This plugin packages only the OAuth endpoint and does not send a service-account header. +- Revoke access from the Mixpanel account's authorized applications, or disconnect the plugin. + +## Docs + +- Mixpanel MCP server: https://docs.mixpanel.com/docs/mcp +- Server URL (US): https://mcp.mixpanel.com/mcp + +Logo is Mixpanel's official mark, from the favicon published on mixpanel.com, placed on the dark tile used by mixpanel.com's apple-touch icon. + +## License + +MIT diff --git a/third_party/mixpanel/assets/logo.png b/third_party/mixpanel/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..13d5ad27114b70dc009221d924a3ad237e10fbd4 GIT binary patch literal 4189 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 literal 0 HcmV?d00001 diff --git a/third_party/mixpanel/mcp.json b/third_party/mixpanel/mcp.json new file mode 100644 index 0000000000..8643f0f7ea --- /dev/null +++ b/third_party/mixpanel/mcp.json @@ -0,0 +1,9 @@ +{ + "mcpServers": { + "mixpanel": { + "type": "http", + "url": "https://mcp.mixpanel.com/mcp", + "placement": "server" + } + } +} From 62c837e8a3a07eb39d42482cbe51f97a500aee0b Mon Sep 17 00:00:00 2001 From: djiang-jq Date: Mon, 9 Nov 2026 17:09:37 -0800 Subject: [PATCH 3/4] feat(third_party): add the Metricool plugin Connect agents to Metricool's hosted MCP server at https://ai.metricool.com/mcp over OAuth. Co-authored-by: Cursor --- .cursor-plugin/marketplace.json | 5 ++ README.md | 1 + .../metricool/.cursor-plugin/plugin.json | 36 ++++++++++ third_party/metricool/CHANGELOG.md | 9 +++ third_party/metricool/LICENSE | 21 ++++++ third_party/metricool/README.md | 68 ++++++++++++++++++ third_party/metricool/assets/logo.png | Bin 0 -> 1089 bytes third_party/metricool/mcp.json | 9 +++ 8 files changed, 149 insertions(+) create mode 100644 third_party/metricool/.cursor-plugin/plugin.json create mode 100644 third_party/metricool/CHANGELOG.md create mode 100644 third_party/metricool/LICENSE create mode 100644 third_party/metricool/README.md create mode 100644 third_party/metricool/assets/logo.png create mode 100644 third_party/metricool/mcp.json diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 0bf2d11dc0..42f1a5d597 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -707,6 +707,11 @@ "name": "mixpanel", "source": "third_party/mixpanel", "description": "Query events, funnels, flows, and retention in Mixpanel, and manage dashboards, cohorts, experiments, and feature flags." + }, + { + "name": "metricool", + "source": "third_party/metricool", + "description": "Plan and publish social posts, pull metrics and reports, and manage inbox, reviews, and ads across your Metricool brands." } ] } diff --git a/README.md b/README.md index ef39f07fc8..4ecb3d5844 100644 --- a/README.md +++ b/README.md @@ -129,6 +129,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `tesla` | [Tesla](third_party/tesla/) | Cursor | Integrations | Read your Tesla cars and energy sites, and send commands you confirm. | | `fitmetrics` | [FitMetrics](third_party/fitmetrics/) | Cursor | Integrations | Review Trainerize clients and check-ins, and update macros, messages, and programs. | | `mixpanel` | [Mixpanel](third_party/mixpanel/) | Cursor | Integrations | Query events, funnels, flows, and retention in Mixpanel, and manage dashboards, cohorts, experiments, and feature flags. | +| `metricool` | [Metricool](third_party/metricool/) | Cursor | Integrations | Plan and publish social posts, pull metrics and reports, and manage inbox, reviews, and ads across your Metricool brands. | Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest). ## Repository structure diff --git a/third_party/metricool/.cursor-plugin/plugin.json b/third_party/metricool/.cursor-plugin/plugin.json new file mode 100644 index 0000000000..f683b14b98 --- /dev/null +++ b/third_party/metricool/.cursor-plugin/plugin.json @@ -0,0 +1,36 @@ +{ + "name": "metricool", + "displayName": "Metricool", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Plan and publish social posts, pull metrics and reports, and manage inbox, reviews, and ads across your Metricool brands.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://help.metricool.com/en/article/how-to-connect-metricools-mcp-1364s63/", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "metricool", + "social media", + "scheduling", + "publishing", + "analytics", + "reports", + "inbox", + "ads", + "mcp" + ], + "category": "integrations", + "tags": [ + "metricool", + "social-media", + "marketing", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/metricool/CHANGELOG.md b/third_party/metricool/CHANGELOG.md new file mode 100644 index 0000000000..00c630f953 --- /dev/null +++ b/third_party/metricool/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `metricool` MCP server pointing at Metricool's hosted Streamable HTTP endpoint (`https://ai.metricool.com/mcp`). +- Auth uses OAuth with Metricool user login (authorization code + PKCE, dynamic client registration, scopes `mcp:read` and `mcp:write`) — no API key or client ID to configure. +- Logo: Metricool's official mark, the 180×180 web app icon published on metricool.com. diff --git a/third_party/metricool/LICENSE b/third_party/metricool/LICENSE new file mode 100644 index 0000000000..ca2bba771c --- /dev/null +++ b/third_party/metricool/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/metricool/README.md b/third_party/metricool/README.md new file mode 100644 index 0000000000..5fd49815bc --- /dev/null +++ b/third_party/metricool/README.md @@ -0,0 +1,68 @@ +# Metricool + +Cursor plugin that connects agents to [Metricool](https://metricool.com) through Metricool's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Plan and publish social posts, pull metrics and reports, and manage inbox messages, reviews, Smartlinks, and ad campaigns across your Metricool brands from chat. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Metricool**. +3. Click **Install**, then complete the Metricool sign-in prompt. + +Or run `/add-plugin metricool` in chat. + +In Grok Bot, open **Settings → Plugins**, install **Metricool**, and complete the same Metricool sign-in. + +## MCP + +```json +{ + "mcpServers": { + "metricool": { + "type": "http", + "url": "https://ai.metricool.com/mcp", + "placement": "server" + } + } +} +``` + +Auth is OAuth. Metricool uses the authorization code flow with PKCE (S256) and dynamic client registration, with the scopes `mcp:read` and `mcp:write`, so there is no API key or client ID to configure. Cursor or Grok Bot prompts for Metricool sign-in when the plugin connects. Each user signs in with their own Metricool account. + +`"placement": "server"` makes Grok Bot dial the server through the hosted MCP path. + +## Before you connect + +You need a Metricool account. MCP works on every plan, including Free, but your plan's limits still apply to what the agent can do. See [Metricool pricing](https://metricool.com/pricing/). + +## What agents can do + +| Category | Capabilities | +| --- | --- | +| Brands | See and manage your brands and their connected networks | +| Analytics | Read and download metrics and reports | +| Publishing | See, create, and publish posts on any connected network, and manage autolists | +| Engagement | Read and manage inbox messages, post comments, and Google Business Profile reviews | +| Smartlinks | See and manage Smartlinks | +| Ads | See and manage ad campaigns on the ad accounts connected to your brands | +| Assets | Browse folders and files in connected Canva or Google Drive accounts | + +The hosted runtime is the source of truth for tool names and schemas. See the [Metricool MCP docs](https://help.metricool.com/en/article/how-to-connect-metricools-mcp-1364s63/) for details. + +## Notes + +- The connection grants access similar to signing in to Metricool directly. Many tools publish or change things in public: posts, replies to comments and messages, review responses, and ad campaigns. Confirm the brand, network, and content before letting the agent publish or edit. +- Metricool also supports header-token auth (`X-Mc-Auth` with a Metricool API key) for clients like n8n. This plugin packages only the OAuth endpoint and does not send that header. +- Revoke access by disconnecting the plugin or from your Metricool account. + +## Docs + +- Metricool MCP server: https://help.metricool.com/en/article/how-to-connect-metricools-mcp-1364s63/ +- Server URL: https://ai.metricool.com/mcp + +Logo is Metricool's official mark, from the web app icon published on metricool.com. + +## License + +MIT diff --git a/third_party/metricool/assets/logo.png b/third_party/metricool/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..712b3b073c7483d4051ecf522800149a1cbd798d GIT binary patch literal 1089 zcmeAS@N?(olHy`uVBq!ia0vp^TR@nF8AzUgEX@d{bOU@sT%Z3BgQExELM}fKJaWZ% z%R#RtYuqMHbF8hkNr*Icv(z_J)z+2L%=(ig4%En8666n+{l5S6tc||$+?lhwLpRUj-l%mm z)Jb^Og%&lFg`B<_7|bv6j^esrLh1xw1do`6yp67~u@x46xj2uJqxl_B0W##6csIWUN-Dt7? zN9k^Dov7-^tT~7OJNgIQzwW$f_S%Hth3i}=T?ylXr zvHVY_xNEnHnA_L+{`_Yhl;S_kOF#GZTaM~Pi(S`}blq=ENk6~s9sl&-7wrr0>WSPv zG;5i5oX-aF!%Nle_`f%8jCa52Y?I4qel1nrrk&qtUaFw;#Yn@9G~qRxhZzF&xy{=8 zqH_WgxNfF$ZPuJ1d)(nd>COBmG@%u zeR4q-G3t)RC#G~-TwL$z`0io0Rzzt3g{PcmxuP#jUZ?q9{HoWK7x?F*Z&6X)b8kVJ zb5c#~zE>n3-c+_+TT@r-+GkCcv$Jlstv65my+_`%pL6n4_P@7TZy%1^C@SXc(=2hz zkmoE@^&0QljA_y~8xHAiyldrpajngoByQ!5MM9Sk+J5G160=^<#2q{N<^6zTzW*H+ z56&rSH{7zKz4_gxNbSRNl^sD-opk1&mYV*vt94Pb{?E!nv&#B8ljojV@vg8|@21%d z!Rl(6*!+)1c9w$Nm*>S~2b3>2FtJfRxcFg7vABkQl{54tax3zMrz82ZeZ4C@O1TaS?83{1OU$r B_?7?w literal 0 HcmV?d00001 diff --git a/third_party/metricool/mcp.json b/third_party/metricool/mcp.json new file mode 100644 index 0000000000..3ac94f1d20 --- /dev/null +++ b/third_party/metricool/mcp.json @@ -0,0 +1,9 @@ +{ + "mcpServers": { + "metricool": { + "type": "http", + "url": "https://ai.metricool.com/mcp", + "placement": "server" + } + } +} From 62670fc51e9a2c319d58f2c929b598b6b3e7b303 Mon Sep 17 00:00:00 2001 From: djiang-jq Date: Mon, 9 Nov 2026 19:27:09 -0800 Subject: [PATCH 4/4] rename(third_party): Databricks Genie One to Databricks Genie The plugin id, folder, and MCP server key are now databricks-genie. The Databricks endpoint path system.ai.genie_one_mcp is unchanged. --- .cursor-plugin/marketplace.json | 4 ++-- README.md | 2 +- .../.cursor-plugin/plugin.json | 9 ++++----- .../CHANGELOG.md | 4 ++++ .../LICENSE | 0 .../README.md | 12 ++++++------ .../assets/logo.png | Bin .../mcp.json | 2 +- 8 files changed, 18 insertions(+), 15 deletions(-) rename third_party/{databricks-genie-one => databricks-genie}/.cursor-plugin/plugin.json (89%) rename third_party/{databricks-genie-one => databricks-genie}/CHANGELOG.md (83%) rename third_party/{databricks-genie-one => databricks-genie}/LICENSE (100%) rename third_party/{databricks-genie-one => databricks-genie}/README.md (85%) rename third_party/{databricks-genie-one => databricks-genie}/assets/logo.png (100%) rename third_party/{databricks-genie-one => databricks-genie}/mcp.json (91%) diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 42f1a5d597..b8fdf4b576 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -624,8 +624,8 @@ "description": "Work with clients, requests, quotes, jobs, visits, and invoices." }, { - "name": "databricks-genie-one", - "source": "third_party/databricks-genie-one", + "name": "databricks-genie", + "source": "third_party/databricks-genie", "description": "Ask Databricks Genie questions about your workspace's data in plain language." }, { diff --git a/README.md b/README.md index 4ecb3d5844..62354c3e3b 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `gusto` | [Gusto](third_party/gusto/) | Cursor | Integrations | Work with payroll, employees, contractors, time off, and reports. | | `gopuff` | [Gopuff](third_party/gopuff/) | Cursor | Integrations | Shop Gopuff from Grok Bot through Gopuff's official MCP server. Sign in with your Gopuff account; Gopuff handles the sign-in, and your searches, carts, and orders go to Gopuff under that account, so any order you place is charged and delivered like a normal Gopuff order. | | `jobber` | [Jobber](third_party/jobber/) | Cursor | Integrations | Work with clients, requests, quotes, jobs, visits, and invoices. | -| `databricks-genie-one` | [Databricks Genie One](third_party/databricks-genie-one/) | Cursor | Integrations | Ask Databricks Genie questions about your workspace's data in plain language. | +| `databricks-genie` | [Databricks Genie](third_party/databricks-genie/) | Cursor | Integrations | Ask Databricks Genie questions about your workspace's data in plain language. | | `lark` | [Lark](third_party/lark/) | Cursor | Integrations | Search, create, and update Lark Suite docs, and read Lark messages and groups. | | `lark-base` | [Lark Base](third_party/lark-base/) | Cursor | Integrations | Read and update tables, fields, views, and records in Lark Base. | | `feishu` | [Feishu](third_party/feishu/) | Cursor | Integrations | Search, create, and update Feishu docs, and read Feishu messages and groups. | diff --git a/third_party/databricks-genie-one/.cursor-plugin/plugin.json b/third_party/databricks-genie/.cursor-plugin/plugin.json similarity index 89% rename from third_party/databricks-genie-one/.cursor-plugin/plugin.json rename to third_party/databricks-genie/.cursor-plugin/plugin.json index 4371307e46..c458d89613 100644 --- a/third_party/databricks-genie-one/.cursor-plugin/plugin.json +++ b/third_party/databricks-genie/.cursor-plugin/plugin.json @@ -1,7 +1,7 @@ { - "name": "databricks-genie-one", - "displayName": "Databricks Genie One", - "version": "1.0.1", + "name": "databricks-genie", + "displayName": "Databricks Genie", + "version": "1.1.0", "minClientVersions": { "cursor": "3.19.0" }, @@ -10,14 +10,13 @@ "name": "Cursor", "email": "plugins@cursor.com" }, - "homepage": "https://github.com/cursor/plugins/tree/main/third_party/databricks-genie-one", + "homepage": "https://github.com/cursor/plugins/tree/main/third_party/databricks-genie", "repository": "https://github.com/cursor/plugins", "license": "MIT", "logo": "assets/logo.png", "keywords": [ "databricks", "genie", - "genie one", "data", "analytics", "sql", diff --git a/third_party/databricks-genie-one/CHANGELOG.md b/third_party/databricks-genie/CHANGELOG.md similarity index 83% rename from third_party/databricks-genie-one/CHANGELOG.md rename to third_party/databricks-genie/CHANGELOG.md index 796051b363..d8188ad6cb 100644 --- a/third_party/databricks-genie-one/CHANGELOG.md +++ b/third_party/databricks-genie/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to this plugin will be documented here. +## 1.1.0 — Databricks Genie + +- Renamed the plugin from Databricks Genie One to Databricks Genie. The plugin id and MCP server key are now `databricks-genie`. + ## 1.0.1 — Genie icon - Logo: replaced the Databricks mark with Databricks' official Genie icon from https://www.databricks.com/sites/default/files/2026-05/icon-genie.svg, rendered at 192×192 on a transparent background. No server or client-version changes. diff --git a/third_party/databricks-genie-one/LICENSE b/third_party/databricks-genie/LICENSE similarity index 100% rename from third_party/databricks-genie-one/LICENSE rename to third_party/databricks-genie/LICENSE diff --git a/third_party/databricks-genie-one/README.md b/third_party/databricks-genie/README.md similarity index 85% rename from third_party/databricks-genie-one/README.md rename to third_party/databricks-genie/README.md index 2c827a07b8..84f8e4bdc4 100644 --- a/third_party/databricks-genie-one/README.md +++ b/third_party/databricks-genie/README.md @@ -1,25 +1,25 @@ -# Databricks Genie One +# Databricks Genie -Cursor plugin that connects agents to [Databricks Genie](https://www.databricks.com/product/business-intelligence/genie) through the Genie One [Model Context Protocol](https://modelcontextprotocol.io/) server on your Databricks workspace. +Cursor plugin that connects agents to [Databricks Genie](https://www.databricks.com/product/business-intelligence/genie) through the Genie [Model Context Protocol](https://modelcontextprotocol.io/) server on your Databricks workspace. Agents ask Genie questions about your workspace's data in plain language, and Genie answers from the data the signed-in user can read. ## Install 1. A Databricks account admin creates an OAuth app connection (see [Team setup](#team-setup)). -2. A Cursor team admin opens **Cursor Settings → Plugins**, searches for **Databricks Genie One**, installs it for the team, and enters the workspace hostname and client. +2. A Cursor team admin opens **Cursor Settings → Plugins**, searches for **Databricks Genie**, installs it for the team, and enters the workspace hostname and client. 3. Each member signs in to Databricks when Cursor prompts them. -Or run `/add-plugin databricks-genie-one` in chat. +Or run `/add-plugin databricks-genie` in chat. ## MCP -The plugin points at your workspace's Genie One endpoint: +The plugin points at your workspace's Genie endpoint: ```json { "mcpServers": { - "databricks-genie-one": { + "databricks-genie": { "type": "http", "url": "https://${DATABRICKS_HOST}/ai-gateway/mcp-services/system.ai.genie_one_mcp", "auth": { diff --git a/third_party/databricks-genie-one/assets/logo.png b/third_party/databricks-genie/assets/logo.png similarity index 100% rename from third_party/databricks-genie-one/assets/logo.png rename to third_party/databricks-genie/assets/logo.png diff --git a/third_party/databricks-genie-one/mcp.json b/third_party/databricks-genie/mcp.json similarity index 91% rename from third_party/databricks-genie-one/mcp.json rename to third_party/databricks-genie/mcp.json index 9469cd7fff..a51a11004d 100644 --- a/third_party/databricks-genie-one/mcp.json +++ b/third_party/databricks-genie/mcp.json @@ -1,6 +1,6 @@ { "mcpServers": { - "databricks-genie-one": { + "databricks-genie": { "type": "http", "url": "https://${DATABRICKS_HOST}/ai-gateway/mcp-services/system.ai.genie_one_mcp", "auth": {