Nightshade MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- Nightshade 内置了一个 MCP 服务器组件,当在运行时启用 mcp 功能后,会在 http://127.0.0.1:3333/mcp 启动一个 MCP 服务器。客户端(如 Claude Code、Claude Desktop 等)可通过该服务器对引擎的运行场景进行操作,包括读取资源、注册并执行工具、以及获取/渲染提示模板等。
- 服务器通过 JSON-RPC/ToolRouter 形式暴露 50+ 级别的工具,允许远程对游戏世界进行实时操控。服务器内部通过一个命令队列与引擎 State 的方法对接,实现命令处理和响应回传。
-
主要功能点(简要、直观的说明)
- 资源与数据访问:通过 MCP 客户端读取、查询并操作引擎中的资源与状态信息。
- 工具注册与执行:提供大量可调用的工具(如修改实体、变换、材质、灯光、物理、文本等),并支持批量操作与简短命令文本(batch / run)。
- Prompt/模板相关:支持 Prompt 与模板相关的交互,用于与 AI 客户端协同构建对话场景。
- 会话和能力声明:服务器端维护会话、能力声明,以及对外暴露的工具集清单。
- 支持多传输/拓展:MCP 服务器作为引擎内建服务,与 Claude 等通过 http 传输进行通信。
- 安全与扩展性:命令通过一个线程安全的命令队列传递给引擎,客户端可自定义工具和脚本,服务器端负责队列与执行。
-
安装与运行步骤
- 先确保在 Nightshade 的原始仓库启用 MCP 功能(在 Cargo.toml 或构建特性中开启 mcp 功能)。
- 直接运行包含 MCP 的 Nightshade 应用程序(嵌入式 MCP 服务器随应用启动而启动),默认地址为 http://127.0.0.1:3333/mcp。
- 注意:这是引擎自带的服务器实现,服务器实例在应用启动阶段自动创建并监听端口,无需手动额外启动命令。
-
服务器配置信息(供 MCP 客户端使用的连接信息,格式为 JSON;用于客户端配置与连接服务器)
- 由于 MCP 服务器是嵌入在 Nightshade 应用中的,服务器端无需独立启动命令行参数;MCP 客户端需要知道服务器地址即可连接。下面给出一个客户端用于连接该服务器的配置示例描述(以 JSON 形式表达): { "server_name": "Nightshade MCP Server", "command": "NightshadeExecutable", "args": [] } 注释:
- server_name 指明 MCP 服务器的名称,作为识别信息。
- command 和 args 代表用于启动/连接服务器的命令及参数;在 Nightshade 的实现中,服务器是嵌入在应用进程中的并随应用启动,因此不需要单独的启动命令与参数。客户端只需知道服务器地址 http://127.0.0.1:3333/mcp 即可建立连接。
- MCP 客户端连接后即可通过工具调用对引擎进行操作。
-
基本使用方法
- 运行应用:启动 Nightshade(带有 mcp 功能的构建),应用启动后自动开启 MCP 服务器。
- 连接客户端:使用 Claude Code/Claude Desktop 等工具,以 http 传输方式连接到 http://127.0.0.1:3333/mcp。
- 常用操作:通过 MCP 客户端的工具目录执行相应的命令(如读取实体、修改位置、设置材质、批量执行任务等)。
- 通过文档可了解可用工具的完整分类与参数,并可使用“Batch/Run”等批量指令实现原子性多操作。