Penpot MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port on which the MCP server will run | 5000 |
| DEBUG | No | Enable debug mode for additional logging | true |
| PENPOT_API_URL | No | The URL of the Penpot API | https://design.penpot.app/api |
| PENPOT_PASSWORD | Yes | Your Penpot password for authentication | |
| PENPOT_USERNAME | Yes | Your Penpot username for authentication |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsB | Retrieve a list of all available Penpot projects. |
| get_project_filesC | Get all files contained within a specific Penpot project. |
| get_fileA | Retrieve a Penpot file by its ID and cache it. Don't use this tool for code generation, use 'get_object_tree' instead. |
| export_objectC | Export a Penpot design object as an image. |
| get_object_treeB | Get the object tree structure for a Penpot object ("tree" field) with rendered screenshot image of the object ("image.mcp_uri" field). Args: file_id: The ID of the Penpot file object_id: The ID of the object to retrieve fields: Specific fields to include in the tree (call "penpot_tree_schema" resource/tool for available fields) depth: How deep to traverse the object tree (-1 for full depth) format: Output format ('json' or 'yaml') |
| search_objectB | Search for objects within a Penpot file by name. |
| penpot_schemaB | Provide the Penpot API schema as JSON. |
| penpot_tree_schemaB | Provide the Penpot object tree schema as JSON. |
| get_rendered_componentC | Return a rendered component image by its ID. |
| get_cached_filesB | List all files currently stored in the cache. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| server_info | Provide information about the server. |
TDQS
Scored across 10 tools
Most tools have distinct purposes, but 'get_file' and 'get_object_tree' could be confused as both retrieve file/object data, though their descriptions clarify different use cases (caching vs. tree structure with image). Other tools like export_object, list_projects, and search_object are clearly differentiated.
Tools follow a consistent verb_noun pattern (e.g., export_object, get_file, list_projects) with minor deviations: 'penpot_schema' and 'penpot_tree_schema' use noun-only names, breaking the pattern slightly but remaining readable and domain-specific.
With 10 tools, the count is well-scoped for a Penpot design server, covering key operations like listing projects, retrieving files, exporting objects, and searching, without being overwhelming or too sparse.
The toolset covers essential Penpot operations such as listing, retrieving, exporting, and searching, with minor gaps like updating or creating design objects (e.g., no create_file or update_object tools), but agents can likely work around this for basic workflows.