mcp-3d-printer-server 1.2.23 → 1.2.24

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.2.24] – 2026-11-02
4
+
5
+ ### Fixed
6
+
7
+ - `fusion_mcp_status` reports the Fusion360MCP add-in as reachable. The pinned add-in answers a ping on its fast path with `{"ok":true,"status":"pong"}`, and the bridge accepted only `{"pong":true}`, so it reported `connected: false` with a running add-in. Verified against a live Fusion with the add-in at `19b9f1e95192` through bambu-printer-mcp's identical bridge, and with socket fixtures here.
8
+
3
9
  ## [1.2.23] – 2026-11-02
4
10
 
5
11
  ### Removed
@@ -130,8 +130,10 @@ const NO_ACTIVE_DESIGN_HELP = "Fusion has no open design, and at the pinned faus
130
130
  * True only when the Fusion360MCP add-in answers its ping. A bare TCP connect
131
131
  * is not enough: Blender's MCP addon listens on the same default port (9876)
132
132
  * and answers "unknown command" to this harmless request.
133
- * Protocol: newline-delimited JSON, {"type","params"} in and
134
- * {"status":"success","result":{"pong":true}} out (add-in server/socket_server.py).
133
+ * Protocol: newline-delimited JSON, {"type","params"} in (add-in server/socket_server.py).
134
+ * The pinned add-in answers ping on its fast path (event_bridge.py) with
135
+ * {"status":"success","result":{"ok":true,"status":"pong"}}, and through its
136
+ * command handler with {"pong":true}.
135
137
  */
136
138
  function addinAnswers(host, port, timeoutMs) {
137
139
  return new Promise((resolve) => {
@@ -150,7 +152,7 @@ function addinAnswers(host, port, timeoutMs) {
150
152
  const line = buffer.includes("\n") ? buffer.slice(0, buffer.indexOf("\n")) : buffer;
151
153
  try {
152
154
  const reply = JSON.parse(line);
153
- done(reply?.status === "success" && reply?.result?.pong === true);
155
+ done(reply?.status === "success" && (reply?.result?.status === "pong" || reply?.result?.pong === true));
154
156
  }
155
157
  catch {
156
158
  if (buffer.includes("\n"))
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mcp-3d-printer-server",
3
3
  "mcpName": "io.github.DMontgomery40/mcp-3d-printer-server",
4
- "version": "1.2.23",
4
+ "version": "1.2.24",
5
5
  "description": "MCP server for connecting Claude with 3D printer management systems",
6
6
  "main": "dist/index.js",
7
7
  "repository": "https://github.com/DMontgomery40/mcp-3D-printer-server",
package/server.json CHANGED
@@ -7,12 +7,12 @@
7
7
  "url": "https://github.com/DMontgomery40/mcp-3D-printer-server",
8
8
  "source": "github"
9
9
  },
10
- "version": "1.2.23",
10
+ "version": "1.2.24",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "mcp-3d-printer-server",
15
- "version": "1.2.23",
15
+ "version": "1.2.24",
16
16
  "runtimeHint": "npx",
17
17
  "transport": {
18
18
  "type": "stdio"
@@ -136,8 +136,10 @@ const NO_ACTIVE_DESIGN_HELP =
136
136
  * True only when the Fusion360MCP add-in answers its ping. A bare TCP connect
137
137
  * is not enough: Blender's MCP addon listens on the same default port (9876)
138
138
  * and answers "unknown command" to this harmless request.
139
- * Protocol: newline-delimited JSON, {"type","params"} in and
140
- * {"status":"success","result":{"pong":true}} out (add-in server/socket_server.py).
139
+ * Protocol: newline-delimited JSON, {"type","params"} in (add-in server/socket_server.py).
140
+ * The pinned add-in answers ping on its fast path (event_bridge.py) with
141
+ * {"status":"success","result":{"ok":true,"status":"pong"}}, and through its
142
+ * command handler with {"pong":true}.
141
143
  */
142
144
  function addinAnswers(host: string, port: number, timeoutMs: number): Promise<boolean> {
143
145
  return new Promise((resolve) => {
@@ -154,7 +156,7 @@ function addinAnswers(host: string, port: number, timeoutMs: number): Promise<bo
154
156
  const line = buffer.includes("\n") ? buffer.slice(0, buffer.indexOf("\n")) : buffer;
155
157
  try {
156
158
  const reply = JSON.parse(line);
157
- done(reply?.status === "success" && reply?.result?.pong === true);
159
+ done(reply?.status === "success" && (reply?.result?.status === "pong" || reply?.result?.pong === true));
158
160
  } catch {
159
161
  if (buffer.includes("\n")) done(false);
160
162
  }