Penpot MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Penpot MCP or direct API to inspect design files, review comments, manage projects, and summarize prototypes through natural language.

Penpot logoPenpot
Api Key

Penpot is an open-source design and prototyping platform for product teams. It helps teams collaborate on UI design with web-based, developer-friendly workflows.

90 Tools

Try Penpot now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Penpot
Try asking
TOOLS

Supported Tools

Every Penpot action and event your agent gets out of the box.

Create Access Token

Tool to create a personal access token for API authentication in Penpot.

Create Comment Thread

Tool to create a new comment thread on a Penpot file at a specific position.

Create File

Tool to create a new design file in a Penpot project.

Create Project

Tool to create a new project within a team in Penpot.

Create Team

Tool to create a new team in Penpot.

Create Team Access Request

Tool to request an invitation to join a Penpot team.

Create Webhook

Create a webhook for a team to receive event notifications.

Delete Access Token

Tool to delete a personal access token from Penpot.

Delete Comment

Tool to delete a comment from a Penpot design file.

Delete File Snapshot

Tool to delete a file snapshot in Penpot.

Delete Project

Tool to delete a project from Penpot.

Delete Team

Tool to delete a team from Penpot.

Permanently Delete Team Files

Tool to permanently delete specified files from a Penpot team.

Delete Team Invitation

Tool to delete a pending team invitation in Penpot.

Delete Team Member

Tool to remove a member from a team in Penpot.

Delete Webhook

Tool to delete a webhook by its UUID.

Duplicate File

Tool to duplicate a single file within the same team in Penpot.

Duplicate Project

Tool to duplicate an entire Penpot project with all its files.

Get Access Tokens

Tool to list all personal access tokens for the authenticated user.

Get All Projects

Tool to retrieve all projects across all teams in Penpot.

Get Builtin Templates

Tool to get the list of builtin templates available in Penpot.

Get Comments

Tool to retrieve all comments in a comment thread.

Get Comment Thread

Tool to retrieve a specific comment thread from a Penpot file.

Get Comment Threads

Tool to retrieve all comment threads for a Penpot file.

Get File

Tool to retrieve a Penpot file by its ID.

Get File Info

Tool to retrieve basic information about a Penpot file by its ID.

Get File Libraries

Tool to retrieve libraries linked to a Penpot file.

Get File Object Thumbnails

Tool to retrieve thumbnails for objects in a Penpot file.

Get File Snapshots

Retrieves all snapshots for a specific Penpot file.

Get File Summary

Tool to retrieve a summary of file contents and statistics from Penpot.

Get Font Variants

Tool to retrieve font variants for a team, file, project, or share in Penpot.

Get Library File References

Tool to get files that reference a shared library.

Get Library Usage

Tool to get usage statistics for a library.

Get Owned Teams

Tool to list teams owned by the current user.

Get Page

Tool to retrieve page data from a Penpot file.

Get Profiles for File Comments

Tool to retrieve profiles of users who have commented on a Penpot file.

Get Project

Tool to retrieve detailed information about a specific Penpot project by its ID.

Get Project Files

Tool to retrieve all files in a Penpot project.

Get SSO Provider

Tool to retrieve SSO provider information for an email address.

Get Subscription Usage

Tool to get subscription usage information for the current user.

Get Team

Tool to retrieve team details by ID.

Get Team Deleted Files

Tool to retrieve deleted files from a team's trash in Penpot.

Get Team Info

Tool to retrieve detailed information about a specific Penpot team by its ID.

Get Team Invitations

Tool to list pending invitations for a team in Penpot.

Get Team Members

Tool to list all members of a team in Penpot.

Get Teams

Tool to list all teams the authenticated user is a member of.

Get Team Shared Files

Tool to retrieve shared library files for a Penpot team.

Get Team Stats

Tool to retrieve statistics for a specific Penpot team by its ID.

Get Team Users

Tool to retrieve users in a team by team ID or file ID.

Get Unread Comment Threads

Tool to retrieve comment threads with unread comments for a specific team.

Get View Only Bundle

Tool to retrieve data bundle for view-only file access in Penpot.

Get Webhooks

Tool to retrieve all webhooks configured for a team.

Has File Libraries

Tool to check if a Penpot file has linked libraries.

Ignore File Library Sync Status

Tool to ignore library sync status updates for a file.

Link File to Library

Tool to link a file to a library in Penpot.

Lock File Snapshot

Tool to lock a file snapshot in Penpot to prevent deletion.

Logout

Tool to clear the authentication cookie and logout the current session.

Mark All Threads As Read

Tool to mark all comment threads as read in Penpot.

Move Files

Tool to move files from one project to another in Penpot.

Move Project

Tool to move a project to a different team in Penpot.

Prepare Register Profile

Tool to prepare user registration by validating email and sending verification in Penpot.

Push Audit Events

Tool to push audit events to Penpot for tracking system behavior and user actions.

Register Profile

Tool to complete user registration with profile details using a verification token.

Rename File

Tool to rename a design file in Penpot.

Rename Project

Tool to rename an existing project in Penpot.

Request Profile Recovery

Tool to request a password/profile recovery email.

Restore Deleted Team Files

Tool to restore deleted files in a Penpot team.

Restore File Snapshot

Tool to restore a Penpot file to a previous snapshot.

Search Files

Tool to search for files by name or content in a Penpot team.

Send User Feedback

Tool to send user feedback to Penpot.

Set File Shared

Tool to set file sharing status in Penpot (enable/disable shared library).

Unlink File from Library

Tool to unlink a file from a shared library in Penpot.

Unlock File Snapshot

Tool to unlock a locked file snapshot in Penpot.

Update Comment

Tool to update the content of an existing comment in a Penpot design file.

Update Comment Thread

Tool to update the resolution status of a comment thread in Penpot.

Update Comment Thread Frame

Tool to update the frame associated with a comment thread in Penpot.

Update Comment Thread Position

Tool to update the position of a comment thread in Penpot.

Update Comment Thread Status

Tool to update the status of a comment thread in Penpot (e.

Update File

Tool to update a Penpot file with changes.

Update File Library Sync Status

Tool to update the synchronization status of a file->library link.

Update File Snapshot

Tool to update a file snapshot metadata in Penpot.

Update Font

Tool to update a font's metadata in Penpot.

Update Profile

Tool to update the current authenticated user's profile information.

Update Profile Notifications

Tool to update notification settings for the authenticated user's profile.

Update Profile Props

Tool to update custom properties for the authenticated user's profile.

Update Project Pin

Tool to update the pin status of a project in Penpot.

Update Team

Tool to update team settings in Penpot.

Update Team Invitation Role

Tool to update the role of a pending team invitation in Penpot.

Update Webhook

Tool to update an existing webhook configuration.

Verify Token

Tool to verify an authentication or registration token in Penpot.

SETUP GUIDE

Connect Penpot MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["penpot"],
  mcp: true,
});
Create a session scoped to Penpot and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "List my Penpot projects and summarize the latest design files in each project",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a Penpot request
SETUP GUIDE

Connect Penpot API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["penpot"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Penpot
3

Run Penpot tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "List my Penpot projects and summarize the latest design files in each project" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the Penpot tool calls through the session, and print the final answer

Why Use Composio?

AI Native Penpot Integration

  • Supports both Penpot MCP and direct API based integrations
  • Structured, LLM-friendly schemas so agents can work with design projects more reliably
  • Useful coverage for reading, querying, and organizing Penpot design workflow data

Managed Auth

  • Bring your own Penpot API key and let Composio store it securely
  • Central place to manage, scope, and revoke Penpot access for agents
  • Per user and per environment credentials instead of hard-coded keys in your app

Agent Optimized Design

  • Tools are shaped for language models, not just raw API calls
  • Clear execution logs help you see which Penpot action ran, when it ran, and for whom
  • Better tool schemas mean fewer brittle prompts and fewer failed design workflow automations

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Penpot
  • Scoped, least privilege access to Penpot resources
  • Full audit trail of agent actions to support review and compliance
FRAMEWORKS

Use Penpot with any AI Agent Framework

Choose a Framework you want to connect Penpot with

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

Yes, Penpot requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your Penpot connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

Create the key in your Penpot account settings, then paste it once on Composio's connection page. Composio stores it encrypted and uses it only for the Penpot actions your agent runs. Nobody else in your workspace can read it, and you can revoke it inside Penpot at any time.

When you connect a Penpot account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in Penpot as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Whatever the credentials you connect allow inside Penpot. If Penpot lets you scope a key to specific permissions, create a scoped one so the agent can only do what you intend. You can revoke the key inside Penpot at any time.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each Penpot connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

The connection stops working the moment Penpot rejects the old key. Create a new key in Penpot and reconnect the account from the Composio dashboard or by asking your agent to reconnect Penpot. Nothing else changes.

Composio's free plan includes 100,000 tool calls per month with no credit card, which covers most personal Penpot use. Paid plans add higher limits and team features. Your Penpot plan and its API limits still apply as usual.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple Penpot accounts).

With Composio, you connect Penpot once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with Penpot.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Penpot tool your agent needs.Free to start.

Start building