ssh-mcp-pro 1.2.1 → 1.4.0

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.
Files changed (214) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +12 -2
  3. package/dist/agent-bin.js +5 -2
  4. package/dist/agent-bin.js.map +1 -1
  5. package/dist/cli.d.ts +1 -0
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +38 -47
  8. package/dist/cli.js.map +1 -1
  9. package/dist/config-security-env.d.ts +4 -0
  10. package/dist/config-security-env.d.ts.map +1 -0
  11. package/dist/config-security-env.js +64 -0
  12. package/dist/config-security-env.js.map +1 -0
  13. package/dist/config.d.ts +2 -2
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +4 -67
  16. package/dist/config.js.map +1 -1
  17. package/dist/connector-profile.d.ts +17 -3
  18. package/dist/connector-profile.d.ts.map +1 -1
  19. package/dist/connector-profile.js.map +1 -1
  20. package/dist/detect.d.ts.map +1 -1
  21. package/dist/detect.js +226 -192
  22. package/dist/detect.js.map +1 -1
  23. package/dist/ensure-package-service.d.ts +9 -0
  24. package/dist/ensure-package-service.d.ts.map +1 -0
  25. package/dist/ensure-package-service.js +146 -0
  26. package/dist/ensure-package-service.js.map +1 -0
  27. package/dist/ensure-pkg.js +4 -4
  28. package/dist/ensure-pkg.js.map +1 -1
  29. package/dist/ensure.d.ts.map +1 -1
  30. package/dist/ensure.js +15 -144
  31. package/dist/ensure.js.map +1 -1
  32. package/dist/fs-sftp.js +1 -1
  33. package/dist/fs-sftp.js.map +1 -1
  34. package/dist/fs-stat.d.ts +10 -0
  35. package/dist/fs-stat.d.ts.map +1 -0
  36. package/dist/fs-stat.js +62 -0
  37. package/dist/fs-stat.js.map +1 -0
  38. package/dist/fs-tools.d.ts.map +1 -1
  39. package/dist/fs-tools.js +6 -58
  40. package/dist/fs-tools.js.map +1 -1
  41. package/dist/http-security.d.ts.map +1 -1
  42. package/dist/http-security.js +6 -6
  43. package/dist/http-security.js.map +1 -1
  44. package/dist/http-server-runtime.d.ts.map +1 -1
  45. package/dist/http-server-runtime.js +41 -7
  46. package/dist/http-server-runtime.js.map +1 -1
  47. package/dist/index.js +6 -23
  48. package/dist/index.js.map +1 -1
  49. package/dist/mcp-http-web.d.ts +8 -0
  50. package/dist/mcp-http-web.d.ts.map +1 -0
  51. package/dist/mcp-http-web.js +35 -0
  52. package/dist/mcp-http-web.js.map +1 -0
  53. package/dist/mcp.d.ts +6 -2
  54. package/dist/mcp.d.ts.map +1 -1
  55. package/dist/mcp.js +22 -14
  56. package/dist/mcp.js.map +1 -1
  57. package/dist/policy.d.ts +8 -0
  58. package/dist/policy.d.ts.map +1 -1
  59. package/dist/policy.js +147 -105
  60. package/dist/policy.js.map +1 -1
  61. package/dist/process.d.ts.map +1 -1
  62. package/dist/process.js +11 -7
  63. package/dist/process.js.map +1 -1
  64. package/dist/prompts.d.ts +2 -11
  65. package/dist/prompts.d.ts.map +1 -1
  66. package/dist/prompts.js.map +1 -1
  67. package/dist/remote/agent-activity-log.d.ts +26 -0
  68. package/dist/remote/agent-activity-log.d.ts.map +1 -0
  69. package/dist/remote/agent-activity-log.js +211 -0
  70. package/dist/remote/agent-activity-log.js.map +1 -0
  71. package/dist/remote/agent-cli.d.ts.map +1 -1
  72. package/dist/remote/agent-cli.js +92 -25
  73. package/dist/remote/agent-cli.js.map +1 -1
  74. package/dist/remote/agent-executor.d.ts.map +1 -1
  75. package/dist/remote/agent-executor.js +25 -16
  76. package/dist/remote/agent-executor.js.map +1 -1
  77. package/dist/remote/agent-handler.d.ts +2 -0
  78. package/dist/remote/agent-handler.d.ts.map +1 -1
  79. package/dist/remote/agent-handler.js +4 -0
  80. package/dist/remote/agent-handler.js.map +1 -1
  81. package/dist/remote/config.d.ts.map +1 -1
  82. package/dist/remote/config.js +12 -1
  83. package/dist/remote/config.js.map +1 -1
  84. package/dist/remote/control-plane.d.ts +12 -0
  85. package/dist/remote/control-plane.d.ts.map +1 -1
  86. package/dist/remote/control-plane.js +174 -53
  87. package/dist/remote/control-plane.js.map +1 -1
  88. package/dist/remote/crypto.d.ts +9 -4
  89. package/dist/remote/crypto.d.ts.map +1 -1
  90. package/dist/remote/crypto.js +41 -9
  91. package/dist/remote/crypto.js.map +1 -1
  92. package/dist/remote/http-util.d.ts.map +1 -1
  93. package/dist/remote/http-util.js +14 -7
  94. package/dist/remote/http-util.js.map +1 -1
  95. package/dist/remote/mcp-tools.d.ts +7 -0
  96. package/dist/remote/mcp-tools.d.ts.map +1 -1
  97. package/dist/remote/mcp-tools.js +28 -0
  98. package/dist/remote/mcp-tools.js.map +1 -1
  99. package/dist/remote/oauth-handler.d.ts +36 -3
  100. package/dist/remote/oauth-handler.d.ts.map +1 -1
  101. package/dist/remote/oauth-handler.js +287 -13
  102. package/dist/remote/oauth-handler.js.map +1 -1
  103. package/dist/remote/policy.js +2 -2
  104. package/dist/remote/policy.js.map +1 -1
  105. package/dist/remote/safe-file.d.ts +2 -1
  106. package/dist/remote/safe-file.d.ts.map +1 -1
  107. package/dist/remote/safe-file.js +51 -53
  108. package/dist/remote/safe-file.js.map +1 -1
  109. package/dist/remote/schemas.d.ts +9 -9
  110. package/dist/remote/schemas.js +6 -6
  111. package/dist/remote/schemas.js.map +1 -1
  112. package/dist/remote/store.d.ts +38 -1
  113. package/dist/remote/store.d.ts.map +1 -1
  114. package/dist/remote/store.js +149 -11
  115. package/dist/remote/store.js.map +1 -1
  116. package/dist/remote/types.d.ts +14 -0
  117. package/dist/remote/types.d.ts.map +1 -1
  118. package/dist/remote/types.js.map +1 -1
  119. package/dist/remote/web-dashboard-client-config.d.ts +77 -0
  120. package/dist/remote/web-dashboard-client-config.d.ts.map +1 -0
  121. package/dist/remote/web-dashboard-client-config.js +81 -0
  122. package/dist/remote/web-dashboard-client-config.js.map +1 -0
  123. package/dist/remote/web-dashboard-html.d.ts +2 -0
  124. package/dist/remote/web-dashboard-html.d.ts.map +1 -0
  125. package/dist/remote/web-dashboard-html.js +433 -0
  126. package/dist/remote/web-dashboard-html.js.map +1 -0
  127. package/dist/remote/web-dashboard-oauth-users.d.ts +4 -0
  128. package/dist/remote/web-dashboard-oauth-users.d.ts.map +1 -0
  129. package/dist/remote/web-dashboard-oauth-users.js +78 -0
  130. package/dist/remote/web-dashboard-oauth-users.js.map +1 -0
  131. package/dist/remote/web-dashboard-static.d.ts +4 -0
  132. package/dist/remote/web-dashboard-static.d.ts.map +1 -0
  133. package/dist/remote/web-dashboard-static.js +19 -0
  134. package/dist/remote/web-dashboard-static.js.map +1 -0
  135. package/dist/remote/web-dashboard-styles.d.ts +2 -0
  136. package/dist/remote/web-dashboard-styles.d.ts.map +1 -0
  137. package/dist/remote/web-dashboard-styles.js +187 -0
  138. package/dist/remote/web-dashboard-styles.js.map +1 -0
  139. package/dist/remote/web-dashboard.d.ts +62 -0
  140. package/dist/remote/web-dashboard.d.ts.map +1 -0
  141. package/dist/remote/web-dashboard.js +467 -0
  142. package/dist/remote/web-dashboard.js.map +1 -0
  143. package/dist/resources.d.ts +2 -7
  144. package/dist/resources.d.ts.map +1 -1
  145. package/dist/resources.js.map +1 -1
  146. package/dist/retry.d.ts.map +1 -1
  147. package/dist/retry.js +6 -3
  148. package/dist/retry.js.map +1 -1
  149. package/dist/safety.d.ts.map +1 -1
  150. package/dist/safety.js +56 -6
  151. package/dist/safety.js.map +1 -1
  152. package/dist/session-auth.js +7 -7
  153. package/dist/session-auth.js.map +1 -1
  154. package/dist/session.d.ts +5 -0
  155. package/dist/session.d.ts.map +1 -1
  156. package/dist/session.js +81 -54
  157. package/dist/session.js.map +1 -1
  158. package/dist/shell.d.ts.map +1 -1
  159. package/dist/shell.js +5 -4
  160. package/dist/shell.js.map +1 -1
  161. package/dist/ssh-config.d.ts +2 -2
  162. package/dist/ssh-config.d.ts.map +1 -1
  163. package/dist/ssh-config.js +24 -20
  164. package/dist/ssh-config.js.map +1 -1
  165. package/dist/telemetry.d.ts.map +1 -1
  166. package/dist/telemetry.js +9 -2
  167. package/dist/telemetry.js.map +1 -1
  168. package/dist/tools/connector.provider.d.ts +1 -1
  169. package/dist/tools/connector.provider.d.ts.map +1 -1
  170. package/dist/tools/ensure.provider.d.ts +1 -1
  171. package/dist/tools/ensure.provider.d.ts.map +1 -1
  172. package/dist/tools/fs.provider.d.ts +1 -1
  173. package/dist/tools/fs.provider.d.ts.map +1 -1
  174. package/dist/tools/metadata.d.ts +1 -1
  175. package/dist/tools/metadata.d.ts.map +1 -1
  176. package/dist/tools/output-schemas.d.ts +27 -135
  177. package/dist/tools/output-schemas.d.ts.map +1 -1
  178. package/dist/tools/process.provider.d.ts +1 -1
  179. package/dist/tools/process.provider.d.ts.map +1 -1
  180. package/dist/tools/registry.d.ts +1 -1
  181. package/dist/tools/registry.d.ts.map +1 -1
  182. package/dist/tools/registry.js +16 -13
  183. package/dist/tools/registry.js.map +1 -1
  184. package/dist/tools/session.provider.d.ts +1 -1
  185. package/dist/tools/session.provider.d.ts.map +1 -1
  186. package/dist/tools/system.provider.d.ts +1 -1
  187. package/dist/tools/system.provider.d.ts.map +1 -1
  188. package/dist/tools/transfer.provider.d.ts +1 -1
  189. package/dist/tools/transfer.provider.d.ts.map +1 -1
  190. package/dist/tools/tunnel.provider.d.ts +1 -1
  191. package/dist/tools/tunnel.provider.d.ts.map +1 -1
  192. package/dist/tools/types.d.ts +1 -1
  193. package/dist/tools/types.d.ts.map +1 -1
  194. package/dist/transfer.js +2 -2
  195. package/dist/transfer.js.map +1 -1
  196. package/dist/types.js +1 -1
  197. package/dist/types.js.map +1 -1
  198. package/docs/adding-a-device.md +39 -17
  199. package/docs/agent-activity-monitor.md +34 -0
  200. package/docs/coolify.md +29 -0
  201. package/docs/development/coding-standards.md +8 -2
  202. package/docs/development/dependency-management.md +1 -1
  203. package/docs/development/mcp-protocol-2026.md +33 -0
  204. package/docs/development/release-process.md +29 -55
  205. package/docs/doppler-guide.md +34 -0
  206. package/docs/reference/compatibility.md +1 -1
  207. package/docs/remote-mcp-hardening.md +17 -0
  208. package/docs/security/dependency-audit-exceptions.md +3 -7
  209. package/docs/security/hosted-data-inventory.md +81 -0
  210. package/docs/sonarcloud-analysis.md +9 -0
  211. package/mcp.json +1 -1
  212. package/package.json +31 -24
  213. package/registry/ssh-mcp-pro/mcp.json +1 -1
  214. package/server.json +3 -3
@@ -1,4 +1,4 @@
1
- import type { Tool } from "@modelcontextprotocol/sdk/types.js";
1
+ import type { Tool } from "@modelcontextprotocol/server";
2
2
  import type { TunnelService } from "../tunnel.js";
3
3
  import type { ToolProvider } from "./types.js";
4
4
  export interface TunnelToolProviderDeps {
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.provider.d.ts","sourceRoot":"","sources":["../../src/tools/tunnel.provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAalD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,qBAAa,kBAAmB,YAAW,YAAY;IAGzC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,SAAS,YAAY;gBAED,IAAI,EAAE,sBAAsB;IAEzD,QAAQ,IAAI,IAAI,EAAE;IAqFlB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS;YAe3D,YAAY;YAiBZ,aAAa;YAiBb,KAAK;YAML,IAAI;CAKnB"}
1
+ {"version":3,"file":"tunnel.provider.d.ts","sourceRoot":"","sources":["../../src/tools/tunnel.provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAalD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,qBAAa,kBAAmB,YAAW,YAAY;IAGzC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,SAAS,YAAY;gBAED,IAAI,EAAE,sBAAsB;IAEzD,QAAQ,IAAI,IAAI,EAAE;IAqFlB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS;YAe3D,YAAY;YAiBZ,aAAa;YAiBb,KAAK;YAML,IAAI;CAKnB"}
@@ -1,4 +1,4 @@
1
- import type { CallToolResult, Tool } from "@modelcontextprotocol/sdk/types.js";
1
+ import type { CallToolResult, Tool } from "@modelcontextprotocol/server";
2
2
  export interface ToolProvider {
3
3
  readonly namespace: string;
4
4
  getTools(): Tool[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,IAAI,IAAI,EAAE,CAAC;IACnB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;CAC3E;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC;AAE5C,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAChE,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEzE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,IAAI,IAAI,EAAE,CAAC;IACnB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;CAC3E;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC;AAE5C,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAChE,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
package/dist/transfer.js CHANGED
@@ -1,5 +1,5 @@
1
- import * as fs from "fs";
2
- import * as path from "path";
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
3
  import { createHash } from "node:crypto";
4
4
  import { createFilesystemError } from "./errors.js";
5
5
  import { logger } from "./logging.js";
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../src/transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../src/transfer.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -51,7 +51,7 @@ export class SSHMCPError extends Error {
51
51
  }
52
52
  }
53
53
  // Zod schemas for input validation
54
- const EnvKeySchema = z.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/u);
54
+ const EnvKeySchema = z.string().regex(/^[A-Za-z_]\w*$/u);
55
55
  const EnvMapSchema = z.record(EnvKeySchema, z.string());
56
56
  export const ConnectionParamsSchema = z.object({
57
57
  host: z.string().min(1),
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -28,32 +28,53 @@ token and a chosen capability profile.
28
28
  Start with the least privilege a device needs. You can raise the profile
29
29
  later (see [Changing a policy later](#changing-a-policy-later)).
30
30
 
31
- ## Step 1 — Create an enrollment token (on the control plane side)
31
+ ## Step 1 — Create an enrollment token
32
32
 
33
- Tokens are one-time and short-lived. Pick the profile here.
33
+ ### Option A: From the web dashboard (recommended)
34
34
 
35
- ### Option A: HTTP API
35
+ On a deployed control plane with HTTPS and OAuth configured:
36
+
37
+ 1. Open its HTTPS URL and choose **Sign in with GitHub** or **Sign in with Google**.
38
+ 2. Select **Add Device**, enter the device alias, and choose a capability profile.
39
+ Start with `read-only` unless you need additional permissions.
40
+ 3. Choose **Generate Install Command**. The dashboard creates a short-lived,
41
+ one-time token and displays **Linux**, **Windows**, and **npm** commands.
42
+ 4. Copy the command for the target device and run it there. The Linux and
43
+ Windows installer commands install the agent, enroll it, and configure
44
+ startup; the npm command only enrolls and starts the process in that shell.
45
+
46
+ Treat a generated command as a secret: it contains a one-time enrollment
47
+ token. Do not share it in tickets, logs, chat messages, or screenshots. If
48
+ the token expires, generate a new one in the dashboard.
49
+
50
+ ### Option B: From the HTTP API (automation)
51
+
52
+ For an OAuth access token carrying the `agents:admin` scope:
36
53
 
37
54
  ```bash
38
55
  curl -sS -X POST "https://your-control-plane.example.com/api/agents/enrollment-tokens" \
39
56
  -H "Authorization: Bearer <admin-access-token>" \
40
57
  -H "Content-Type: application/json" \
41
- -d '{"alias":"office-pc","requested_profile":"operations"}'
58
+ -d '{"alias":"office-pc","requested_profile":"read-only"}'
42
59
  ```
43
60
 
44
- The response includes a one-time `enrollment_token` and a ready-to-paste
45
- install command. The calling identity must have the `agents:admin` scope.
61
+ The response includes `enrollment_token` and `commands.npm` / `commands.run`.
62
+ The npm commands do not install a background service. To install and
63
+ register a persistent service, use the platform installer in Step 2 with
64
+ that one-time token.
46
65
 
47
- ### Option B: From ChatGPT
66
+ ### Option C: From an authenticated MCP client
48
67
 
49
- If your connector has the `agents:admin` scope, ask it to call the
50
- `create_enrollment_token` tool with the alias and requested profile. It
51
- returns the same token and install command.
68
+ If your authenticated connector has the `agents:admin` scope, call
69
+ `create_enrollment_token` with an alias and requested profile. Use the
70
+ returned token with the installer in Step 2 or the returned npm commands.
52
71
 
53
72
  ## Step 2 — Run the bootstrap on the new device
54
73
 
55
- The bootstrap installs the package, enrolls the machine, and registers a
56
- service so the agent reconnects on boot. It needs Node 22.22+ or 24+.
74
+ The Linux/Windows bootstrap installs the package, enrolls the machine, and
75
+ registers startup so the agent reconnects after restarts. It needs Node
76
+ 22.22+ or 24+. The dashboard-generated command is the shortest path; the
77
+ manual commands below are alternatives if you already have a one-time token.
57
78
 
58
79
  ### Linux / WSL
59
80
 
@@ -88,9 +109,10 @@ On the device:
88
109
  ssh-mcp-pro-agent status
89
110
  ```
90
111
 
91
- It prints the agent id, alias, server, and active profile. On the control
92
- plane side the agent shows up as `online` in the fleet list, and the audit
93
- log records `enrollment_token_created` and `agent_connected`.
112
+ It prints the agent id, alias, server, and active profile. This checks local
113
+ enrollment, **not** live connectivity. In the dashboard, open **Enrolled
114
+ Devices** and verify the device reports **Live Online**. The audit log
115
+ should contain `enrollment_token_created` and `agent_connected`.
94
116
 
95
117
  ## Changing a policy later
96
118
 
@@ -123,5 +145,5 @@ restart is required.
123
145
  Windows) and that the device can reach the control plane URL over HTTPS.
124
146
  - **Enrollment fails with an expired token**: tokens are single-use and
125
147
  short-lived. Create a fresh one and retry.
126
- - **WebSocket error on start**: the runtime is too old. Install Node 22.22+
127
- or 24+.
148
+ - **WebSocket error on start**: confirm Node 22.22+ or 24+, DNS/TLS
149
+ connectivity to the configured server, and that the agent has not been revoked.
@@ -0,0 +1,34 @@
1
+ # Outbound Agent Activity Monitor
2
+
3
+ The outbound agent streams timestamped events to its terminal and a **local, rotating diagnostic log**. This is useful when a Windows Scheduled Task displays a connection window, when a service restarts, or when an agent fails to authenticate. The agent does not need to expose a new HTTP API for this.
4
+
5
+ ## Live monitor
6
+
7
+ Open a separate PowerShell 7 (Windows) or terminal (Linux/macOS) under the **same operating-system account** as the installed agent:
8
+
9
+ ```shell
10
+ ssh-mcp-pro-agent logs --follow
11
+ ```
12
+
13
+ To display the most recent events without remaining attached:
14
+
15
+ ```shell
16
+ ssh-mcp-pro-agent logs --tail 80
17
+ ssh-mcp-pro-agent status
18
+ ```
19
+
20
+ During `ssh-mcp-pro-agent run`, the console also displays a compact connection panel and continuously appends activity. The **transport-open** event means the WebSocket opened, while **agent-ready** appears only after the control plane acknowledges the agent identity. Policy updates, request start/completion, rejected or expired requests, connection errors and disconnects have distinct INFO / OK / WARN / ERROR labels.
21
+
22
+ ## Log storage and privacy
23
+
24
+ - Windows: `%USERPROFILE%\.sshautomator\logs\agent-activity.jsonl` for the Scheduled Task's user.
25
+ - Linux/macOS: `~/.sshautomator/logs/agent-activity.jsonl` for the systemd or launchd user.
26
+ - Log files rotate at 512 KiB with two older archives (`.1` and `.2`), preventing indefinite growth. On Unix, the log directory and files are created with restrictive permissions.
27
+ - Records contain only timestamps, event types and safe diagnostic descriptions. **No command arguments, command output, SSH passwords, private keys, OAuth access tokens, enrollment tokens or raw server error messages** are recorded.
28
+ - The viewer reads only this local file. There is no log upload, remote log streaming endpoint or new background service. To troubleshoot a connection, inspect its recent events and the agent supervisor's own logs as needed.
29
+
30
+ ## Windows Scheduled Task
31
+
32
+ The Windows installer registers `ssh-mcp-pro-agent run` as a Scheduled Task for the current account. A Scheduled Task may not open a visible console window on every Windows configuration. Use **a second PowerShell window** with `ssh-mcp-pro-agent logs --follow` for reliable live visibility. If you do not see log files, verify which account owns the Scheduled Task and whether that account has launched a version of the agent that includes the activity monitor.
33
+
34
+ Dashboard host, OS, architecture and policy version are sent by the agent and exposed by the server under the JSON fields `host_metadata` and `policy_version`. The web UI consumes those fields directly rather than expecting camelCase properties.
@@ -0,0 +1,29 @@
1
+ # Coolify deployment
2
+
3
+ Deploy the repository with **Dockerfile** build pack and Dockerfile path `Dockerfile.coolify`.
4
+
5
+ - Domain: `https://ssh-mcp-pro.oaslananka.dev`
6
+ - Container port: `3000` (do not expose the port directly to the internet)
7
+ - Persistent volume: mount a named volume at `/app/data` (SQLite database and signing keys)
8
+ - One replica: SQLite is local and is not a shared multi-instance database
9
+ - Start command: baked into `Dockerfile.coolify` (`node dist/render-http.js`)
10
+
11
+ Configure secrets in Coolify (never commit them): `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET`, `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` and the project's other required credentials. Set:
12
+
13
+ ```dotenv
14
+ NODE_ENV=production
15
+ PUBLIC_BASE_URL=https://ssh-mcp-pro.oaslananka.dev
16
+ MCP_RESOURCE_URL=https://ssh-mcp-pro.oaslananka.dev/mcp
17
+ SSH_MCP_REMOTE_AGENT_CONTROL_PLANE=true
18
+ SSH_MCP_HTTP_HOST=0.0.0.0
19
+ SSH_MCP_HTTP_PORT=3000
20
+ DATABASE_URL=file:/app/data/sshautomator.db
21
+ CONTROL_PLANE_SIGNING_KEY_PATH=/app/data/control-plane-ed25519.json
22
+ JWT_SIGNING_KEY_PATH=/app/data/jwt-ed25519.json
23
+ GOOGLE_CALLBACK_URL=https://ssh-mcp-pro.oaslananka.dev/oauth/callback/google
24
+ GITHUB_CALLBACK_URL=https://ssh-mcp-pro.oaslananka.dev/oauth/callback/github
25
+ ```
26
+
27
+ Dashboard login callback URLs additionally use `/auth/callback/google` and `/auth/callback/github`; register both with the relevant OAuth providers. Keep authentication allowlists configured as appropriate. Do not enable anonymous access as a workaround.
28
+
29
+ Before deployment verify local OAuth login, dashboard and MCP flow. After deployment check health, login callbacks, device connectivity, and persistent state across a controlled restart. Do not run the SSH test fixture service in production.
@@ -11,12 +11,12 @@ instead of requiring a tour of five config files.
11
11
  | Type safety | [tsconfig.json](../../tsconfig.json) (`strict` mode) | `pnpm run typecheck` |
12
12
  | Module size | [scripts/check-module-size.mjs](../../scripts/check-module-size.mjs) | `pnpm run check:module-size` |
13
13
  | Circular dependencies | [.dependency-cruiser.mjs](../../.dependency-cruiser.mjs) | `pnpm run check:circular` |
14
- | Unused code/exports | [knip.jsonc](../../knip.jsonc) | `pnpm run check:knip` |
14
+ | Actionable unused files/dependencies | [knip.jsonc](../../knip.jsonc) | `pnpm run check:knip` |
15
15
  | Commit messages | [.commitlintrc.json](../../.commitlintrc.json) | see [commit-conventions.md](commit-conventions.md) |
16
16
  | Documentation prose | [scripts/check-doc-language.mjs](../../scripts/check-doc-language.mjs) | `pnpm run check:doc-language` |
17
17
 
18
18
  Run everything at once with `pnpm run check:maintainability` (module size + circular
19
- deps + unused exports) or `pnpm run check:quality` (formatting, lint, typecheck, audit,
19
+ deps + actionable unused-file/dependency checks) or `pnpm run check:quality` (formatting, lint, typecheck, audit,
20
20
  licenses, and more — see [CONTRIBUTING.md](../../CONTRIBUTING.md) for the full gate).
21
21
 
22
22
  ## Security-sensitive code
@@ -33,3 +33,9 @@ against passing tests.
33
33
  `scripts/setup-git-hooks.mjs` (run automatically via the `prepare` npm script) run a
34
34
  subset of the above on staged files before commit, and the full `check:push` gate before
35
35
  push. See [CONTRIBUTING.md](../../CONTRIBUTING.md#git-hooks) for details.
36
+
37
+ Knip export/type reports are advisory because published `dist` modules and dynamically
38
+ registered MCP schemas can be externally referenced. Inspect them separately using
39
+ `pnpm exec knip --exports`; do not delete a public export based only on a static
40
+ usage report. The default Knip gate fails on unused files/dependencies, missing
41
+ imports, and dependency cycles; dependency-cruiser fails on real module cycles.
@@ -4,7 +4,7 @@
4
4
 
5
5
  - **[renovate.json](../../renovate.json)** manages the `npm` ecosystem (production and
6
6
  dev dependencies). Patch/minor devDependency updates automerge; the MCP SDK
7
- (`@modelcontextprotocol/sdk`) is explicitly excluded from automerge given how central
7
+ (`@modelcontextprotocol/server`, `@modelcontextprotocol/core`, and related v2 packages) is explicitly excluded from automerge given how central
8
8
  it is; typescript-eslint packages are grouped.
9
9
  - **[.github/dependabot.yml](../../.github/dependabot.yml)** manages the
10
10
  `github-actions` ecosystem only, weekly, capped at 5 open PRs.
@@ -0,0 +1,33 @@
1
+ # MCP protocol compatibility (2026-07-28)
2
+
3
+ This repository uses the official TypeScript v2 MCP SDK. The canonical SSH tool registry and policy checks are shared across the modern and legacy protocol eras; there is no second domain, gateway, or server deployment.
4
+
5
+ ## Supported paths
6
+
7
+ - **stdio**: `serveStdio` negotiates the 2026-07-28 era and preserves the 2025 `initialize` handshake for legacy clients.
8
+ - **Standard `/mcp` HTTP**: the SDK's `createMcpHandler` handles modern per-request traffic. The existing session registry and Node Streamable HTTP transport still handle legacy sessionful traffic, selected using the SDK's `isLegacyRequest` classifier.
9
+ - **Legacy SSE**: the optional `/sse` and `/messages` endpoints use the official `server-legacy` compatibility transport. SSE remains disabled by default; do not remove it without a documented client compatibility decision.
10
+ - **Remote-agent control plane**: when its MCP routing is enabled, the distinct authenticated endpoint now serves the 2026-07-28 protocol through the official `createMcpHandler` and preserves its earlier 2025 `initialize` contract for legacy clients. Every incoming request must pass JWT validation before either era is routed; the per-request modern handler is created only with that principal's capability-filtered tool descriptors. This endpoint never falls back to the standard SSH MCP tool registry or another user's agent inventory. Official SDK clients with `versionNegotiation: { mode: "auto" }` select modern, pinned 2026 clients succeed, and explicitly legacy clients continue to work. See `test/integration/remote-mcp-auth-boundary.integration.test.ts` for real HTTP acceptance.
11
+
12
+ ## Security and operation
13
+
14
+ The existing HTTP router enforces authentication, origin policy, request-size limits, and public-boundary controls before dispatching either protocol era. The remote authorization server also includes the RFC 9207 issuer parameter on authorization-code redirects and advertises issuer-identification support in OAuth metadata. The modern SDK supplies header/body consistency validation, protocol discovery, default private/no-cache hints, and 2026 transport behavior. Do not use user-provided MCP metadata to authorize SSH host access; the existing authenticated identity and host policy remain authoritative.
15
+
16
+ Tool output schemas, structured results and annotations are preserved. New Tasks, Skills, interactive elicitation, and custom cache TTLs are not enabled without a concrete use case; protocol support does not require them.
17
+
18
+ ## Acceptance
19
+
20
+ - `pnpm run check:quality`
21
+ - `pnpm run test:coverage`
22
+ - `pnpm run check:package`
23
+ - `pnpm exec vitest run --project integration test/integration/http-server-boundary.integration.test.ts`
24
+ - `pnpm exec vitest run --project unit test/unit/mcp-v2-transport.test.ts`
25
+ - `pnpm exec vitest run --project integration test/integration/remote-mcp-auth-boundary.integration.test.ts`
26
+
27
+ The standard HTTP boundary tests exercise modern SDK client discovery/tool calls, malformed modern header rejection, existing legacy session lifecycle, bearer/OAuth rejection and opt-in SSE routing. The stdio-era tests exercise both modern and legacy clients against the same tool contract. The remote-agent acceptance test separately covers JWT-scoped modern discovery and calls, a pinned 2026 client, explicit legacy initialization, forged version headers, unauthenticated rejection and cross-tenant tool isolation.
28
+
29
+ Official migration references:
30
+
31
+ - https://ts.sdk.modelcontextprotocol.io/v2/migration/upgrade-to-v2
32
+ - https://ts.sdk.modelcontextprotocol.io/v2/migration/support-2026-07-28
33
+ - https://modelcontextprotocol.io/specification/2026-07-28
@@ -1,57 +1,31 @@
1
1
  # Release Process
2
2
 
3
- ## Versioning
4
-
5
- Semantic Versioning, automated by [release-please](https://github.com/googleapis/release-please)
6
- per [release-please-config.json](../../release-please-config.json) (`node` release
7
- type). Conventional Commit types on `main` (see
8
- [commit-conventions.md](commit-conventions.md)) drive whether the next release is a
9
- patch, minor, or major bump.
10
-
11
- ## How a release happens
12
-
13
- 1. Conventional commits land on `main`.
14
- 2. The `release` job in [.github/workflows/release.yml](../../.github/workflows/release.yml)
15
- runs `googleapis/release-please-action`, which opens or updates a release PR
16
- (updating `CHANGELOG.md`, `.release-please-manifest.json`, and the version fields
17
- release-please is configured to touch — see `extra-files` in
18
- `release-please-config.json`, which includes `mcp.json`, `server.json`, and the MCP
19
- registry record).
20
- 3. Merging that PR triggers `release_created`, which runs the `release-assets` job:
21
- - `pnpm run check` (full quality gate) must pass.
22
- - `pnpm run sbom` generates a CycloneDX SBOM.
23
- - The package is packed with `pnpm pack`, and both the tarball and the SBOM get a
24
- `sha256sum` checksum file.
25
- - `actions/attest-build-provenance` runs twice — once for the package, once for the
26
- SBOM — producing verifiable build provenance attestations.
27
- - All artifacts (tarball, SBOM, checksums) are attached to the GitHub Release.
28
- - npm publish only happens if the repository variable `AUTO_RELEASE_PUBLISH` is
29
- `"true"`; otherwise the step is a documented no-op ("npm publishing is disabled by
30
- AUTO_RELEASE_PUBLISH").
31
-
32
- ## Verifying a release artifact
33
-
34
- ```bash
35
- sha256sum -c ssh-mcp-pro-<version>.tgz.sha256
36
- ```
37
-
38
- For provenance, use [GitHub CLI attestation verification](https://cli.github.com/manual/gh_attestation_verify):
39
-
40
- ```bash
41
- gh attestation verify ssh-mcp-pro-<version>.tgz --owner oaslananka
42
- ```
43
-
44
- See [docs/security/release-integrity.md](../security/release-integrity.md) for the full
45
- supply-chain rationale.
46
-
47
- ## Current status
48
-
49
- No release has been published yet (repository created 2026-06-28). Release PR #1
50
- (`chore(main): release ssh-mcp-pro 1.2.0`) is open and is the first opportunity to
51
- exercise this pipeline end-to-end — see [ROADMAP.md](../../ROADMAP.md).
52
-
53
- ## Container images
54
-
55
- Published separately by [.github/workflows/docker.yml](../../.github/workflows/docker.yml)
56
- on tagged releases; see [docs/docker.md](../docker.md) for tag policy and digest-pinned
57
- usage.
3
+ ## Prepare a version
4
+
5
+ Release Please v5 prepares Conventional Commit-driven version updates on `main`. A release PR updates `CHANGELOG.md`, package, registry metadata, client readiness metadata and embedded version strings together. Merge a release PR only after the normal protected-branch checks pass.
6
+
7
+ When an unreleased version reaches `main`, the `Release` workflow preflights the **frozen dependency installation, full quality check, dependency freshness, package build, SBOM, checksums and GitHub artifact attestations** before Release Please creates the tag. It then attaches that exact prebuilt package and SBOM to the GitHub Release and dispatches an immutable-tag GHCR build. Ordinary main pushes without a new version do not repeat the heavy preflight.
8
+
9
+ ## One-click npm publication
10
+
11
+ **Actions → Release → Run workflow → main → Run workflow** is the **manual npm publish button**. No extra version input, stage job or automatic npm publish on release PR merge is involved.
12
+
13
+ The `Publish current GitHub Release to npm` job identifies the `package.json` version on `main`, locates its immutable GitHub Release, downloads the already-built `.tgz` and checksum, verifies the tag's source/version, checks SHA-256, package metadata and the GitHub attestation, then calls **`npm publish` directly with GitHub-hosted Actions OIDC**. A version already public on npm is not published twice. After confirming that exact npm version is public, it dispatches the matching MCP Registry publication job. npm Trusted Publisher must authorize `.github/workflows/release.yml` and permit **direct publication**, not stage-only. This is a provider-side prerequisite, not a second GitHub workflow.
14
+
15
+ GitHub does not override npm account/package security settings. If the npm publisher is configured for stage-only access or another mandatory owner restriction, the direct publish job fails clearly instead of silently staging or bypassing security. Avoid publishing historical versions to work around an npm account restriction; repair the publisher configuration through authorized account settings.
16
+
17
+ ## GHCR and MCP Registry
18
+
19
+ The release workflow triggers `.github/workflows/docker.yml` with the immutable `ssh-mcp-pro-vX.Y.Z` tag. GHCR must grant this repository's GitHub Actions **Write** access to the existing `ghcr.io/oaslananka/ssh-mcp-pro` package. Package access is managed through **GitHub Packages → Package settings → Manage Actions access**. Docker publishing verifies the release tag and package version before pushing both platform tags.
20
+
21
+ The MCP Registry job requires an existing GitHub Release and the *same publicly visible npm version*. It skips versions already registered and uses GitHub OIDC. There is no daily staged-publication reconciliation job. The manual npm publish workflow dispatches the MCP Registry publication only after npm confirms the version is public.
22
+
23
+ ## Verify and troubleshoot
24
+
25
+ - `gh release view ssh-mcp-pro-vX.Y.Z --json assets` — the prepared GitHub Release.
26
+ - `gh run list --workflow release.yml` — release preparation and manual npm publication status.
27
+ - `npm view ssh-mcp-pro@X.Y.Z version` — independently verify actual npm publication.
28
+ - `gh run list --workflow docker.yml` and `gh api users/oaslananka/packages/container/ssh-mcp-pro` — GHCR status.
29
+ - `gh run list --workflow publish-mcp-registry.yml` — MCP Registry publication.
30
+
31
+ Do not confuse a successful GitHub Release (or npm production environment deployment event) with a successful public npm/GHCR publication. Check the actual registry records before announcing an ecosystem release.
@@ -0,0 +1,34 @@
1
+ # Doppler secrets for hosted SSH MCP Pro
2
+
3
+ Hosted deployments use **Coolify's native Doppler secret-manager integration**. The app must not require a Doppler CLI process, an extra credential in the container, or a GitHub Actions `DOPPLER_TOKEN` merely to start.
4
+
5
+ ## Configure once
6
+
7
+ 1. In Coolify, open **Keys & Tokens → Integration Tokens** and configure a Doppler token with access only to the intended project/config. Prefer a service token scoped to one environment.
8
+ 2. Open the SSH MCP Pro application and select **Environment Variables → Secret manager**. Attach the existing Doppler integration token. If the token does not already fix a project and config, enter the correct project and config.
9
+ 3. Add the following runtime environment variable **references** in Coolify. The values are placeholders resolved by Coolify at deployment; the provider secrets themselves must not be copied into GitHub or the image.
10
+
11
+ ```dotenv
12
+ GITHUB_CLIENT_ID={{vault.GITHUB_CLIENT_ID}}
13
+ GITHUB_CLIENT_SECRET={{vault.GITHUB_CLIENT_SECRET}}
14
+ GOOGLE_CLIENT_ID={{vault.GOOGLE_CLIENT_ID}}
15
+ GOOGLE_CLIENT_SECRET={{vault.GOOGLE_CLIENT_SECRET}}
16
+ ```
17
+
18
+ 4. Keep non-secret settings such as `PUBLIC_BASE_URL`, `MCP_RESOURCE_URL`, callback URLs and port configuration as normal Coolify environment variables. For the SQLite single-instance deployment, use `DATABASE_URL=file:/app/data/sshautomator.db` and persist **/app/data** for the database and both signing-key files.
19
+ 5. Keep `AUTH_ALLOW_ALL_USERS=false` until real multi-user isolation and OAuth acceptance tests pass. Configure account allowlists intentionally, without embedding personal accounts in public documentation.
20
+
21
+ Coolify resolves `{{vault.KEY}}` references at startup or deployment and does not store the resolved provider values in its application configuration. A missing provider key should block deployment instead of falling back to an anonymous or insecure mode.
22
+
23
+ ## Operations
24
+
25
+ - Rotate or update values in Doppler, then restart the application for runtime-only secrets or redeploy when build-time values changed.
26
+ - Verify both GitHub and Google callback routes, OAuth issuer/audience/nonce validation, authorization decisions and device enrollment before public launch.
27
+ - Protect the persistent SQLite data and signing keys with an independently recoverable backup. Keep only the production replica and a verified rollback image.
28
+ - Never expose a Doppler service token, Google/GitHub client secret, access token, callback code, or full environment dump in logs or issue reports.
29
+
30
+ ## Local development
31
+
32
+ Local work can use the existing `doppler run -- pnpm run start:http` workflow, or a local non-committed `.env` file. The local bootstrap script is optional and does not modify the Coolify integration.
33
+
34
+ See [Coolify deployment](coolify.md) for build and data paths and [Coolify's secret-manager documentation](https://coolify.io/docs/integrations/security/using-secret-managers) for the current integration UI.
@@ -13,7 +13,7 @@ LTS line). This is expected, not an oversight.
13
13
 
14
14
  ## Package manager
15
15
 
16
- pnpm `11.28.5`, enforced via `packageManager` in `package.json` and `engine-strict=true`.
16
+ pnpm `11.28.9`, enforced via `packageManager` in `package.json` and `engine-strict=true`.
17
17
  npm/yarn are not supported installation paths for *developing* this repo (consumers
18
18
  installing the published package via npm/npx are unaffected — see
19
19
  [README.md#installation](../../README.md#installation)).
@@ -21,6 +21,23 @@ Use this checklist before exposing `ssh-mcp-pro` through a public Streamable HTT
21
21
 
22
22
  ## OAuth and token verification
23
23
 
24
+ The remote control plane requires explicit browser confirmation before redirecting
25
+ users to GitHub OAuth. `/oauth/authorize` shows the client destination and scopes;
26
+ a same-browser, short-lived HttpOnly/SameSite transaction cookie is required by
27
+ `POST /oauth/approve` and the GitHub callback. Real HTTPS deployments add `Secure`.
28
+ Clients must keep PKCE and exact registered redirect URI matching. Public dynamic
29
+ client registrations are limited to 20 per TCP peer per five minutes per process,
30
+ with the existing global database cap retained. Deployments behind shared proxies
31
+ should also enforce edge rate limits and monitor registration exhaustion.
32
+
33
+ Remote REST endpoints enforce OAuth token capabilities independently: agent list
34
+ and details require `agents:read`; audit history requires `agents:admin`.
35
+
36
+ Remote agent file writes use verified same-directory temporary files and atomic
37
+ replacement so an interrupted write does not truncate an existing target. Renaming
38
+ requires write permission on the containing directory, in addition to file access.
39
+
40
+
24
41
  - Prefer OAuth mode for public endpoints.
25
42
  - Configure `SSH_MCP_OAUTH_ISSUER`, `SSH_MCP_OAUTH_JWKS_URL`, and either `SSH_MCP_OAUTH_AUDIENCE` or `SSH_MCP_OAUTH_RESOURCE` explicitly.
26
43
  - Use `SSH_MCP_OAUTH_ALLOWED_ALGORITHMS` to pin accepted JWT algorithms when your authorization server has a stable signing policy.
@@ -4,12 +4,8 @@ Dependency audit exceptions are a last resort. They must be scoped to a specific
4
4
 
5
5
  The canonical workspace, Docker image, and release lockfile must remain free of known moderate-or-higher advisories. `pnpm run audit:packed` separately installs the generated npm tarball as an external consumer and rejects every advisory that is not listed in the exception file. It also rejects expired or stale exceptions.
6
6
 
7
- ## Active exception
7
+ ## Active exceptions
8
8
 
9
- | Advisory | Package path | Scope | Reachability assessment | Owner | Expires |
10
- | --- | --- | --- | --- | --- | --- |
11
- | `GHSA-frvp-7c67-39w9` | `ssh-mcp-pro > @modelcontextprotocol/sdk > @hono/node-server` | Published npm consumer graph | The affected `serve-static` implementation is not imported or invoked by ssh-mcp-pro. HTTP entrypoints use the project's own Node HTTP implementation. | `@oaslananka` | 2026-08-23 |
9
+ **None as of 2026-11-02.** The v2 MCP SDK package migration replaces the legacy v1 SDK graph. The published-consumer audit reports zero accepted time-bounded exceptions; the machine-readable list is empty.
12
10
 
13
- The latest `@modelcontextprotocol/sdk` release still constrains `@hono/node-server` to the vulnerable 1.x major. Local, CI, and container installs use the patched 2.x major through the root workspace override. npm consumers do not inherit dependency-package overrides, so the exception remains visible only for the independently installed tarball.
14
-
15
- Remove the exception immediately when the MCP SDK accepts `@hono/node-server >=2.0.5`, or before introducing any use of the Hono Node adapter or `serve-static`.
11
+ The historical `GHSA-frvp-7c67-39w9` exception for the old v1 SDK's transitive `@hono/node-server` chain is no longer active. The v2 Node adapter resolves the patched `@hono/node-server` 2.x dependency. Future exceptions require an explicit evidence-based review and a machine-readable expiry, not an informal ignore rule.