ShaderToy

Connects ShaderToy shaders with a Claude-style LLM via MCP to read shaders and generate complex GLSL code.
  • python

38

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "wilsonchenghy-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_API_KEY"
      }
    }
  }
}

ShaderToy MCP enables you to connect ShaderToy shaders with a Claude-style LLM through the Model Context Protocol. This lets the LLM read shader pages and synthesize increasingly complex GLSL shaders by learning from existing ShaderToy content, while crediting original works as needed and running through MCP tooling.

How to use

You use ShaderToy MCP by configuring an MCP client (such as Claude Desktop) to run the ShaderToy MCP server locally. Once set up, the MCP client can query ShaderToy shaders, search for shaders, and generate complex shader code by leveraging the model’s context about ShaderToy pages.

To start using it, you enable the ShaderToy MCP in your MCP client settings (look for an MCP integration or server configuration area). When the MCP is active, you will see a hammer icon or equivalent indicator that signals the MCP is ready to handle ShaderToy prompts. From there you can issue prompts like asking for shader ideas or code patterns, and the MCP will provide shader code consistent with ShaderToy’s format.

How to install

Prerequisites you need before installing:\n- A command-line runtime capable of running MCP servers (UVX is used in this setup).\n- A code editor and a terminal.\n- Node.js and Python are not strictly required for the MCP server itself in this configuration, but you need a runner capable of executing the server command as shown.

Install the UV runtime on your platform to run the MCP server. On macOS you can install UV with Homebrew:\nbash\nbrew install uv\n

On Windows, install UV using the provided PowerShell script and adjust your PATH afterward:\npowershell\npowershell -c "irm https://astral.sh/uv/install.ps1 | iex" \n `and then ensure the path includes your local bin directory, for example:\ntext\nset Path=C:\Users\<YourUsername>\.local\bin;%Path%\n

Set up the MCP client integration by configuring the ShaderToy MCP server within your Claude Desktop environment. Create or edit the configuration to include the following MCP server entry (replace <path_to_project> with your actual project path):

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

Notes on usage and testing

After you configure the MCP, test basic commands to ensure the integration works. Use the MCP client to request shader information, search for shaders, or generate shader code. If the server runs correctly, the client should be able to query ShaderToy pages and return shader code formatted for ShaderToy's GLSL entry point, such as the standard function signature used in ShaderToy: void mainImage( out vec4 fragColor, in vec2 fragCoord ) {}.

Available tools

get_shader_info

Retrieve detailed information about a specific shader on ShaderToy, including author, tags, and metadata.

search_shader

Search ShaderToy shaders using prompts or keywords and return matching shader results.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational