Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Genart

БесплатноНе проверен

MCP server for creating and manipulating generative art with p5.js, Three.js, GLSL, Canvas2D, and SVG, featuring workspace management, parameter control, and sc

GitHubEmbed

Описание

MCP server for creating and manipulating generative art with p5.js, Three.js, GLSL, Canvas2D, and SVG, featuring workspace management, parameter control, and screenshot capture.

README

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

from github.com/genart-dev/mcp-server

Установка Genart

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/genart-dev/mcp-server

FAQ

Genart MCP бесплатный?

Да, Genart MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Genart?

Нет, Genart работает без API-ключей и переменных окружения.

Genart — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Genart в Claude Desktop, Claude Code или Cursor?

Открой Genart на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Genart with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development