This MCP server lets LLMs to interact with the ShaderToy API, allowing LLMs to learn from compute shaders examples and enabling them to create complex GLSL shaders that they are previously not capable of.
Documentation
ShaderToy-MCP MCP Server for ShaderToy
Features
Retrieving 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
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", "/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 utilizes 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 ) {}