mirror of
https://github.com/penpot/penpot.git
synced 2026-11-12 13:00:37 +00:00
* 🐛 Fix MCP session discovery for plugins connected from the dashboard With Redis-backed routing, execute_code without a sessionId timed out with SessionDiscoveryError when the plugin ran on the dashboard. The discovery reply schema required a string fileId and fileName, so replies listing a session with no open file were dropped, and discovery waited for its timeout. Share one session schema between the plugin handshake and discovery replies. It accepts a null file and keeps workspaceState. An unreadable reply now fails discovery at once with an error that names the problem and says a retry will not help. Timeout and Redis failures state their reason. Closes #12860 * 🐛 Stop blaming server load when MCP discovery fails on shutdown Closing the dispatcher rejected pending discoveries with the default advice, which blamed temporary server load. Shutdown now gives its own advice. The dispatcher tests now cover each discovery failure path: an unreadable reply alongside a valid one rejects with InvalidDiscoveryResponseError and does not dispatch, a late unreadable reply leaves a settled discovery unchanged, and timeout, Redis failure and shutdown each state their reason.
Penpot MCP Server
A Model Context Protocol (MCP) server that provides Penpot integration capabilities for AI clients supporting the model context protocol (MCP).
Setup
-
Install Dependencies
pnpm install -
Build the Project
pnpm run build -
Run the Server
pnpm run start
Penpot Plugin API REPL
The MCP server includes a REPL interface for testing Penpot Plugin API calls. To use it, connect to the URL reported at startup.