From 8f2eafd0600a713533e472709e9ea983ccf1a99d Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Wed, 18 Feb 2026 13:15:58 +0100 Subject: [PATCH] :bug: Fix permissions for mcp plugin --- frontend/src/app/main/data/workspace/mcp.cljs | 8 +++++--- frontend/src/app/plugins/register.cljs | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/main/data/workspace/mcp.cljs b/frontend/src/app/main/data/workspace/mcp.cljs index 0936bce978..fcb8de06b9 100644 --- a/frontend/src/app/main/data/workspace/mcp.cljs +++ b/frontend/src/app/main/data/workspace/mcp.cljs @@ -11,6 +11,7 @@ [app.config :as cf] [app.main.data.plugins :as dp] [app.main.repo :as rp] + [app.plugins.register :refer [mcp-plugin-id]] [beicon.v2.core :as rx] [potok.v2.core :as ptk])) @@ -20,12 +21,13 @@ {:code "plugin.js" :name "Penpot MCP Plugin" :version 2 - :plugin-id "96dfa740-005d-8020-8007-55ede24a2bae" + :plugin-id mcp-plugin-id :description "This plugin enables interaction with the Penpot MCP server" :allow-background true :permissions - #{"library:read" "library:write" "comment:read" "content:write" "comment:write" - "content:read"}}) + #{"library:read" "library:write" + "comment:read" "comment:write" + "content:write" "content:read"}}) (defn init-mcp! [] diff --git a/frontend/src/app/plugins/register.cljs b/frontend/src/app/plugins/register.cljs index d9bb7763ac..87456dbc3f 100644 --- a/frontend/src/app/plugins/register.cljs +++ b/frontend/src/app/plugins/register.cljs @@ -17,6 +17,10 @@ [app.util.object :as obj] [beicon.v2.core :as rx])) +;; Needs to be here because moving it to `app.main.data.workspace.mcp` will +;; cause a circular dependency +(def mcp-plugin-id "96dfa740-005d-8020-8007-55ede24a2bae") + ;; Stores the installed plugins information (defonce ^:private registry (atom {})) @@ -127,5 +131,6 @@ (defn check-permission [plugin-id permission] (or (= plugin-id "00000000-0000-0000-0000-000000000000") + (= plugin-id mcp-plugin-id) (let [{:keys [permissions]} (dm/get-in @registry [:data plugin-id])] (contains? permissions permission))))