Skip to main content

ShaderToy-MCP

MCP Server for ShaderToy, a website for creating, running and sharing GLSL shader (https://www.shadertoy.com/). It connects LLM like Claude with ShaderToy through Model Context Protocol (MCP), allowing the LLM to query and read the entire web page, allowing it to make increasingly complex shader it normally isn't capable of.

Example of the complex shader it generates:

IMG_9029


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

Screenshot 2025-04-02 at 1 58 17 AM

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

Screenshot 2025-04-02 at 5 44 12 PM

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

Features

  • Retriving info on any shader on ShaderToy
  • Search for shader available on ShaderToy through a search prompt
  • Generate complex shaders by learning from existing shaders on ShaderToy

MCP Tools

  • get_shader_info()
  • search_shader()

Installation

On Mac, please install uv as

brew install uv

On Windows

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

and then

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

Otherwise installation instructions are on their website: Install uv

Claude Desktop Integration

Git clone the project with git clone https://github.com/wilsonchenghy/ShaderToy-MCP.git

Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following:

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

Once the config file has been set on Claude, you will see a hammer icon for the MCP. Test with the example commands to see if it correctly utilize the MCP tools.

Example Commands

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

Metadata

Release files for iflow-mcp_wilsonchenghy-shadertoy-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_wilsonchenghy-shadertoy-mcp 0.1.0
File Size Uploaded
iflow_mcp_wilsonchenghy_shadertoy_mcp-0.1.0.tar.gz 4.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_wilsonchenghy-shadertoy-mcp 0.1.0
File Interpreter ABI Platform
iflow_mcp_wilsonchenghy_shadertoy_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.2 kB

Release files / iflow_mcp_wilsonchenghy_shadertoy_mcp-0.1.0.tar.gz

Download URL iflow_mcp_wilsonchenghy_shadertoy_mcp-0.1.0.tar.gz
Size 4.3 kB
Tags Source
SHA-256 checksum
How to use checksums
64e3dcc6a2e386f74968c4a0e30e0bd5bb5e76f453f85b73c74ddbb16a89684e
BLAKE2b-256 checksum
How to use checksums
0317d74111a8f35fcdf8f0c32b3aa1674924dc96fd333ba54ad6e72a27e97cc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_wilsonchenghy_shadertoy_mcp-0.1.0-py3-none-any.whl

Download URL iflow_mcp_wilsonchenghy_shadertoy_mcp-0.1.0-py3-none-any.whl
Size 4.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2ff7ef6b9ad0f17c07064350bc36a3216a266e1684e05d523bc4f2bc838e2942
BLAKE2b-256 checksum
How to use checksums
76dc9689be65b93d60aa8b7c6278bd2efab953eb8816035f9f217c4377c8266a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page