sbox-mcp-server 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # sbox-mcp-server
2
2
 
3
- MCP Server for the s&box game engine. Lets Claude Code build s&box games through conversation — **150 tools / 142 editor handlers** for scenes, scripts, GameObjects, components, assets, materials, audio, physics, UI, networking, publishing, world-gen, lighting & atmosphere, characters, scene layout, navmesh & spatial queries, particles, self-diagnosis, console/C# execution, live docs search, and type discovery.
3
+ MCP Server for the s&box game engine. Lets Claude Code build s&box games through conversation — **152 tools / 145 editor handlers** for scenes, scripts, GameObjects, components, assets, materials, audio, physics, UI, networking, publishing, world-gen, lighting & atmosphere, characters, scene layout, navmesh & spatial queries, particles, self-diagnosis, console/C# execution, live docs search, and type discovery.
4
4
 
5
5
  ## Fastest install — the Claude Code plugin
6
6
 
@@ -44,7 +44,7 @@ Open your project. The bridge starts automatically. Verify with:
44
44
  Check the bridge status.
45
45
  ```
46
46
 
47
- You should see `connected: true, handlerCount: 142`. (That's the editor-side handler count; the server exposes 150 tools total — a handful run MCP-server-side and need no editor handler.)
47
+ You should see `connected: true, handlerCount: 145`. (That's the editor-side handler count; the server exposes 152 tools total — a handful run MCP-server-side and need no editor handler.)
48
48
 
49
49
  ## How it works
50
50
 
@@ -54,9 +54,9 @@ Claude Code → (stdio) → sbox-mcp-server → (file IPC) → bridge addon →
54
54
 
55
55
  Communication uses file-based IPC through `%TEMP%/sbox-bridge-ipc/`. The MCP server writes request JSON files, the bridge addon (running inside s&box) polls and processes on the main editor thread, then writes response files back. WebSocket is not used — s&box's sandboxed C# environment blocks `System.Net`.
56
56
 
57
- ## Tools (150 / 142 editor handlers — v1.5.0)
57
+ ## Tools (151 / 145 editor handlers — v1.5.1)
58
58
 
59
- `get_bridge_status` reports `handlerCount: 142` — that's the C# handlers compiled inside the editor. Six tools run **MCP-server-side** and need no editor handler: `read_log`, `get_compile_errors`, `execute_csharp`, `search_docs`, `get_doc_page`, `list_doc_categories`. They read the log / hotload-eval / fetch docs directly, so they keep working even when the editor has crashed or stalled.
59
+ `get_bridge_status` reports `handlerCount: 145` — that's the C# handlers compiled inside the editor. Six tools run **MCP-server-side** and need no editor handler: `read_log`, `get_compile_errors`, `execute_csharp`, `search_docs`, `get_doc_page`, `list_doc_categories`. They read the log / hotload-eval / fetch docs directly, so they keep working even when the editor has crashed or stalled.
60
60
 
61
61
  | Category | Tools |
62
62
  |----------|-------|
@@ -96,5 +96,19 @@ export function registerProjectTools(server, bridge) {
96
96
  ],
97
97
  };
98
98
  });
99
+ // ── recompile_asset ──────────────────────────────────────────────
100
+ server.tool("recompile_asset", "Compile a project asset by path — registers it with the editor's AssetSystem then compiles it (e.g. .vmat → .vmat_c). Use after writing/editing an asset with write_file so the change takes effect without a manual editor step. Verified on materials. NOTE: the engine exposes no reachable particle (.vpcf) compiler, so this can't compile particles — author those in s&box's particle editor, then spawn_vpcf plays them.", {
101
+ path: z
102
+ .string()
103
+ .describe("Asset path — project-relative (e.g. 'materials/foo.vmat') or absolute"),
104
+ }, async (params) => {
105
+ const res = await bridge.send("recompile_asset", params);
106
+ if (!res.success) {
107
+ return { content: [{ type: "text", text: `Error: ${res.error}` }] };
108
+ }
109
+ return {
110
+ content: [{ type: "text", text: JSON.stringify(res.data, null, 2) }],
111
+ };
112
+ });
99
113
  }
100
114
  //# sourceMappingURL=project.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sbox-mcp-server",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "MCP Server for s&box game engine — enables Claude to build games through conversation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",