Integrations
Connect LLMs to ShaderToy for GLSL Shader Creation
Connects LLMs to ShaderToy to query shader data and generate complex GLSL shaders, leveraging existing examples for inspiration and analysis.
Without it
Stand up the Shadertoy server yourself — bot tokens or OAuth, a process to host and keep alive, updates to chase.
With it
Install once and it is wired straight into your agent.
What you get
- Retrieve information about any ShaderToy shader.
- Search for shaders on ShaderToy using search queries.
- Generate complex GLSL shaders by analyzing existing ShaderToy examples.
- Integrate LLMs with the ShaderToy website for shader development.
Connect it yourself
Use hosted
Use this with MCP Gate
Connect this and other MCP tools to your agents through one endpoint, with usage billed in one place.
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.