返回市场
着色器玩具-MCP

着色器玩具-MCP

作者:wilsonchenghy36 星标更新:2025-05-07

项目介绍

ShaderToy-MCP

用于ShaderToy网站的MCP服务器,该网站用于创建、运行和分享GLSL着色器(https://www.shadertoy.com/)。它通过模型上下文协议(MCP)连接像Claude这样的大型语言模型与ShaderToy,使大型语言模型能够查询并读取整个网页,从而生成其通常无法完成的复杂着色器。

生成的复杂着色器示例:

IMG_9029


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

<img width="1470" alt="2025-04-02 1 58 17 AM的屏幕截图" src="https://gips1.baidu.com/it/u=3047804046,784145574&fm=31&app=31&f=PNG?w=2940&h=1590" />

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

<img width="1470" alt="2025-04-02 5 44 12 PM的屏幕截图" src="https://gips1.baidu.com/it/u=1655003008,2046439461&fm=31&app=31&f=PNG?w=2940&h=1591" />

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

功能

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

MCP工具

  • get_shader_info()
  • search_shader()

安装

在Mac上,请安装uv作为

brew install uv

在Windows上

powershell -c "irm https://astral.sh/uv/install.ps1 | iex" 

然后

set Path=C:\Users\nntra\.local\bin;%Path%

其他安装说明在其官方网站:安装uv

Claude桌面集成

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

前往Claude > 设置 > 开发者 > 编辑配置 > claude_desktop_config.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 ) {}