Shader Compilation Visualization
STDIOMCP server for AI agents to safely code, run, and visualize GPU shaders.
MCP server for AI agents to safely code, run, and visualize GPU shaders.
= shaderc-vkrunner-mcp
:toc:
A toy Model Context Protocol (MCP) server for AI agents to safely code, run, and visualize GPU shaders.
image::shaderc-vkrunner-mcp.jpg[align="center", width="90%"]
== Overview
shaderc-vkrunner-mcp
provides a secure sandbox for AI agents to develop, compile, optimize, and run GPU shaders using Vulkan. It's designed to work entirely locally, making it compatible with self-hosted LLMs and AI tools that support the Model Context Protocol.
Key Features:
== Requirements
The only requirement to use shaderc-vkrunner-mcp
is Docker, besides the MCP-capable AI Agent of your choice. The MCP server application is packaged as a Docker image with all necessary dependencies included.
== Quick Start
=== Installation
Although there are pre-built images in the GitHub Container Registry, it is easy to build the image from source:
=== Connecting to MCP Clients
==== VS Code Copilot
Add this to your VS Code mcp.json
:
Then you can reference it in your Copilot Chat using #compile_run_shaders
tag in Agent mode.
==== Using with MCP Inspector
For debugging and testing, you can use the MCP Inspector:
== Architecture and Design
shaderc-vkrunner-mcp
is built with several key design principles:
== Advanced Features
shaderc-vkrunner-mcp
supports a wide range of Vulkan features that can be explored by AI agents, all running safely on CPU, including:
== Development
=== Development Environment
After cloning, it is also possible to use Devcontainer for a productive development experience. This environment includes everything needed to iterate on codebase with utilities for Vulkan, screenshotting virtual framebuffer, etc. and development of this repo was bascally done there. Even for non-development purposes, it is recommended to try the development environment.
=== Git Dependencies
The project adds VkRunner as a git subtree. This was done using:
This approach ensures that VkRunner is always available with the correct version, without requiring external dependencies.
=== Running Clippy
== Contributing
Contributions are welcome! If you have improvements or bug fixes, please submit a pull request. If you encounter issues or have feature requests, please open an issue.
Some areas that could benefit from contributions:
== License
This project is licensed under the Creative Commons CC0 1.0 Universal license. See the link:LICENSE[LICENSE] file for details.
Note that dependencies may have different licenses. Please check the respective repositories and directories for their licensing information.
== Acknowledgments