genart-dev

@genart-dev/mcp-server

Community genart-dev
Updated

MCP server for genart.dev — 281 tools for creating and manipulating generative art across 26 design layer plugins

@genart-dev/mcp-server

Model Context Protocol server for genart.dev — 33 tools, 4 resources, and 3 prompts for creating and manipulating generative art with AI agents.

Works with any MCP client: Claude Code, Claude Desktop, Codex CLI, Cursor, and more.

Install

npm install -g @genart-dev/mcp-server

For screenshot/export capture, also install Puppeteer:

npm install -g puppeteer

Quick Start

Claude Code

claude mcp add genart-mcp -- genart-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "genart": {
      "command": "genart-mcp"
    }
  }
}

Codex CLI

Add to .codex/config.toml:

[mcp_servers.genart]
command = "genart-mcp"

Then ask your AI agent to create generative art:

"Create a workspace with a p5.js sketch that draws a grid of rotating squares using the golden ratio"

Tools (33)

Workspace (5)

Tool Description
create_workspace Create a new .genart-workspace with optional initial sketches
open_workspace Open an existing .genart-workspace and load all sketches
add_sketch_to_workspace Add an existing .genart file to the active workspace
remove_sketch_from_workspace Remove a sketch from workspace (optionally delete file)
list_workspace_sketches List all sketches with metadata summaries

Sketch Lifecycle (7)

Tool Description
create_sketch Create a new .genart sketch — supports all 5 renderers
open_sketch Open a sketch by ID and set selection
update_sketch Update metadata, parameters, colors, canvas
update_algorithm Replace algorithm source code with optional validation
save_sketch Persist in-memory state to disk
fork_sketch Create a variant with new ID and optional modifications
delete_sketch Delete sketch file and remove from workspace

Selection & Context (4)

Tool Description
get_selection Full context for selected sketch(es) — algorithm, params, colors, philosophy
select_sketch Set canvas selection to one or more sketches
get_editor_state Full snapshot of workspace, sketches, and selection
set_working_directory Set base directory for sandboxed file operations

Parameters (5)

Tool Description
set_parameters Update runtime parameter values
set_colors Update runtime color palette values
set_seed Set random seed (or generate random)
set_canvas_size Change dimensions via preset or explicit W/H
randomize_parameters Generate random values for all/specific parameters

Arrangement (3)

Tool Description
arrange_sketches Move sketches to explicit canvas positions
auto_arrange Auto-layout with grid, row, column, or masonry
group_sketches Create/update named groups of sketches

Gallery (2)

Tool Description
list_sketches Scan a directory for .genart files with metadata
search_sketches Search loaded sketches by title, renderer, params, skills

Merge (1)

Tool Description
merge_sketches Combine parameters, colors, and philosophies from 2+ sketches

Capture (3)

Tool Description
capture_screenshot Headless capture of a sketch — returns metadata + inline JPEG for AI viewing
capture_batch Capture multiple sketches in parallel
snapshot_layout Structural summary of workspace layout for spatial reasoning

Export (1)

Tool Description
export_sketch Export as standalone HTML, PNG, SVG, raw algorithm, or ZIP bundle

Knowledge (3)

Tool Description
list_skills List available design knowledge skills by category
load_skill Load a skill with full theory, principles, and examples
get_guidelines Design guidelines for composition, color, parameters, animation, performance

Resources (4)

URI Description
genart://skills Available design knowledge skills
genart://presets/canvas Canvas dimension presets (18 built-in)
genart://gallery Loaded sketches with metadata summaries
genart://renderers Available renderer types and metadata

Prompts (3)

Prompt Description
create-generative-art Guided workflow: concept → sketch → algorithm → capture → iterate
explore-variations Fork and explore parameter/seed space across multiple variants
apply-design-theory Apply Gestalt, color theory, composition, rhythm, or contrast principles

Supported Renderers

Type Runtime Algorithm
p5 p5.js function sketch(p, state) { ... }
three Three.js function sketch(THREE, state, container) { ... }
glsl WebGL2 Fragment shader source
canvas2d Native function sketch(ctx, state) { ... }
svg Native function sketch(state) { ... }

Library API

For programmatic use (e.g., building a custom MCP host):

import { createServer, EditorState } from "@genart-dev/mcp-server/lib";

const state = new EditorState();
const server = createServer(state);

// Connect to any MCP transport
// ...

Exports from @genart-dev/mcp-server/lib

Export Description
createServer(state) Create a configured McpServer instance
EditorState Server-scoped mutable state (workspace, sketches, selection)
LoadedSketch Type — sketch definition + file path + dirty flag
EditorMutationType Type — mutation event names (sketch:created, workspace:loaded, etc.)
EditorMutationEvent Type — mutation event payload
EditorStateSnapshot Type — serializable snapshot of all state

EditorState

const state = new EditorState();

// Load from disk
await state.loadWorkspace("/path/to/project.genart-workspace");

// Access loaded sketches
state.sketches;               // Map<string, LoadedSketch>
state.selection;              // Set<string>
state.workspace;              // WorkspaceDefinition | null

// Sandbox file operations (for hosted environments)
state.basePath = "/safe/dir";
state.remoteMode = true;      // Return file content instead of writing to disk

// Listen for mutations
state.on("mutation", (event) => {
  console.log(event.type);    // "sketch:created", "workspace:loaded", etc.
});

// Serializable snapshot
const snapshot = state.getSnapshot();

Modes

stdio (default)

Standard MCP transport for CLI agents:

genart-mcp

Sidecar

Stdio transport + IPC mutation bridge for Electron app integration:

genart-mcp --mode sidecar

Mutations are forwarded to the parent process via Node IPC, enabling real-time UI updates when AI agents modify sketches.

Agent Attribution

Most mutation tools accept optional agent and model parameters for provenance tracking:

{
  "agent": "claude-code",
  "model": "claude-opus-4-6"
}

Stored in sketch metadata to track which AI agent created or modified each sketch.

Related Packages

Package Purpose
@genart-dev/format File format types, parsers, presets
@genart-dev/core Renderer adapters, skill registry (dependency)

Support

Questions, bugs, or feedback — [email protected] or open an issue.

License

MIT

MCP Server · Populars

MCP Server · New

    Ayushmaniar

    PowerPoint MCP Server

    Open Source Model Context Protocol server for PowerPoint automation on Windows via pywin32

    Community Ayushmaniar
    kdpa-llc

    🎯 Local Skills MCP

    Universal MCP server enabling any LLM or AI agent to utilize expert skills from your local filesystem. Reduces context consumption through lazy loading. Works with Claude, Cline, and any MCP-compatible client.

    Community kdpa-llc
    prime-radiant-inc

    streamlinear

    Streamlined Linear integration for Claude Code - one tool, six actions, zero bloat

    Community prime-radiant-inc
    martin-papy

    QDrant Loader

    Enterprise-ready vector database toolkit for building searchable knowledge bases from multiple data sources. Supports multi-project management, automatic ingestion from Confluence/JIRA/Git, intelligent file conversion (PDF/Office/images), and semantic search. Includes MCP server for seamless AI assistant integration.

    Community martin-papy
    Beever-AI

    Beever Atlas

    Your First LLM-Wiki Conversation Knowledge Base

    Community Beever-AI