小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
11
最近更新:12天前

ShaderToy 的 MCP 服务器,这是一个供人们分享 GLSL 着色器的网站。该 MCP 服务器使得 LLMs 能够制作通常无法实现的复杂着色器。

ShaderToy-MCP

ShaderToy的MCP服务器,这是一个用于创建、运行和分享GLSL着色器的网站(https://www.shadertoy.com/)。它通过模型上下文协议(MCP)将Claude等LLM与ShaderToy连接起来,使LLM能够查询和读取整个网页内容,从而生成它通常无法实现的复杂着色器。

生成的复杂着色器示例:

IMG_9029

海洋(https://www.shadertoy.com/view/tXs3Wf)

Screenshot 2025-04-02 at 1 58 17 AM

山脉(https://www.shadertoy.com/view/W3l3Df)

Screenshot 2025-04-02 at 5 44 12 PM

矩阵数字雨(https://www.shadertoy.com/view/33l3Df)

功能

  • 获取ShaderToy上任意着色器的信息
  • 通过搜索提示查找ShaderToy上可用的着色器
  • 通过学习ShaderToy上现有着色器生成复杂着色器

MCP工具

  • get_shader_info()
  • search_shader()

安装

在Mac上,请安装uv

bash 复制代码
brew install uv

在Windows上

bash 复制代码
powershell -c "irm https://astral.sh/uv/install.ps1 | iex" 

然后

bash 复制代码
set Path=C:\Users\nntra\.local\bin;%Path%

其他安装说明请见其官网:安装uv

Claude桌面集成

使用git clone https://github.com/wilsonchenghy/ShaderToy-MCP.git克隆项目

进入Claude > 设置 > 开发者 > 编辑配置 > claude_desktop_config.json添加以下内容:

json 复制代码
{
    "mcpServers": {
        "ShaderToy_MCP": {
          "command": "uv",
          "args": [
            "run",
            "--with",
            "mcp[cli]",
            "mcp",
            "run",
            "<path_to_project>/ShaderToy-MCP/src/ShaderToy-MCP/server.py"
          ],
          "env": {
            "SHADERTOY_APP_KEY": "your_actual_api_key"  // 替换为你的API密钥
          }
        }
    }
}

在Claude上设置好配置文件后,你会看到一个MCP的锤子图标。使用示例命令测试是否能正确使用MCP工具。

示例命令

生成一个{对象}的着色器代码,如果基于ShaderToy上某人的作品,请注明出处,代码遵循ShaderToy格式:void mainImage( out vec4 fragColor, in vec2 fragCoord ) {}