From f3efacca666f90e940a7748cced1c1b883013d58 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 31 Jul 2026 17:37:45 +0000 Subject: [PATCH 1/2] schemas: allow minClientVersions on plugin manifests and marketplace entries Co-authored-by: Alex Vandak Maloney --- schemas/marketplace.schema.json | 23 +++++++++++++++++++++++ schemas/plugin.schema.json | 23 +++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/schemas/marketplace.schema.json b/schemas/marketplace.schema.json index 70eba0f5..a3ca579a 100644 --- a/schemas/marketplace.schema.json +++ b/schemas/marketplace.schema.json @@ -70,8 +70,31 @@ "description": { "type": "string", "description": "Short description of the plugin." + }, + "minClientVersions": { + "$ref": "#/$defs/minClientVersions", + "description": "Minimum client versions required to install the plugin, keyed by client identifier." } } + }, + "minClientVersions": { + "type": "object", + "minProperties": 1, + "properties": { + "cursor": { + "$ref": "#/$defs/semver", + "description": "Minimum Cursor version required to install the plugin (e.g. \"3.13.0\")." + } + }, + "additionalProperties": { + "$ref": "#/$defs/semver", + "description": "Minimum version required for another client identifier." + } + }, + "semver": { + "type": "string", + "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?$", + "description": "Strict semantic version \"X.Y.Z\" with an optional prerelease suffix." } } } diff --git a/schemas/plugin.schema.json b/schemas/plugin.schema.json index d4c539e0..807cc0a8 100644 --- a/schemas/plugin.schema.json +++ b/schemas/plugin.schema.json @@ -25,6 +25,10 @@ "type": "string", "description": "Semantic version of the plugin (e.g. \"1.2.3\")." }, + "minClientVersions": { + "$ref": "#/$defs/minClientVersions", + "description": "Minimum client versions required to install the plugin, keyed by client identifier." + }, "author": { "$ref": "#/$defs/author", "description": "The plugin author." @@ -112,6 +116,25 @@ } } }, + "minClientVersions": { + "type": "object", + "minProperties": 1, + "properties": { + "cursor": { + "$ref": "#/$defs/semver", + "description": "Minimum Cursor version required to install the plugin (e.g. \"3.13.0\")." + } + }, + "additionalProperties": { + "$ref": "#/$defs/semver", + "description": "Minimum version required for another client identifier." + } + }, + "semver": { + "type": "string", + "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?$", + "description": "Strict semantic version \"X.Y.Z\" with an optional prerelease suffix." + }, "stringOrStringArray": { "oneOf": [ { "type": "string" }, From 010170622b415bf087e8cefb4e43f5e8c1aca25b Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 31 Jul 2026 17:37:46 +0000 Subject: [PATCH 2/2] google plugins: require Cursor 3.13.0 or newer Co-authored-by: Alex Vandak Maloney --- gmail/.cursor-plugin/plugin.json | 3 +++ google-calendar/.cursor-plugin/plugin.json | 3 +++ google-docs/.cursor-plugin/plugin.json | 3 +++ google-drive/.cursor-plugin/plugin.json | 3 +++ google-sheets/.cursor-plugin/plugin.json | 3 +++ google-slides/.cursor-plugin/plugin.json | 3 +++ 6 files changed, 18 insertions(+) diff --git a/gmail/.cursor-plugin/plugin.json b/gmail/.cursor-plugin/plugin.json index e18dfb96..11dc0c28 100644 --- a/gmail/.cursor-plugin/plugin.json +++ b/gmail/.cursor-plugin/plugin.json @@ -2,6 +2,9 @@ "name": "gmail", "displayName": "Gmail", "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, "description": "Connect Cursor to Gmail via Google's remote MCP server — search, read, draft, label, and manage email.", "author": { "name": "Cursor", diff --git a/google-calendar/.cursor-plugin/plugin.json b/google-calendar/.cursor-plugin/plugin.json index f01c79b9..13d51ad9 100644 --- a/google-calendar/.cursor-plugin/plugin.json +++ b/google-calendar/.cursor-plugin/plugin.json @@ -2,6 +2,9 @@ "name": "google-calendar", "displayName": "Google Calendar", "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, "description": "Connect Cursor to Google Calendar via Google's remote MCP server — list calendars, search events, and create or update meetings.", "author": { "name": "Cursor", diff --git a/google-docs/.cursor-plugin/plugin.json b/google-docs/.cursor-plugin/plugin.json index cd5ae60a..f1e56d8e 100644 --- a/google-docs/.cursor-plugin/plugin.json +++ b/google-docs/.cursor-plugin/plugin.json @@ -2,6 +2,9 @@ "name": "google-docs", "displayName": "Google Docs", "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, "description": "Connect Cursor to Google Docs via Google's remote MCP server — read and update documents.", "author": { "name": "Cursor", diff --git a/google-drive/.cursor-plugin/plugin.json b/google-drive/.cursor-plugin/plugin.json index 5cee94c9..a3c2adff 100644 --- a/google-drive/.cursor-plugin/plugin.json +++ b/google-drive/.cursor-plugin/plugin.json @@ -2,6 +2,9 @@ "name": "google-drive", "displayName": "Google Drive", "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, "description": "Connect Cursor to Google Drive via Google's remote MCP server — search, read, create, share, and manage files.", "author": { "name": "Cursor", diff --git a/google-sheets/.cursor-plugin/plugin.json b/google-sheets/.cursor-plugin/plugin.json index 89ac90f9..1d44a878 100644 --- a/google-sheets/.cursor-plugin/plugin.json +++ b/google-sheets/.cursor-plugin/plugin.json @@ -2,6 +2,9 @@ "name": "google-sheets", "displayName": "Google Sheets", "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, "description": "Connect Cursor to Google Sheets via Google's remote MCP server — read spreadsheets, update values and formulas.", "author": { "name": "Cursor", diff --git a/google-slides/.cursor-plugin/plugin.json b/google-slides/.cursor-plugin/plugin.json index 43236a18..6e85a62a 100644 --- a/google-slides/.cursor-plugin/plugin.json +++ b/google-slides/.cursor-plugin/plugin.json @@ -2,6 +2,9 @@ "name": "google-slides", "displayName": "Google Slides", "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, "description": "Connect Cursor to Google Slides via Google's remote MCP server — read and update presentations.", "author": { "name": "Cursor",