ShaderToy-MCP

Consulte e interaja com shaders do ShaderToy usando modelos de linguagem de grande escala.

Documentação

ShaderToy-MCP

Servidor MCP para ShaderToy, um site para criar, executar e compartilhar shaders GLSL (https://www.shadertoy.com/). Ele conecta LLMs como Claude ao ShaderToy através do Model Context Protocol (MCP), permitindo que o LLM consulte e leia a página web inteira, possibilitando que ele crie shaders cada vez mais complexos que normalmente não seria capaz de fazer.

Exemplo do shader complexo que ele gera:

IMG_9029


Oceano (https://www.shadertoy.com/view/tXs3Wf)

Screenshot 2025-04-02 at 1 58 17 AM

Montanhas (https://www.shadertoy.com/view/W3l3Df)

Screenshot 2025-04-02 at 5 44 12 PM

Chuva Digital Matrix (https://www.shadertoy.com/view/33l3Df)

Recursos

  • Obter informações sobre qualquer shader no ShaderToy
  • Buscar shaders disponíveis no ShaderToy através de um prompt de busca
  • Gerar shaders complexos aprendendo com shaders existentes no ShaderToy

Ferramentas MCP

  • get_shader_info()
  • search_shader()

Instalação

No Mac, instale o uv como

brew install uv

No Windows

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

e depois

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

Caso contrário, as instruções de instalação estão no site deles: Instalar uv

Integração com Claude Desktop

Clone o projeto com git clone https://github.com/wilsonchenghy/ShaderToy-MCP.git

Vá para Claude > Configurações > Desenvolvedor > Editar Configuração > claude_desktop_config.json para incluir o seguinte:

{
    "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"  // Replace with your API key
          }
        }
    }
}

Assim que o arquivo de configuração for definido no Claude, você verá um ícone de martelo para o MCP. Teste com os comandos de exemplo para ver se ele utiliza corretamente as ferramentas do MCP.

Comandos de Exemplo

Generate shader code of a {object}, if it is based on someone's work on ShaderToy, credit it, make the code follow the ShaderToy format: void mainImage( out vec4 fragColor, in vec2 fragCoord ) {}