ShaderToy-MCP

Consulta e interactúa con shaders de ShaderToy usando modelos de lenguaje grandes.

Documentación

ShaderToy-MCP

Servidor MCP para ShaderToy, un sitio web para crear, ejecutar y compartir shaders GLSL (https://www.shadertoy.com/). Conecta LLMs como Claude con ShaderToy a través del Protocolo de Contexto de Modelo (MCP), permitiendo que el LLM consulte y lea la página web completa, lo que le permite crear shaders cada vez más complejos que normalmente no sería capaz de hacer.

Ejemplo del shader complejo que genera:

IMG_9029


Océano (https://www.shadertoy.com/view/tXs3Wf)

Screenshot 2025-04-02 at 1 58 17 AM

Montañas (https://www.shadertoy.com/view/W3l3Df)

Screenshot 2025-04-02 at 5 44 12 PM

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

Características

  • Obtener información sobre cualquier shader en ShaderToy
  • Buscar shaders disponibles en ShaderToy mediante un prompt de búsqueda
  • Generar shaders complejos aprendiendo de shaders existentes en ShaderToy

Herramientas MCP

  • get_shader_info()
  • search_shader()

Instalación

En Mac, instale uv como

brew install uv

En Windows

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

y luego

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

De lo contrario, las instrucciones de instalación están en su sitio web: Instalar uv

Integración con Claude Desktop

Clone el proyecto con git clone https://github.com/wilsonchenghy/ShaderToy-MCP.git

Vaya a Claude > Configuración > Desarrollador > Editar Configuración > claude_desktop_config.json para incluir lo siguiente:

{
    "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
          }
        }
    }
}

Una vez que el archivo de configuración se haya establecido en Claude, verá un ícono de martillo para el MCP. Pruebe con los comandos de ejemplo para ver si utiliza correctamente las herramientas MCP.

Comandos de Ejemplo

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 ) {}