From ecbbbafdd9aaa0cbe16d5e41f4044d3b73621e18 Mon Sep 17 00:00:00 2001 From: Julian Descottes Date: Tue, 22 Sep 2026 17:33:23 +0200 Subject: [PATCH] chore: update mcp plugin declaration to Agent Plugins 1.0 --- .cursor-plugin/plugin.json | 25 ------------------------- docs/ci-and-release.md | 11 +++++------ mcp.json | 18 ++++++++++++++++++ plugin.json | 20 ++++++++++++++++++++ scripts/sync-manifest-versions.mjs | 2 +- 5 files changed, 44 insertions(+), 32 deletions(-) delete mode 100644 .cursor-plugin/plugin.json create mode 100644 mcp.json create mode 100644 plugin.json diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json deleted file mode 100644 index b3cad11..0000000 --- a/.cursor-plugin/plugin.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "firefox-devtools-mcp", - "description": "Give your agent a real Firefox. Navigate pages, fill forms and verify changes in a second engine, and inspect the console, network activity, JavaScript debugger and performance profiler to find the cause of a bug instead of guessing. Supports Firefox for Android.", - "version": "0.10.4", - "author": { - "name": "Mozilla" - }, - "homepage": "https://github.com/mozilla/firefox-devtools-mcp", - "repository": "https://github.com/mozilla/firefox-devtools-mcp", - "license": "MIT OR Apache-2.0", - "mcpServers": { - "firefox-devtools": { - "command": "npx", - "args": [ - "-y", - "@mozilla/firefox-devtools-mcp@latest", - "--auto-profile", - "--tool-preset", - "developer", - "--pref", - "remote.prefs.recommended=false" - ] - } - } -} diff --git a/docs/ci-and-release.md b/docs/ci-and-release.md index d807492..97482e0 100644 --- a/docs/ci-and-release.md +++ b/docs/ci-and-release.md @@ -67,12 +67,11 @@ MCP Registry `package.json` they ship, since neither artifact is the package registered under that name. Client plugin manifests -- `plugins/*/.claude-plugin/` (Claude), `.cursor-plugin/plugin.json` (Cursor) and - `gemini-extension.json` (Gemini CLI) let each client install the server from this - repository. The root `.claude-plugin/marketplace.json` is the marketplace listing, not a - plugin manifest. Gemini reads its file directly; Cursor additionally requires submission - to the Cursor marketplace before the plugin is discoverable. -- The Claude manifests carry no `version`. The other two do, and `npm run sync:manifests` +- `plugins/*/.claude-plugin/` (Claude), `gemini-extension.json` (Gemini CLI) and the root + `plugin.json` plus `mcp.json` (the Agent Plugins standard, which cursor.directory reads) + let each client install the server from this repository. The root + `.claude-plugin/marketplace.json` is the marketplace listing, not a plugin manifest. +- The Claude manifests and `mcp.json` carry no `version`. The others do, and `npm run sync:manifests` copies it from `package.json`, along with `manifest.mcpb.json`, `server.json` and the two version fields in `package-lock.json`. Since each manifest launches the server with `@latest`, the field is metadata only and does not pin what gets installed. diff --git a/mcp.json b/mcp.json new file mode 100644 index 0000000..d70da54 --- /dev/null +++ b/mcp.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json", + "mcpServers": { + "firefox-devtools": { + "type": "stdio", + "command": "npx", + "args": [ + "-y", + "@mozilla/firefox-devtools-mcp@latest", + "--auto-profile", + "--tool-preset", + "developer", + "--pref", + "remote.prefs.recommended=false" + ] + } + } +} diff --git a/plugin.json b/plugin.json new file mode 100644 index 0000000..b85f138 --- /dev/null +++ b/plugin.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", + "name": "firefox-devtools-mcp", + "version": "0.10.4", + "description": "Control Firefox for browsing, web testing, and debugging. Fill forms, capture network and console activity, take screenshots, run scripts, and profile performance. Supports Android devices.", + "author": { + "name": "Mozilla" + }, + "homepage": "https://github.com/mozilla/firefox-devtools-mcp", + "repository": "https://github.com/mozilla/firefox-devtools-mcp", + "license": "MIT OR Apache-2.0", + "keywords": [ + "firefox", + "browser", + "devtools", + "debugging", + "automation", + "performance" + ] +} diff --git a/scripts/sync-manifest-versions.mjs b/scripts/sync-manifest-versions.mjs index e7d10cd..468fc65 100644 --- a/scripts/sync-manifest-versions.mjs +++ b/scripts/sync-manifest-versions.mjs @@ -18,7 +18,7 @@ const setVersion = (doc) => ({ ...doc, version }); /** Each entry maps a file to the update it needs, since several carry the version more than once. */ const targets = [ - ['.cursor-plugin/plugin.json', setVersion], + ['plugin.json', setVersion], ['gemini-extension.json', setVersion], ['manifest.mcpb.json', setVersion], [