S&Box编辑器实时通信服务

该服务为Claude提供与S&Box编辑器的实时通信能力,支持场景管理、组件操作、文件读写等30种工具功能。

  • by gabrieldcl
  • C#
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 gabrieldcl/sbox-mcp

使用说明

sbox mcp

MCP服务器使Claude能够完全实时地了解S&Box编辑器。

30工具 --场景层次结构、游戏对象、组件、C#脚本、控制台输出、资源、编辑器控制。


建筑

Claude Code (WSL)
    ↕ stdio (MCP protocol)
TypeScript MCP Server  [Node.js, WSL]
    ↕ WebSocket  ws://[windows-host]:27015
S&Box Bridge Addon  [C#, inside S&Box editor]
    ↕ S&Box editor APIs
S&Box Editor

设置

1.安装S&Box插件

复制以下内容 addon/code/ 进入S&Box工具箱代码目录:

C:\Program Files (x86)\Steam\steamapps\common\sbox\addons\tools\Code\SboxMcp\

最终结构应该如下:

addons\tools\Code\SboxMcp\
    BridgeServer.cs
    CommandRouter.cs
    ConsoleCapture.cs
    EditorPanel.cs
    Handlers\
        SceneHandler.cs
        ComponentHandler.cs
        FileHandler.cs
        EditorHandler.cs
        ConsoleHandler.cs
        AssetHandler.cs

这将代码放在里面 local.toolbase --S&Box包总是在启动时编译。

重新启动S&Box。编译完成后,转到 编辑→ MCP电桥→ 开启面板.
它显示“正在等待连接…”——在MCP服务器连接之前,这是正常的。

2.构建TypeScript MCP服务器

cd server
npm install
npm run build

3.添加到克劳德代码

claude mcp add -s user sbox -- node /home/<you>/projects/sbox-mcp/server/dist/index.js

重新启动克劳德代码。这 sbox MCP服务器将在所有会话中处于活动状态。


工具

类别 工具
场景阅读 scene_get_info, scene_get_hierarchy, scene_get_object, scene_find_objects
场景书写 scene_create_object, scene_delete_object, scene_set_transform, scene_set_name, scene_set_enabled, scene_clone_object, scene_reparent_object, scene_save, scene_undo, scene_redo
组件 component_list, component_get, component_set, component_add, component_remove
文件 file_read, file_write, file_list, project_info
编辑 editor_get_selection, editor_select_object, editor_play, editor_stop, editor_is_playing
控制台 console_get_output, console_run_command
资产 asset_search, asset_mount, asset_browse_local

WSL网络

TypeScript服务器自动检测来自的Windows主机IP /etc/resolv.conf.
S&Box插件绑定到 0.0.0.0:27015 所以可以从WSL到达。

要使用其他端口,请执行以下操作:

SBOX_MCP_PORT=27015 node dist/index.js

配置

当S&Box打开时,插件会自动启动WebSocket服务器。
使用 MCP电桥 面板→ 重启 如果连接中断。