Skip to main content
Glama
zcube

Penpot MCP Server

by zcube

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PENPOT_API_URLNoThe URL of the Penpot instance (self-hosted or public).https://design.penpot.app
PENPOT_ACCESS_TOKENYesYour Penpot access token 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

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_filesA

List all files in a project

get_fileC

Get detailed information about a file

create_fileC

Create a new file in a project

rename_fileC

Rename a file

delete_fileC

Delete a file

list_pagesB

List all pages in a file

add_pageB

Add a new page to a file

get_page_shapesA

Get all shapes on a specific page

query_shapesA

Query and filter shapes with multiple criteria (like grep for shapes). Useful for bulk operations like changing color themes, alignment, or filtering by area/type. Returns only the requested fields.

update_shapeB

Update shape properties including position, size, colors, gradients, images, borders, shadows, blur, blend modes, text alignment, and visual effects

get_shape_propertiesA

Get detailed properties of a specific shape including colors, text properties, fonts, dimensions, effects, and all other attributes

delete_shapeB

Delete a shape from the page

create_rectangleB

Create a rectangle shape with colors, gradients, images, borders, rounded corners, shadows, blur, and blend modes

create_circleB

Create a circle shape with colors, gradients, images, borders, shadows, blur, and blend modes

create_textB

Create a text shape with color, styling, alignment, shadows, blur effects, and blend modes

create_frameB

Create a frame shape (container for other shapes) with colors, gradients, images, borders, shadows, blur, and blend modes

create_componentB

Create a component from a shape

list_componentsB

List all components in a file

list_teamsA

List all teams the user has access to

list_projectsA

List all projects in a team

create_teamC

Create a new team

create_projectC

Create a new project in a team

get_teamA

Get detailed information about a specific team (provide either teamId or fileId)

get_team_statsB

Get statistics for a team (projects, files, members count)

update_teamC

Update team information (name)

delete_teamB

Delete a team (requires owner permissions)

get_team_membersB

Get list of all members in a team

update_team_member_roleB

Update a team member's role (viewer, editor, admin, owner)

delete_team_memberC

Remove a member from a team

leave_teamB

Leave a team (current user leaves the team)

get_team_invitationsA

Get list of pending invitations for a team

create_team_invitationsB

Create invitations for one or more email addresses to join a team

delete_team_invitationB

Delete a pending team invitation by email

update_team_invitation_roleA

Update the role of a pending team invitation by email

get_team_shared_filesB

Get all files shared with a team

get_team_recent_filesB

Get recently modified files in a team

create_share_linkC

Create a shareable link for a file

delete_share_linkB

Delete a share link

create_comment_threadB

Create a new comment thread on a page

list_comment_threadsA

List all comment threads in a file or team (provide either fileId or teamId)

get_comment_threadB

Get details of a specific comment thread

get_commentsA

Get all comments in a thread

create_commentB

Add a comment to an existing thread

update_commentC

Update a comment content

delete_commentB

Delete a comment

update_comment_thread_statusB

Mark a comment thread as resolved or unresolved

update_comment_thread_positionA

Move a comment thread to a new position

delete_comment_threadC

Delete a comment thread

get_unread_comment_threadsA

Get all unread comment threads for a team

create_media_from_urlC

Create a media object from a URL

clone_media_objectC

Clone an existing media object

list_file_mediaA

List all media objects in a file

list_font_variantsA

List all custom font variants for a team, file, or project

create_font_variantA

Create a new font variant (requires font data). Font weights: 100-900 in increments of 100.

update_fontB

Update a font's name

delete_fontA

Delete a custom font (removes all variants)

delete_font_variantB

Delete a specific font variant (e.g., Bold, Italic)

list_webhooksA

List all webhooks for a team

create_webhookA

Create a new webhook for team event notifications

update_webhookB

Update an existing webhook (URL, type, or active status)

delete_webhookB

Delete a webhook

search_shapesB

Search for shapes in a file by name

search_filesB

Search for files by name

get_profileB

Get current user profile

list_file_snapshotsB

List all snapshots (versions) of a file

create_file_snapshotA

Create a new snapshot (version) of a file for backup/versioning

update_file_snapshotB

Update a snapshot's label/description

delete_file_snapshotB

Delete a file snapshot (version)

restore_file_snapshotA

Restore a file to a previous snapshot (version). This will replace the current file content with the snapshot content.

lock_file_snapshotA

Lock a snapshot to prevent it from being deleted (protect important versions)

unlock_file_snapshotA

Unlock a snapshot to allow deletion

get_file_librariesB

Get all component libraries used by a file

has_file_librariesA

Check if a file uses any component libraries (returns boolean)

link_file_to_libraryA

Link a file to a component library to use its components. Returns recursive list of libraries used by that library.

unlink_file_from_libraryC

Unlink a file from a component library

get_library_usageA

Get the number of files that use this library

get_library_file_referencesB

Get all file references that use this library

update_file_library_sync_statusC

Update the synchronization status of a file->library link

ignore_file_library_sync_statusC

Ignore library synchronization status for a file at a specific date/time

align_shapesC

Align multiple shapes relative to each other or to a selection bounds

distribute_shapesB

Distribute multiple shapes evenly with equal spacing

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zcube/penpot-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server