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