Back to catalog
ShaderToy MCP Server
An MCP server for ShaderToy that connects LLMs with the ShaderToy website, enabling them to query and read shader information to create complex GLSL shaders that they typically cannot generate independently.
Get this MCP server
An MCP server for ShaderToy that connects LLMs with the ShaderToy website, enabling them to query and read shader information to create complex GLSL shaders that they typically cannot generate independently.
Installation
UV (Mac)
brew install uv
UV (Windows)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
set Path=C:\Users\nntra\.local\bin;%Path%
From Source
git clone https://github.com/wilsonchenghy/ShaderToy-MCP.git
Configuration
Claude Desktop
{
"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
}
}
}
}
Available Tools
| Tool | Description |
|---|---|
get_shader_info |
Retrieves information about any shader on ShaderToy |
search_shader |
Searches for shaders available on ShaderToy by search query |
Features
- Retrieve information about any shader on ShaderToy
- Search for shaders available on ShaderToy by search query
- Generate complex shaders by studying existing shaders on ShaderToy
Environment Variables
Required
SHADERTOY_APP_KEY- API key for accessing ShaderToy
Usage Examples
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 ) {}
Notes
The server enables LLMs to create complex shaders, such as oceans, mountains, and Matrix-style digital rain effects, by studying existing examples on ShaderToy.
