Claude Shader MCP 服务器
使用说明(Markdown 格式)
- 项目简介
- 该仓库实现了一个完整的 MCP 服务器端,用于 Unity 的 Shader MCP 场景。它暴露了多种工具、资源和与 AI 相关的查询能力,能够与 Unity Editor 端的 ShaderMCP Server 进行通信,并通过 Claude CLI 等 AI 服务进行文本分析和代码建议。
- 主要功能点
- MCP 服务器核心:使用 MCP 标准的 JSON-RPC 风格请求/响应,提供稳定的通信通道和会话管理。
- 工具集成(Tools):包括 Shader 编译、变体分析、属性读取、代码获取、材质信息、材质日志、LSP 基于的着色器代码智能等工具。
- 资源定义(Resources):提供管线信息、着色器 Includes、着色器关键字、编辑器平台等资源的读取和渲染。
- AI 集成(AI / Claude CLI):通过 Claude CLI(Claude Agent/Claude Code 相关接口)实现对着色器的自动分析、解释与优化建议,支持流式输出。
- Unity 端桥接(UnityBridge):通过 WebSocket 连接 Unity Editor 的 ShaderMCP 服务器,支持自动重连、UUID 匹配和请求/响应关联。
- LSP 封装(Shader LSP client):将 shader-ls 作为外部进程运行,提供 hover、完成、签名帮助和诊断等功能(按需 lazy 启动)。
- 安全与稳定性:对并发连接、请求超时、错误处理等做了健壮处理,具备断线重连与自检能力。
- 安装步骤
- 准备环境
- Node.js 18+(用于 MCP 服务端及 shader-mcp-server 依赖)
- Unity Editor 2021.3 LTS 及以上(用于 Shader Inspector/Editor 端功能)
- .NET 7.0+(用于 LSP/着色语言工具,非强制,LSP 功能可选)
- 获取 MCP 服务器
- 通过仓库提供的源码构建,或直接使用 npm 包 unity-shader-mcp 在本地环境中运行(具体请参照 README 中的 npm 包配置信息)。
- 启动 MCP 服务器(以 stdio 传输为例)
- MCP 服务器将通过标准输入输出(stdio)与 MCP 客户端通信。请确保客户端按文档提供的启动命令对接该服务器。
- 启动 Unity Editor 端 ShaderMCP 服务
- 在 Unity 编辑器中打开 Shader MCP 的 Server Window,启动 WebSocket 连接以连接到本服务器。
- 使用 AI 与工具
- 通过 MCP 客户端发起“ai/query”等方法调用,服务器会与 Claude CLI 进行对接并将结果返回 Unity。
- 准备环境
- 服务器配置(MCP 客户端需要的最少字段)
备注:MCP 客户端需要一个 JSON 配置来指向该 MCP 服务器。下面给出一个示例配置的字段含义说明,实际使用时请依据所属工具的具体配置格式进行应用。
- server: unity-shader
- command: npx
- args: ["-y", "unity-shader-mcp"] 说明:
- 该配置表示本地启动一个 MCP 客户端服务器,名称为 unity-shader,执行命令为 npx,参数为 -y unity-shader-mcp,用以启动 npm 包 unity-shader-mcp 并保持最新版本。 备选(Windows 环境)如需区分,请将 command 替换为 cmd,args 为 ["/c", "npx", "-y", "unity-shader-mcp"],以兼容 Windows 的执行方式。
- 基本使用方法
- 启动 Unity 端服务:在 Unity Editor 的 Shader MCP 面板中打开 Server Window,点击“Start Server”。
- 连接 MCP 客户端:确保 MCP 客户端按上述配置指向本 MCP 服务器(unity-shader),并启动后建立连接。
- 使用工具/资源:在 Shader Inspector 的 Shader、Materials、Logs、AI Chat 等标签中使用工具进行分析、读取资源和与 AI 互动。
- AI 使用:在 AI Chat 面板中发起问题,服务器会通过 Claude CLI 进行处理并将结果流式返回至 Unity。
- 出现连接/执行问题时,查看 Server 窗口日志以获取调试信息,必要时重启服务。