← Back to directory
O

OpenPencil MCP Server

Community
MCP server bundled with the open-source AI-native design editor OpenPencil
GitHub source repository ↗
★ 7.6k Stars Category · Other Very popular
59FMRS · C
Reliability
8/20
Security and permissions
12/20
Maintenance
11/20
Documentation
15/20
Setup experience
13/20

The OpenPencil MCP server is the official companion component of the open-source (MIT) OpenPencil design editor, exposing 100+ design tools over stdio or a local HTTP endpoint to clients like Claude Code, Cursor, and Windsurf for headless inspection, editing, and export of .fig/.pen files. The README does not list canonical tool identifiers, so the tool list here is empty. Its eval capability runs the full Figma Plugin API, which grants significant file-modification power and carries scripting risk; the project is an unofficial Figma alternative still under active development.

Read the FMRS scoring method →

OpenPencil is an open-source (MIT) design editor that reads and writes .fig and .pen files, ships built-in AI chat, and exposes a headless Vue SDK. Its @open-pencil/mcp package provides an MCP server reachable over stdio (for Claude Code, Cursor, Windsurf) or over a local Unix socket/HTTP endpoint (for scripts and CI). The README states the server exposes 100+ design tools covering node creation/editing, auto-layout, components and variables, boolean operations, design-token analysis, and asset export, but does not enumerate individual tool identifiers, so the tool list is left empty here. File access can be scoped to a directory via the OPENPENCIL_MCP_ROOT environment variable.

Tools

The tool list has not been reviewed yet.

Setup

  1. Install the CLI package globally: npm install -g @open-pencil/mcp.
  2. Register it with Claude Code: claude mcp add --scope user open-pencil -- openpencil-mcp, or for other MCP clients add {"mcpServers": {"open-pencil": {"command": "openpencil-mcp"}}} to the client config.
  3. For scripts or CI, run openpencil-mcp-http; local clients auto-discover the private Unix socket and fall back to http://127.0.0.1:7600/mcp (set PORT=0 on macOS/Linux to disable the TCP fallback).
  4. Set OPENPENCIL_MCP_ROOT to scope file operations (open_file, new_document, export path) to a specific directory; it defaults to the current working directory.
  5. If using it via Claude Code's desktop agent panel, add mcp__open-pencil__* to permissions.allow in ~/.claude/settings.json.
claude_desktop_config.json
{
  "mcpServers": {
    "open-pencil": {
      "command": "openpencil-mcp"
    }
  }
}

Fit and risk

Best for

  • Teams already using the OpenPencil desktop app or CLI who want AI agents to automate design workflows
  • Developers who need local, offline, account-free read/write access to Figma-compatible files
  • Engineering teams wanting to integrate design-file inspection or export into CI pipelines

Not for

  • Users who require official Figma support or an officially hosted service (OpenPencil is an unofficial third-party alternative, not affiliated with Figma)
  • Scenarios needing strictly read-only, minimal-privilege access (the eval capability runs the full Figma Plugin API, i.e. arbitrary scripts)
  • Non-technical users who are not comfortable with command-line tools or MCP client configuration

Required permissions

  • Local filesystem read/write, scoped by OPENPENCIL_MCP_ROOT (defaults to the current working directory)
  • RPC access to the live document/canvas when the desktop app is running
  • Local network listening on a Unix socket and 127.0.0.1:7600 when using the HTTP transport

Risks and side effects

  • The eval-related capability exposes the full Figma Plugin API, allowing arbitrary scripts to run against a design file — risk of accidental or malicious data modification/deletion
  • The project is explicitly under active development with acknowledged rough edges, so behavior can change between releases
  • It is an unofficial, community-built Figma alternative, not endorsed by or affiliated with Figma or an MCP protocol owner

Troubleshooting

  1. If live-canvas commands fail, confirm the OpenPencil desktop app is running, since RPC control depends on it
  2. If file operations are denied, check that OPENPENCIL_MCP_ROOT correctly points at the intended directory
  3. If Claude Code blocks tool calls, verify mcp__open-pencil__* has been added to permissions.allow in ~/.claude/settings.json
  4. For the HTTP transport, if the local Unix socket is unavailable, confirm the 127.0.0.1:7600 fallback port is free, or set PORT=0 to disable it as needed

Use cases

Let an AI coding agent (e.g. Claude Code) headlessly inspect, modify, and export .fig / .pen design files
Automate design-file linting, format conversion, and asset export from CI or scripts over the HTTP transport
Drive design-system audits such as extracting color, typography, and spacing tokens programmatically

Supported clients

Claude CodeFull support
CursorFull support
WindsurfFull support