生成艺术服务器

一个用于创建和操作生成艺术的服务器,支持多种AI代理客户端,提供33种工具、4种资源和3种提示。

  • by genart-dev
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 genart-dev/mcp-server

使用说明

@genart dev/mcp服务器

模型上下文协议 服务器 genart.dev --33个工具、4个资源和3个提示,用于使用AI代理创建和操纵生成艺术。

适用于任何MCP客户端: 克劳德代码, 克劳德桌面版, Codex CLI, 光标以及更多。

安装

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

对于截图/导出捕获,还可以安装Puppeteer:

npm install -g puppeteer

快速开始

克劳德代码

claude mcp add genart-mcp -- genart-mcp

克劳德桌面版

增添 claude_desktop_config.json:

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

Codex CLI

增添 .codex/config.toml:

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

然后让你的AI代理创建生成艺术:

“使用p5.js草图创建一个工作区,使用黄金比例绘制旋转方块网格”

工具(33)

工作区(5)

工具 说明
create_workspace 创建新 .genart-workspace 带有可选的初始草图
open_workspace 打开现有 .genart-workspace 并加载所有草图
add_sketch_to_workspace 添加现有 .genart 文件到活动工作区
remove_sketch_from_workspace 从工作空间中删除草图(可以选择删除文件)
list_workspace_sketches 列出所有带有元数据摘要的草图

草图生命周期(7)

工具 说明
create_sketch 创建新 .genart sketch--支持所有5个渲染器
open_sketch 按ID打开草图并设置选择
update_sketch 更新元数据、参数、颜色、画布
update_algorithm 用可选验证替换算法源代码
save_sketch 将内存状态保存到磁盘
fork_sketch 使用新ID和可选修改创建变体
delete_sketch 删除草图文件并从工作空间中删除

选择与背景(4)

工具 说明
get_selection 所选草图的完整上下文——算法、参数、颜色、哲学
select_sketch 将画布选择设置为一个或多个草图
get_editor_state 工作空间、草图和选择的完整快照
set_working_directory 设置沙盒文件操作的基目录

参数(5)

工具 说明
set_parameters 更新运行时参数值
set_colors 更新运行时调色板值
set_seed 设置随机种子(或生成随机种子)
set_canvas_size 通过预设或显式W/H更改尺寸
randomize_parameters 为所有/特定参数生成随机值

布置(3)

工具 说明
arrange_sketches 将草图移动到明确的画布位置
auto_arrange 带网格、行、列或砌体的自动布局
group_sketches 创建/更新命名草图组

画廊(2)

工具 说明
list_sketches 扫描目录 .genart 带有元数据的文件
search_sketches 按标题、渲染器、参数、技能搜索加载的草图

合并(1)

工具 说明
merge_sketches 结合2+草图中的参数、颜色和哲学

捕捉(3)

工具 说明
capture_screenshot 无头捕捉草图——返回元数据+内联JPEG供人工智能查看
capture_batch 并行捕获多个草图
snapshot_layout 空间推理工作空间布局的结构总结

出口(1)

工具 说明
export_sketch 导出为独立的HTML、PNG、SVG、原始算法或ZIP包

知识(3)

工具 说明
list_skills 按类别列出可用的设计知识技能
load_skill 用完整的理论、原则和例子来加载技能
get_guidelines 构图、颜色、参数、动画、表演的设计指南

资源(4)

URI 描述
genart://skills 可用的设计知识技能
genart://presets/canvas 画布尺寸预设(内置18个)
genart://gallery 加载带有元数据摘要的草图
genart://renderers 可用的渲染器类型和元数据

提示(3)

提示 描述
create-generative-art 引导式工作流程:概念→ 草图→ 算法→ 捕捉→ 迭代
explore-variations 跨多个变量分叉并探索参数/种子空间
apply-design-theory 应用格式塔、色彩理论、构图、节奏或对比原则

支持的渲染器

类型 运行时 算法
p5 p5.js function sketch(p, state) { ... }
three Three.js function sketch(THREE, state, container) { ... }
glsl WebGL2 片段着色器源
canvas2d 原住民 function sketch(ctx, state) { ... }
svg 原住民 function sketch(state) { ... }

库API

对于程序化使用(例如,构建自定义MCP主机):

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

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

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

出口来自 @genart-dev/mcp-server/lib

导出 描述
createServer(state) 创建已配置的 McpServer 例子
EditorState 服务器范围的可变状态(工作区、草图、选择)
LoadedSketch 类型——草图定义+文件路径+脏标志
EditorMutationType 类型--突变事件名称(sketch:created, workspace:loaded等等)
EditorMutationEvent 类型——突变事件有效载荷
EditorStateSnapshot 类型——所有状态的可序列化快照

编辑状态

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();

模式

stdio(默认)

CLI代理的标准MCP传输:

genart-mcp

边车

用于电子应用集成的Stdio传输+IPC突变桥:

genart-mcp --mode sidecar

突变通过节点IPC转发到父进程,从而在AI代理修改草图时实现实时UI更新。

代理人归因

大多数突变工具接受可选 agent 和 model 来源跟踪参数:

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

存储在草图元数据中,以跟踪哪个AI代理创建或修改了每个草图。

相关套餐

包装 用途
@genart-dev/format 文件格式类型、解析器、预设
@genart-dev/core 渲染器适配器、技能注册表(依赖关系)

支持

问题、错误或反馈-- support@genart.dev 或 打开一个问题.

许可证

麻省理工学院