mcp-3d-printer-server 1.2.17 → 1.2.19
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 +16 -0
- package/dist/ensure-web-crypto.d.ts +1 -0
- package/dist/ensure-web-crypto.js +12 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -0
- package/package.json +4 -1
- package/server.json +2 -2
- package/src/ensure-web-crypto.ts +13 -0
- package/src/index.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.2.19 — 2026-10-30
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Restore Node.js 18 support removed in 1.2.18. The MCP SDK's streamable HTTP transport calls the global `crypto`, which Node.js 18 lacks and `@hono/node-server` 2.x no longer installs; the server now provides it from `node:crypto` when missing. The package again declares Node.js 18 or newer and CI tests 18 through 24. Fresh npm installs on Node.js 18 resolve `@hono/node-server` 1.19.17, as they did for 1.2.18 apart from an engine warning. That version is inside GHSA-rmxm-3fg6-px4f's range, which affects only `serveStatic`; this server does not use it. Node.js 20 or newer installs the patched 2.1.5, which the repository lock keeps, so Node.js 18 CI and clones run it outside its declared Node.js 20 range. A regression starts the HTTP and SSE entrypoints without the global; the full suite and packed-install test pass on Node.js 18.20.8 and 24. Offline tests only; no printer is contacted.
|
|
8
|
+
|
|
9
|
+
## 1.2.18 — 2026-10-30
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Require Node.js 20 or newer. Node.js 18 reached end-of-life in April 2025, and the patched `@hono/node-server` relies on the global Web Crypto API that Node.js 18 does not expose by default, so streamable HTTP fails there. CI now tests Node.js 20, 22 and 24.
|
|
14
|
+
|
|
15
|
+
### Dependencies
|
|
16
|
+
|
|
17
|
+
- Refresh the installation lock to `@hono/node-server` 2.1.5 for GHSA-rmxm-3fg6-px4f using `npm audit fix` without forcing dependency ranges. The MCP SDK already accepts this version. The updated dependency declares Node 20 or newer; no patched 1.x release is available. This lock controls reproducible installs, not existing consumers’ locks. Validation uses offline tests and mocked transports; no printer is contacted.
|
|
18
|
+
|
|
3
19
|
## 1.2.17 — 2026-10-27
|
|
4
20
|
|
|
5
21
|
### Fixed
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Node.js 18 exposes Web Crypto only as node:crypto's webcrypto, but the MCP
|
|
2
|
+
// SDK's streamable HTTP transport calls the global crypto, which
|
|
3
|
+
// @hono/node-server 2.x no longer installs. Newer Node.js already provides it.
|
|
4
|
+
import { webcrypto } from "node:crypto";
|
|
5
|
+
if (typeof globalThis.crypto === "undefined") {
|
|
6
|
+
Object.defineProperty(globalThis, "crypto", {
|
|
7
|
+
value: webcrypto,
|
|
8
|
+
configurable: true,
|
|
9
|
+
enumerable: false,
|
|
10
|
+
writable: true,
|
|
11
|
+
});
|
|
12
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
import "./ensure-web-crypto.js";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
// Must stay first: Node.js 18 needs the global crypto before any SDK transport code runs.
|
|
3
|
+
import "./ensure-web-crypto.js";
|
|
2
4
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
5
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
6
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
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.
|
|
4
|
+
"version": "1.2.19",
|
|
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",
|
|
@@ -41,6 +41,8 @@
|
|
|
41
41
|
"dist/test",
|
|
42
42
|
"dist/types.d.ts",
|
|
43
43
|
"dist/types.js",
|
|
44
|
+
"dist/ensure-web-crypto.d.ts",
|
|
45
|
+
"dist/ensure-web-crypto.js",
|
|
44
46
|
"src/3mf_parser.ts",
|
|
45
47
|
"src/fulu-orca.ts",
|
|
46
48
|
"src/http-server.ts",
|
|
@@ -55,6 +57,7 @@
|
|
|
55
57
|
"src/test/stl-manipulator-test.ts",
|
|
56
58
|
"src/test/tsconfig.json",
|
|
57
59
|
"src/types.ts",
|
|
60
|
+
"src/ensure-web-crypto.ts",
|
|
58
61
|
"README.md",
|
|
59
62
|
"LICENSE",
|
|
60
63
|
"dist/blender-mcp-bridge.js",
|
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.
|
|
10
|
+
"version": "1.2.19",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "mcp-3d-printer-server",
|
|
15
|
-
"version": "1.2.
|
|
15
|
+
"version": "1.2.19",
|
|
16
16
|
"runtimeHint": "npx",
|
|
17
17
|
"transport": {
|
|
18
18
|
"type": "stdio"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Node.js 18 exposes Web Crypto only as node:crypto's webcrypto, but the MCP
|
|
2
|
+
// SDK's streamable HTTP transport calls the global crypto, which
|
|
3
|
+
// @hono/node-server 2.x no longer installs. Newer Node.js already provides it.
|
|
4
|
+
import { webcrypto } from "node:crypto";
|
|
5
|
+
|
|
6
|
+
if (typeof globalThis.crypto === "undefined") {
|
|
7
|
+
Object.defineProperty(globalThis, "crypto", {
|
|
8
|
+
value: webcrypto,
|
|
9
|
+
configurable: true,
|
|
10
|
+
enumerable: false,
|
|
11
|
+
writable: true,
|
|
12
|
+
});
|
|
13
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
+
// Must stay first: Node.js 18 needs the global crypto before any SDK transport code runs.
|
|
4
|
+
import "./ensure-web-crypto.js";
|
|
3
5
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
4
6
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
5
7
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|