# Penpot MCP Server: an MCP server we run in production

Canonical: https://scalably.io/mcp/penpot-mcp-server
Source: https://github.com/zcubekr/penpot-mcp-server
Registry: not published to the MCP registry
Provenance: third-party server, pinned at 1.0.0, verified 2026-09-09.
Integrity: no independent hash is published for this third-party listing; the raw endpoint at https://scalably.io/mcp/penpot-mcp-server.md mirrors this representation byte for byte
This is the machine-readable representation of the page at the canonical URL. Same facts, denser format.

## Direct answer
Self-hosted Penpot design files for agents that produce layouts.

## Install
- Claude Code: `claude mcp add penpot -e PENPOT_API_URL=your-value -e PENPOT_ACCESS_TOKEN=your-value -- npx -y @zcubekr/penpot-mcp-server@1.0.0`
- Codex: `codex mcp add penpot --env PENPOT_API_URL=your-value --env PENPOT_ACCESS_TOKEN=your-value -- npx -y @zcubekr/penpot-mcp-server@1.0.0`
- Claude Desktop: not available for this server.

## Environment
| Variable | Required | Secret | Purpose |
|---|---|---|---|
| `PENPOT_API_URL` | yes | no | Penpot instance URL |
| `PENPOT_ACCESS_TOKEN` | yes | yes | Penpot access token |

## Tools
No tools listed for this server.

## Setup
Set the following before first use:
- `PENPOT_API_URL`: Penpot instance URL
- `PENPOT_ACCESS_TOKEN` (secret): Penpot access token

## Limits
Not documented by zcubekr. See the vendor's own documentation: https://github.com/zcubekr/penpot-mcp-server

## Reliability
- CI: not applicable, this is a third-party project we do not control.
- Pinned at 1.0.0
- Verified 2026-09-09
- We run this server in production, pinned at the exact version, with the install command derived mechanically from that pin so it can be re-verified against the published package.

## Related
- Also in design: [Figma MCP](https://scalably.io/mcp/figma-mcp)
- Read more: [Claude Code MCP: how to add an MCP server](https://scalably.io/blog/claude-code-mcp)
