pen-editor

pen-editor

Provides MCP tools to read and edit live Pen Editor documents, including structure, layout, variables, screenshots, and batch design DSL, plus static guidelines and style guides.

Category
Visit Server

README

pen-editor-plugin

CI

Pen Editor packaged as an Agent Plugins 1.0.0 plugin, installable in any client that supports the specification (VS Code, Cursor, and others).

Installing it gives the agent:

  • the pen-editor MCP server — read and edit a live Pen Editor document: structure, computed layout, design variables, screenshots, and the batch_design DSL for creating and modifying designs;
  • three skills the client picks up on its own, no prompt wiring needed: pen-editor-design (build or edit a design), pen-editor-dev-mode (implement an existing design as code), and pen-editor-setup (diagnose a broken connection).

Setup

Local development (zero-config)

  1. Install the plugin.
  2. Run the backend:
    cd pen-editor-backend
    npm run dev
    
    With no MCP_AUTH_TOKEN set, the backend generates one itself, serves MCP loopback-only, and writes it to ~/.pen-editor/mcp.json.
  3. Run the editor:
    cd pen-editor
    npm run dev
    
    It picks up the same token automatically.
  4. Done — the plugin discovers the backend on its own. Most tools need the editor tab open in a browser; get_guidelines, get_style_guide_tags and get_style_guide work without one.

Remote backend

For a backend that isn't running on localhost, or one with an explicit MCP_AUTH_TOKEN, point the plugin at it:

cd pen-editor-backend
MCP_AUTH_TOKEN=<secret-at-least-16-chars> npm run dev
cd pen-editor
VITE_MCP_WS_TOKEN=<same-secret> npm run dev

Note: VITE_MCP_WS_TOKEN is inlined into the public JS bundle at build time. Use it only in a local/dev build — never on a publicly deployed frontend, or any visitor gets the secret.

Then tell the plugin the URL and token, either by asking the agent to run its configure_pen_editor_connection tool (paste the URL and token into chat), or by writing config.json into the plugin's data directory (the client decides the exact path):

{
  "url": "https://my-backend.example.com/api/mcp",
  "token": "<secret-at-least-16-chars>"
}

Environment variables PEN_EDITOR_MCP_URL / PEN_EDITOR_MCP_TOKEN are also supported as a power-user channel — but it's non-portable (not every client preserves ambient env vars) and lower precedence than <PLUGIN_DATA>/config.json, so once configure_pen_editor_connection has written that file, these env vars no longer have any effect.

License

MIT — see LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured