🐛 Fix permissions for mcp plugin

This commit is contained in:
alonso.torres
2026-02-18 13:15:58 +01:00
parent 942da56e78
commit 8f2eafd060
2 changed files with 10 additions and 3 deletions

View File

@@ -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!
[]

View File

@@ -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))))