{"id":"penpot-penpot-mcp","name":"penpot-mcp","homepage":null,"repo_url":"https://github.com/penpot/penpot-mcp","category":"ai-ml","subcategories":[],"tags":["ai","mcp","penpot","design-automation","plugin","typescript","websocket","web-ui"],"what_it_does":"Provides Penpot’s official Model Context Protocol (MCP) server and an accompanying Penpot plugin. The MCP server exposes tools that let an AI client retrieve, transform, and create design elements in a Penpot design file by routing requests through a WebSocket-connected Penpot plugin.","use_cases":["LLM-assisted querying of Penpot design files","Automated transformations of design elements (e.g., generate variants, update properties)","Creation of new design elements from structured instructions","Design-to-design or code-to-design workflows via MCP tooling"],"not_for":["Untrusted multi-tenant environments without strict network/access controls","Use cases requiring strong built-in authentication/authorization guarantees at the MCP layer (not described here)","Operations needing robust, documented idempotency guarantees for retries","Production deployments where vendor SLA/uptime and change history are critical and not documented"],"best_when":"Used locally with the Penpot plugin UI open for interactive design workflows, or in controlled environments where remote exposure is protected and the operator understands WebSocket/network security risks.","avoid_when":"Avoid exposing the MCP/WS endpoints to the public internet or untrusted networks; avoid relying on documented retry/idempotency behavior since it’s not specified in the provided materials.","alternatives":["MCP clients/proxies like mcp-remote with other Penpot automation APIs (if available)","Direct Penpot API automation (if your use case doesn’t specifically require MCP tooling)","Other MCP servers that connect to design/content systems via custom plugins"],"af_score":53.0,"security_score":21.8,"reliability_score":32.5,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:36:10.807612+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":"http://localhost:4401/mcp (modern streamable HTTP); http://localhost:4401/sse (legacy SSE)","has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["None explicitly described (local/dev usage via localhost + plugin connection)"],"oauth":false,"scopes":false,"notes":"Authentication/authorization mechanisms for the MCP server endpoints are not described in the provided README. The plugin connection and environment/network controls likely gate access, but details are not documented here."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing information provided; appears to be self-hosted/open-source tooling under MPL-2.0."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":53.0,"security_score":21.8,"reliability_score":32.5,"mcp_server_quality":80.0,"documentation_accuracy":70.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":30.0,"rate_limit_clarity":0.0,"tls_enforcement":20.0,"auth_strength":15.0,"scope_granularity":10.0,"dependency_hygiene":40.0,"secret_handling":30.0,"security_notes":"Security guidance is mostly about local browser network connectivity (PNA) rather than transport security or access control. The README discusses WebSocket connectivity and remote-mode behavior (disabling file system access), but it does not document authentication, authorization, TLS usage, or rate limiting for the MCP endpoints. Treat remote exposure as high risk unless the operator adds network controls (firewalls/VPN) and verifies the underlying implementation of the MCP plugin connection.","uptime_documented":0.0,"version_stability":40.0,"breaking_changes_history":30.0,"error_recovery":60.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Browser private network access (PNA) restrictions may require explicit permission to connect to localhost for the plugin UI to reach the WebSocket server.","The plugin UI must remain open; closing it closes the connection.","If the MCP client uses stdio transport, a proxy such as mcp-remote is required to reach the HTTP/SSE endpoints."]}}