# Penpot MCP - Tools, Setup and Examples | FlyMy.AI

> Penpot MCP for Claude, Cursor and Codex. AI workflows, with 90 actions. Your API key. See setup, examples and pricing.

Page: https://flymy.ai/mcp/penpot/

MCP / AI and media

# Penpot MCP: AI workflows

Open-source design and prototyping platform for collaborative design workflows. Connect it to Claude, Codex, Cursor or any MCP client through one FlyMy.AI MCP.

[Connect Penpot](https://flymy.ai/mcp/penpot/#connect) [What it can do](https://flymy.ai/mcp/penpot/#actions)

Your own API key, 90 actions, AI and media

$ YOUR NEXT RUN

Claude Code, Codex, Cursor, Any agent

## Use Penpot MCP in your assistant

Paste this prompt into Claude Code, Codex, Cursor or any agent. It reads the guide and helps you connect.

```
Read https://flymy.ai/skill.md and https://flymy.ai/mcp/penpot.md. Help me connect Penpot MCP to this assistant. Then help me run this task: Use Penpot to create access token. Ask me for the required inputs first and show the result.
```

[Open FlyMy.AI](https://app.flymy.ai/new-agent) [Download brief](https://flymy.ai/mcp/penpot.md)

## What Penpot MCP can do

90 actions in the FlyMy.AI catalog, the most used first. Your agent finds them through search_tools and calls the one the task needs.

| Action | What it does |
|---|---|
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_CREATE_ACCESS_TOKEN) `PENPOT_CREATE_ACCESS_TOKEN` | Create a personal access token for API authentication in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_CREATE_COMMENT_THREAD) `PENPOT_CREATE_COMMENT_THREAD` | Create a new comment thread on a Penpot file at a specific position. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_CREATE_FILE) `PENPOT_CREATE_FILE` | Create a new design file in a Penpot project. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_CREATE_PROJECT) `PENPOT_CREATE_PROJECT` | Create a new project within a team in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_CREATE_TEAM) `PENPOT_CREATE_TEAM` | Create a new team in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_CREATE_TEAM_ACCESS_REQUEST) `PENPOT_CREATE_TEAM_ACCESS_REQUEST` | Request an invitation to join a Penpot team. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_CREATE_WEBHOOK) `PENPOT_CREATE_WEBHOOK` | Create a webhook for a team to receive event notifications. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_DELETE_ACCESS_TOKEN) `PENPOT_DELETE_ACCESS_TOKEN` | Delete a personal access token from Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_DELETE_COMMENT) `PENPOT_DELETE_COMMENT` | Delete a comment from a Penpot design file. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_DELETE_FILE_SNAPSHOT) `PENPOT_DELETE_FILE_SNAPSHOT` | Delete a file snapshot in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_DELETE_PROJECT) `PENPOT_DELETE_PROJECT` | Delete a project from Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_DELETE_TEAM) `PENPOT_DELETE_TEAM` | Delete a team from Penpot. |

**Show all 90 actions**

| Action | What it does |
|---|---|
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_DELETE_TEAM_FILES_PERMANENTLY) `PENPOT_DELETE_TEAM_FILES_PERMANENTLY` | Permanently delete specified files from a Penpot team. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_DELETE_TEAM_INVITATION) `PENPOT_DELETE_TEAM_INVITATION` | Delete a pending team invitation in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_DELETE_TEAM_MEMBER) `PENPOT_DELETE_TEAM_MEMBER` | Remove a member from a team in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_DELETE_WEBHOOK) `PENPOT_DELETE_WEBHOOK` | Delete a webhook by its UUID. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_DUPLICATE_FILE) `PENPOT_DUPLICATE_FILE` | Duplicate a single file within the same team in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_DUPLICATE_PROJECT) `PENPOT_DUPLICATE_PROJECT` | Duplicate an entire Penpot project with all its files. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_ACCESS_TOKENS) `PENPOT_GET_ACCESS_TOKENS` | List all personal access tokens for the authenticated user. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_ALL_PROJECTS) `PENPOT_GET_ALL_PROJECTS` | Retrieve all projects across all teams in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_BUILTIN_TEMPLATES) `PENPOT_GET_BUILTIN_TEMPLATES` | Get the list of builtin templates available in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_COMMENTS) `PENPOT_GET_COMMENTS` | Retrieve all comments in a comment thread. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_COMMENT_THREAD) `PENPOT_GET_COMMENT_THREAD` | Retrieve a specific comment thread from a Penpot file. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_COMMENT_THREADS) `PENPOT_GET_COMMENT_THREADS` | Retrieve all comment threads for a Penpot file. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_FILE) `PENPOT_GET_FILE` | Retrieve a Penpot file by its ID. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_FILE_INFO) `PENPOT_GET_FILE_INFO` | Retrieve basic information about a Penpot file by its ID. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_FILE_LIBRARIES) `PENPOT_GET_FILE_LIBRARIES` | Retrieve libraries linked to a Penpot file. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_FILE_OBJECT_THUMBNAILS) `PENPOT_GET_FILE_OBJECT_THUMBNAILS` | Retrieve thumbnails for objects in a Penpot file. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_FILE_SNAPSHOTS) `PENPOT_GET_FILE_SNAPSHOTS` | Retrieves all snapshots for a specific Penpot file. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_FILE_SUMMARY) `PENPOT_GET_FILE_SUMMARY` | Retrieve a summary of file contents and statistics from Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_FONT_VARIANTS) `PENPOT_GET_FONT_VARIANTS` | Retrieve font variants for a team, file, project, or share in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_LIBRARY_FILE_REFERENCES) `PENPOT_GET_LIBRARY_FILE_REFERENCES` | Get files that reference a shared library. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_LIBRARY_USAGE) `PENPOT_GET_LIBRARY_USAGE` | Get usage statistics for a library. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_OWNED_TEAMS) `PENPOT_GET_OWNED_TEAMS` | List teams owned by the current user. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_PAGE) `PENPOT_GET_PAGE` | Retrieve page data from a Penpot file. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_PROFILES_FOR_FILE_COMMENTS) `PENPOT_GET_PROFILES_FOR_FILE_COMMENTS` | Retrieve profiles of users who have commented on a Penpot file. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_PROJECT) `PENPOT_GET_PROJECT` | Retrieve detailed information about a specific Penpot project by its ID. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_PROJECT_FILES) `PENPOT_GET_PROJECT_FILES` | Retrieve all files in a Penpot project. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_SSO_PROVIDER) `PENPOT_GET_SSO_PROVIDER` | Retrieve SSO provider information for an email address. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_SUBSCRIPTION_USAGE) `PENPOT_GET_SUBSCRIPTION_USAGE` | Get subscription usage information for the current user. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_TEAM) `PENPOT_GET_TEAM` | Retrieve team details by ID. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_TEAMS) `PENPOT_GET_TEAMS` | List all teams the authenticated user is a member of. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_TEAM_DELETED_FILES) `PENPOT_GET_TEAM_DELETED_FILES` | Retrieve deleted files from a team's trash in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_TEAM_INFO) `PENPOT_GET_TEAM_INFO` | Retrieve detailed information about a specific Penpot team by its ID. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_TEAM_INVITATIONS) `PENPOT_GET_TEAM_INVITATIONS` | List pending invitations for a team in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_TEAM_MEMBERS) `PENPOT_GET_TEAM_MEMBERS` | List all members of a team in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_TEAM_SHARED_FILES) `PENPOT_GET_TEAM_SHARED_FILES` | Retrieve shared library files for a Penpot team. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_TEAM_STATS) `PENPOT_GET_TEAM_STATS` | Retrieve statistics for a specific Penpot team by its ID. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_TEAM_USERS) `PENPOT_GET_TEAM_USERS` | Retrieve users in a team by team ID or file ID. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_UNREAD_COMMENT_THREADS) `PENPOT_GET_UNREAD_COMMENT_THREADS` | Retrieve comment threads with unread comments for a specific team. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_VIEW_ONLY_BUNDLE) `PENPOT_GET_VIEW_ONLY_BUNDLE` | Retrieve data bundle for view-only file access in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_GET_WEBHOOKS) `PENPOT_GET_WEBHOOKS` | Retrieve all webhooks configured for a team. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_HAS_FILE_LIBRARIES) `PENPOT_HAS_FILE_LIBRARIES` | Check if a Penpot file has linked libraries. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_IGNORE_FILE_LIBRARY_SYNC_STATUS) `PENPOT_IGNORE_FILE_LIBRARY_SYNC_STATUS` | Ignore library sync status updates for a file. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_LINK_FILE_TO_LIBRARY) `PENPOT_LINK_FILE_TO_LIBRARY` | Link a file to a library in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_LOCK_FILE_SNAPSHOT) `PENPOT_LOCK_FILE_SNAPSHOT` | Lock a file snapshot in Penpot to prevent deletion. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_LOGOUT) `PENPOT_LOGOUT` | Clear the authentication cookie and logout the current session. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_MARK_ALL_THREADS_AS_READ) `PENPOT_MARK_ALL_THREADS_AS_READ` | Mark all comment threads as read in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_MOVE_FILES) `PENPOT_MOVE_FILES` | Move files from one project to another in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_MOVE_PROJECT) `PENPOT_MOVE_PROJECT` | Move a project to a different team in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_PREPARE_REGISTER_PROFILE) `PENPOT_PREPARE_REGISTER_PROFILE` | Prepare user registration by validating email and sending verification in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_PUSH_AUDIT_EVENTS) `PENPOT_PUSH_AUDIT_EVENTS` | Push audit events to Penpot for tracking system behavior and user actions. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_REGISTER_PROFILE) `PENPOT_REGISTER_PROFILE` | Complete user registration with profile details using a verification token. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_RENAME_FILE) `PENPOT_RENAME_FILE` | Rename a design file in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_RENAME_PROJECT) `PENPOT_RENAME_PROJECT` | Rename an existing project in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_REQUEST_PROFILE_RECOVERY) `PENPOT_REQUEST_PROFILE_RECOVERY` | Request a password/profile recovery email. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_RESTORE_DELETED_TEAM_FILES) `PENPOT_RESTORE_DELETED_TEAM_FILES` | Restore deleted files in a Penpot team. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_RESTORE_FILE_SNAPSHOT) `PENPOT_RESTORE_FILE_SNAPSHOT` | Restore a Penpot file to a previous snapshot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_SEARCH_FILES) `PENPOT_SEARCH_FILES` | Search for files by name or content in a Penpot team. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_SEND_USER_FEEDBACK) `PENPOT_SEND_USER_FEEDBACK` | Send user feedback to Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_SET_FILE_SHARED) `PENPOT_SET_FILE_SHARED` | Set file sharing status in Penpot (enable/disable shared library). |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UNLINK_FILE_FROM_LIBRARY) `PENPOT_UNLINK_FILE_FROM_LIBRARY` | Unlink a file from a shared library in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UNLOCK_FILE_SNAPSHOT) `PENPOT_UNLOCK_FILE_SNAPSHOT` | Unlock a locked file snapshot in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_COMMENT) `PENPOT_UPDATE_COMMENT` | Update the content of an existing comment in a Penpot design file. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_COMMENT_THREAD) `PENPOT_UPDATE_COMMENT_THREAD` | Update the resolution status of a comment thread in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_COMMENT_THREAD_FRAME) `PENPOT_UPDATE_COMMENT_THREAD_FRAME` | Update the frame associated with a comment thread in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_COMMENT_THREAD_POSITION) `PENPOT_UPDATE_COMMENT_THREAD_POSITION` | Update the position of a comment thread in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_COMMENT_THREAD_STATUS) `PENPOT_UPDATE_COMMENT_THREAD_STATUS` | Update the status of a comment thread in Penpot (e.g., toggle resolved/unresolved). |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_FILE) `PENPOT_UPDATE_FILE` | Update a Penpot file with changes. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_FILE_LIBRARY_SYNC_STATUS) `PENPOT_UPDATE_FILE_LIBRARY_SYNC_STATUS` | Update the synchronization status of a file->library link. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_FILE_SNAPSHOT) `PENPOT_UPDATE_FILE_SNAPSHOT` | Update a file snapshot metadata in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_FONT) `PENPOT_UPDATE_FONT` | Update a font's metadata in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_PROFILE) `PENPOT_UPDATE_PROFILE` | Update the current authenticated user's profile information. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_PROFILE_NOTIFICATIONS) `PENPOT_UPDATE_PROFILE_NOTIFICATIONS` | Update notification settings for the authenticated user's profile. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_PROFILE_PROPS) `PENPOT_UPDATE_PROFILE_PROPS` | Update custom properties for the authenticated user's profile. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_PROJECT_PIN) `PENPOT_UPDATE_PROJECT_PIN` | Update the pin status of a project in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_TEAM) `PENPOT_UPDATE_TEAM` | Update team settings in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_TEAM_INVITATION_ROLE) `PENPOT_UPDATE_TEAM_INVITATION_ROLE` | Update the role of a pending team invitation in Penpot. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_UPDATE_WEBHOOK) `PENPOT_UPDATE_WEBHOOK` | Update an existing webhook configuration. |
| [#](https://flymy.ai/mcp/penpot/#method-PENPOT_VERIFY_TOKEN) `PENPOT_VERIFY_TOKEN` | Verify an authentication or registration token in Penpot. |

## Ask your agent

Requests to paste as they are. Each one runs on the actions named under it.

**“Use Penpot to create access token. Ask me for the required inputs first and show the result.”** uses `PENPOT_CREATE_ACCESS_TOKEN`

**“Use Penpot to create comment thread. Ask me for the required inputs first and show the result.”** uses `PENPOT_CREATE_COMMENT_THREAD`

**“Use Penpot to create file. Ask me for the required inputs first and show the result.”** uses `PENPOT_CREATE_FILE`

## Connect Penpot in a minute

One MCP for every integration. Add it once, then every MCP in the catalog is a request away.

1. 01 ### Add FlyMy.AI Add the FlyMy.AI MCP to your assistant with one of the commands below and sign in. No key to copy.
2. 02 ### Add your Penpot credentials Paste them into the Penpot [connection settings](https://app.flymy.ai/mcp-configs#penpot) once; they stay with FlyMy.AI, never in a prompt or a chat.
  - **Penpot API Base URL** - Your Penpot instance API base URL. Example: https://design.penpot.app/api (for cloud) or https://your-domain.com/api (for self-hosted) [Get API key →](https://design.penpot.app/api)
  - **Access Token** - Access token from Your account → Access tokens in Penpot profile settings [Open Penpot →](https://penpot.app/)
3. 03 ### Ask Paste a request from this page. Every run shows what it cost.

Claude Code

```
claude mcp add --transport http flymyai https://mcp-agents.flymy.ai/mcp
```

Then run /mcp in Claude Code and sign in.

Codex

```
codex mcp add flymy --url https://mcp-agents.flymy.ai/mcp
```

Then run codex mcp login flymy to sign in.

claude.ai and Claude Desktop

```
https://mcp-agents.flymy.ai/mcp
```

Settings, Connectors, Add custom connector: paste this URL.

## Pay per run

FlyMy.AI bills the run: the model and the tool's seconds. Calls go to your own Penpot account, under its plan and limits. No seats and no minimum.

[See usage pricing →](https://flymy.ai/pricing/)

## More AI and media MCPs

Models, speech, images, video and document AI.

### ElevenLabs

ElevenLabs TTS/STT

13 actions / no key

Link: https://flymy.ai/mcp/elevenlabs/

### Gemini 3.8 Flash (vision)

Gemini 3.8 Flash reads an image or a video and answers

1 action / no key

Link: https://flymy.ai/mcp/gemini-vlm/

### Whisper

OpenAI Whisper speech-to-text

1 action / no key

Link: https://flymy.ai/mcp/whisper/

### Abyssale

Abyssale is a creative automation platform that enables users to generate images, videos, GIFs, PDFs, and HTML5 content programmatically, streamlining...

4 actions / your API key

Link: https://flymy.ai/mcp/abyssale/

### Adrapid

Adrapid is a tool designed for efficient creation of digital marketing visuals, including banners, images, videos, and HTML5 content, utilizing reusable...

3 actions / your API key

Link: https://flymy.ai/mcp/adrapid/

### Affinda

Affinda provides an AI-powered document processing platform that automates data extraction from various document types

39 actions / your API key

Link: https://flymy.ai/mcp/affinda/

## Go to the source

[Penpot in the docs →](https://docs.flymy.ai/mcp/apps/penpot), [Penpot connection settings →](https://app.flymy.ai/mcp-configs#penpot), [Penpot website →](https://penpot.app/), [Every MCP in the catalog →](https://flymy.ai/mcp/#catalog), [Usage pricing →](https://flymy.ai/pricing/)

From the FlyMy.AI platform catalog of 2026-11-03: name, description, actions and setup as the platform lists them. Examples are requests to paste, not recorded runs.

---

For agents: the FlyMyAI operating guide (sign up, connect, run models, tools and agents) is https://flymy.ai/skill.md, and https://flymy.ai/llms.txt lists the other pages and the documentation.
