← Back to directory
O

OpenPencil MCP Server

Community
MCP server bundled with the open-source AI-native design editor OpenPencil
Category
Other #83 of 230
Stars
★ 9.6k Very popular
Transport
stdio (local process) · Streamable HTTP
Runtime
Node.js
Credentials
No credential needed
License
MIT
Last commit
59FMRS · C

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.

Strongest · Documentation 15/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
12/20
Maintenance
11/20
Documentation
15/20
Setup experience
13/20
Why each score
Reliability 8/20
No server manifest was available ([not cached]), so the MCP init/tool-list handshake and the claimed "100+ tools" cannot be verified against real behavior. The README references quality-gate commands (bun run test, test:unit) but no CI workflow files or committed tests covering the MCP server's key paths are shown as evidence, which is the 'unverified' condition under the static calibration. Per the rule, reliability cannot exceed 12 without such execution evidence; the missing manifest pushes this further down to 8.
Security and permissions 12/20
The MCP server scopes file operations via OPENPENCIL_MCP_ROOT, showing some least-privilege intent, and the AI features are BYOK (user-supplied API keys), reducing credential-exfiltration risk since keys are not server-hosted. However, the CLI/eval feature exposes the full Figma Plugin API and can write files back with the -w flag — a high-impact surface — and neither the README nor the MCP section describes any confirmation step for destructive writes performed through the MCP tool layer. No red-line issues were found (no malware, no credential theft, no irreversible default actions, no real secrets in examples), but permission boundaries and confirmation flows for the MCP layer are incompletely disclosed, warranting a mid-range score.
Maintenance 11/20
The project is MIT-licensed, not archived, and the README states 'Active development' with a roadmap link, suggesting ongoing investment. However, the README provides no direct evidence of release cadence, versioning policy, or a security-response channel (e.g., SECURITY.md), and only a single contributor is credited for documentation maintenance, hinting at a small core team. Star count and open-issue count are discovery signals only per the rules and do not add points, so overall maintenance evidence is thin.
Documentation 15/20
The README is thorough, covering installation (Homebrew/download/web app), CLI usage examples, both stdio and HTTP MCP connection modes with real JSON config snippets, the OPENPENCIL_MCP_ROOT environment variable, and links to an external docs site, llms.txt/llms-full.txt, and a BYOK provider-compatibility page — showing layered documentation. Gaps include the lack of an inline full parameter listing for the 100+ MCP tools (only linked externally, unverifiable in this review) and no dedicated troubleshooting section.
Setup experience 13/20
MCP setup steps are clearly laid out: global npm install, a claude mcp add command, a JSON config example for other clients, and an HTTP mode for scripts/CI, all with concrete commands. Per the static calibration, setup cannot exceed 15 without CI or committed tests verifying these install steps actually work, and no such evidence is present in the reviewed material; cross-platform binary/build details also remain unverified at the source level, so the score is capped at 13.

Static review · not runListed 2026-08-06

Read the FMRS scoring method →

Fit and risk

What it can accessReads local filesWrites / deletes local filesRuns commands or code

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

Setup

Before you start

Runtime:Node.js

Other optional settings (1)
OPENPENCIL_MCP_ROOT optional Scopes file operations (open_file, new_document, export path) to a directory; defaults to the current working directory. Optional.
  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.
.mcp.json
{
  "mcpServers": {
    "open-pencil": {
      "command": "openpencil-mcp"
    }
  }
}

Shown for Claude Code. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "open-pencil": {
      "command": "openpencil-mcp"
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add open-pencil -- openpencil-mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After `npm install -g @open-pencil/mcp` and `claude mcp add --scope user open-pencil -- openpencil-mcp`, the open-pencil MCP tools should appear in your client's tool list; ask the agent to run a tree/inspect query on a .fig file to confirm the connection works.

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

Things to try

Once connected, you can ask your AI assistant things like:

  • Open design.fig and list all frames narrower than 300px
  • Lint this design file for naming and accessibility issues
  • Export the current canvas as a PNG
  • Extract the color palette used in this design file

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 Code
Cursor
Windsurf

Listed from the project's documentation, not tested by this site.

Overview

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.

Similar servers

BioMCP 75 · B

One binary. One grammar. Evidence from the biomedical sources you already trust.

★ 672 · Tools 11 Compare with this →

Source revision 4716fcdd93cd Data synced 2026-11-04 Read the FMRS scoring method