ssh-mcp-pro 1.2.3 → 1.4.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/CHANGELOG.md +71 -0
- package/MIGRATION.md +2 -2
- package/README.md +34 -13
- package/SECURITY_DECISIONS.md +19 -0
- package/dist/agent-bin.js +5 -2
- package/dist/agent-bin.js.map +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +38 -47
- package/dist/cli.js.map +1 -1
- package/dist/config-security-env.d.ts +4 -0
- package/dist/config-security-env.d.ts.map +1 -0
- package/dist/config-security-env.js +64 -0
- package/dist/config-security-env.js.map +1 -0
- package/dist/config-types.d.ts +82 -0
- package/dist/config-types.d.ts.map +1 -0
- package/dist/config-types.js +2 -0
- package/dist/config-types.js.map +1 -0
- package/dist/config.d.ts +3 -82
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -67
- package/dist/config.js.map +1 -1
- package/dist/connector-profile.d.ts +1 -1
- package/dist/connector-profile.d.ts.map +1 -1
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +226 -192
- package/dist/detect.js.map +1 -1
- package/dist/ensure-package-service.d.ts +9 -0
- package/dist/ensure-package-service.d.ts.map +1 -0
- package/dist/ensure-package-service.js +146 -0
- package/dist/ensure-package-service.js.map +1 -0
- package/dist/ensure-pkg.js +4 -4
- package/dist/ensure-pkg.js.map +1 -1
- package/dist/ensure.d.ts.map +1 -1
- package/dist/ensure.js +15 -144
- package/dist/ensure.js.map +1 -1
- package/dist/fs-sftp.js +1 -1
- package/dist/fs-sftp.js.map +1 -1
- package/dist/fs-stat.d.ts +10 -0
- package/dist/fs-stat.d.ts.map +1 -0
- package/dist/fs-stat.js +62 -0
- package/dist/fs-stat.js.map +1 -0
- package/dist/fs-tools.d.ts.map +1 -1
- package/dist/fs-tools.js +6 -58
- package/dist/fs-tools.js.map +1 -1
- package/dist/http-security.d.ts.map +1 -1
- package/dist/http-security.js +6 -6
- package/dist/http-security.js.map +1 -1
- package/dist/http-server-runtime.d.ts.map +1 -1
- package/dist/http-server-runtime.js +41 -7
- package/dist/http-server-runtime.js.map +1 -1
- package/dist/index.js +7 -24
- package/dist/index.js.map +1 -1
- package/dist/mcp-http-web.d.ts +8 -0
- package/dist/mcp-http-web.d.ts.map +1 -0
- package/dist/mcp-http-web.js +35 -0
- package/dist/mcp-http-web.js.map +1 -0
- package/dist/mcp.d.ts +6 -2
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +22 -14
- package/dist/mcp.js.map +1 -1
- package/dist/policy.d.ts +8 -0
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +147 -105
- package/dist/policy.js.map +1 -1
- package/dist/process.d.ts.map +1 -1
- package/dist/process.js +11 -7
- package/dist/process.js.map +1 -1
- package/dist/remote/agent-activity-log.d.ts +26 -0
- package/dist/remote/agent-activity-log.d.ts.map +1 -0
- package/dist/remote/agent-activity-log.js +211 -0
- package/dist/remote/agent-activity-log.js.map +1 -0
- package/dist/remote/agent-cli.d.ts.map +1 -1
- package/dist/remote/agent-cli.js +153 -33
- package/dist/remote/agent-cli.js.map +1 -1
- package/dist/remote/agent-executor.d.ts.map +1 -1
- package/dist/remote/agent-executor.js +22 -10
- package/dist/remote/agent-executor.js.map +1 -1
- package/dist/remote/agent-handler.d.ts +2 -0
- package/dist/remote/agent-handler.d.ts.map +1 -1
- package/dist/remote/agent-handler.js +4 -0
- package/dist/remote/agent-handler.js.map +1 -1
- package/dist/remote/config.d.ts.map +1 -1
- package/dist/remote/config.js +12 -1
- package/dist/remote/config.js.map +1 -1
- package/dist/remote/control-plane.d.ts +12 -0
- package/dist/remote/control-plane.d.ts.map +1 -1
- package/dist/remote/control-plane.js +164 -56
- package/dist/remote/control-plane.js.map +1 -1
- package/dist/remote/crypto.d.ts +9 -4
- package/dist/remote/crypto.d.ts.map +1 -1
- package/dist/remote/crypto.js +41 -9
- package/dist/remote/crypto.js.map +1 -1
- package/dist/remote/http-util.d.ts.map +1 -1
- package/dist/remote/http-util.js +14 -7
- package/dist/remote/http-util.js.map +1 -1
- package/dist/remote/mcp-tools.d.ts +7 -0
- package/dist/remote/mcp-tools.d.ts.map +1 -1
- package/dist/remote/mcp-tools.js +28 -0
- package/dist/remote/mcp-tools.js.map +1 -1
- package/dist/remote/oauth-handler.d.ts +30 -3
- package/dist/remote/oauth-handler.d.ts.map +1 -1
- package/dist/remote/oauth-handler.js +232 -18
- package/dist/remote/oauth-handler.js.map +1 -1
- package/dist/remote/policy.js +2 -2
- package/dist/remote/policy.js.map +1 -1
- package/dist/remote/schemas.d.ts +9 -9
- package/dist/remote/schemas.js +6 -6
- package/dist/remote/schemas.js.map +1 -1
- package/dist/remote/store.d.ts +38 -1
- package/dist/remote/store.d.ts.map +1 -1
- package/dist/remote/store.js +149 -11
- package/dist/remote/store.js.map +1 -1
- package/dist/remote/types.d.ts +14 -0
- package/dist/remote/types.d.ts.map +1 -1
- package/dist/remote/types.js.map +1 -1
- package/dist/remote/web-dashboard-client-config.d.ts +77 -0
- package/dist/remote/web-dashboard-client-config.d.ts.map +1 -0
- package/dist/remote/web-dashboard-client-config.js +81 -0
- package/dist/remote/web-dashboard-client-config.js.map +1 -0
- package/dist/remote/web-dashboard-html.d.ts +2 -0
- package/dist/remote/web-dashboard-html.d.ts.map +1 -0
- package/dist/remote/web-dashboard-html.js +451 -0
- package/dist/remote/web-dashboard-html.js.map +1 -0
- package/dist/remote/web-dashboard-oauth-users.d.ts +4 -0
- package/dist/remote/web-dashboard-oauth-users.d.ts.map +1 -0
- package/dist/remote/web-dashboard-oauth-users.js +78 -0
- package/dist/remote/web-dashboard-oauth-users.js.map +1 -0
- package/dist/remote/web-dashboard-static.d.ts +4 -0
- package/dist/remote/web-dashboard-static.d.ts.map +1 -0
- package/dist/remote/web-dashboard-static.js +19 -0
- package/dist/remote/web-dashboard-static.js.map +1 -0
- package/dist/remote/web-dashboard-styles.d.ts +2 -0
- package/dist/remote/web-dashboard-styles.d.ts.map +1 -0
- package/dist/remote/web-dashboard-styles.js +206 -0
- package/dist/remote/web-dashboard-styles.js.map +1 -0
- package/dist/remote/web-dashboard.d.ts +62 -0
- package/dist/remote/web-dashboard.d.ts.map +1 -0
- package/dist/remote/web-dashboard.js +467 -0
- package/dist/remote/web-dashboard.js.map +1 -0
- package/dist/retry.d.ts.map +1 -1
- package/dist/retry.js +6 -3
- package/dist/retry.js.map +1 -1
- package/dist/safety.d.ts.map +1 -1
- package/dist/safety.js +56 -6
- package/dist/safety.js.map +1 -1
- package/dist/session-auth.js +7 -7
- package/dist/session-auth.js.map +1 -1
- package/dist/session.d.ts +1 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +44 -40
- package/dist/session.js.map +1 -1
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +5 -4
- package/dist/shell.js.map +1 -1
- package/dist/ssh-config.d.ts +2 -2
- package/dist/ssh-config.d.ts.map +1 -1
- package/dist/ssh-config.js +24 -20
- package/dist/ssh-config.js.map +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +9 -2
- package/dist/telemetry.js.map +1 -1
- package/dist/tools/connector.provider.d.ts +1 -1
- package/dist/tools/connector.provider.d.ts.map +1 -1
- package/dist/tools/ensure.provider.d.ts +1 -1
- package/dist/tools/ensure.provider.d.ts.map +1 -1
- package/dist/tools/fs.provider.d.ts +1 -1
- package/dist/tools/fs.provider.d.ts.map +1 -1
- package/dist/tools/metadata.d.ts +1 -1
- package/dist/tools/metadata.d.ts.map +1 -1
- package/dist/tools/output-schemas.d.ts +27 -135
- package/dist/tools/output-schemas.d.ts.map +1 -1
- package/dist/tools/process.provider.d.ts +1 -1
- package/dist/tools/process.provider.d.ts.map +1 -1
- package/dist/tools/registry.d.ts +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +16 -13
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/session.provider.d.ts +1 -1
- package/dist/tools/session.provider.d.ts.map +1 -1
- package/dist/tools/system.provider.d.ts +1 -1
- package/dist/tools/system.provider.d.ts.map +1 -1
- package/dist/tools/transfer.provider.d.ts +1 -1
- package/dist/tools/transfer.provider.d.ts.map +1 -1
- package/dist/tools/tunnel.provider.d.ts +1 -1
- package/dist/tools/tunnel.provider.d.ts.map +1 -1
- package/dist/tools/types.d.ts +1 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/transfer.js +2 -2
- package/dist/transfer.js.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/docs/adding-a-device.md +39 -17
- package/docs/agent-activity-monitor.md +34 -0
- package/docs/coolify.md +29 -0
- package/docs/development/dependency-management.md +1 -1
- package/docs/development/local-setup.md +1 -1
- package/docs/development/mcp-protocol-2026.md +33 -0
- package/docs/docker.md +4 -4
- package/docs/doppler-guide.md +34 -0
- package/docs/openssf-evidence.md +11 -7
- package/docs/openssf-gap-analysis.md +7 -8
- package/docs/reference/cli.md +17 -6
- package/docs/reference/compatibility.md +1 -1
- package/docs/security/dependency-audit-exceptions.md +3 -7
- package/docs/security/hosted-data-inventory.md +81 -0
- package/docs/sonarcloud-analysis.md +9 -0
- package/docs/tutorials/getting-started.md +1 -1
- package/mcp.json +1 -1
- package/package.json +26 -21
- package/registry/ssh-mcp-pro/mcp.json +1 -1
- package/server.json +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ssh-mcp-pro",
|
|
3
|
-
"version": "1.2
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"mcpName": "io.github.oaslananka/ssh-mcp-pro",
|
|
5
5
|
"description": "Model Context Protocol (MCP) SSH client server for remote automation",
|
|
6
6
|
"type": "module",
|
|
@@ -58,22 +58,25 @@
|
|
|
58
58
|
},
|
|
59
59
|
"engines": {
|
|
60
60
|
"node": ">=22.22.2",
|
|
61
|
-
"pnpm": "^11.28.
|
|
61
|
+
"pnpm": "^11.28.10"
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@modelcontextprotocol/
|
|
64
|
+
"@modelcontextprotocol/node": "^2.1.2",
|
|
65
|
+
"@modelcontextprotocol/server": "^2.4.0",
|
|
66
|
+
"@modelcontextprotocol/server-legacy": "^2.4.0",
|
|
65
67
|
"@opentelemetry/api": "^1.9.1",
|
|
66
68
|
"@opentelemetry/exporter-trace-otlp-http": "^0.222.0",
|
|
67
69
|
"@opentelemetry/resources": "^2.11.0",
|
|
68
70
|
"@opentelemetry/sdk-node": "^0.222.0",
|
|
69
71
|
"@opentelemetry/semantic-conventions": "^1.43.0",
|
|
70
72
|
"html-escaper": "3.0.3",
|
|
71
|
-
"jose": "6.2.
|
|
73
|
+
"jose": "6.2.13",
|
|
72
74
|
"node-ssh": "^13.2.1",
|
|
73
75
|
"ws": "^8.21.1",
|
|
74
|
-
"zod": "^4.
|
|
76
|
+
"zod": "^4.6.7"
|
|
75
77
|
},
|
|
76
78
|
"devDependencies": {
|
|
79
|
+
"@modelcontextprotocol/client": "2.4.0",
|
|
77
80
|
"@stryker-mutator/core": "9.6.1",
|
|
78
81
|
"@stryker-mutator/typescript-checker": "9.6.1",
|
|
79
82
|
"@stryker-mutator/vitest-runner": "9.6.1",
|
|
@@ -83,29 +86,29 @@
|
|
|
83
86
|
"@types/ws": "^8.18.2",
|
|
84
87
|
"@typescript-eslint/eslint-plugin": "^8.71.0",
|
|
85
88
|
"@typescript-eslint/parser": "^8.71.0",
|
|
86
|
-
"@vitest/coverage-v8": "^4.1.
|
|
89
|
+
"@vitest/coverage-v8": "^4.1.12",
|
|
87
90
|
"ajv": "^8.20.0",
|
|
88
91
|
"autocannon": "^7.15.0",
|
|
89
92
|
"dependency-cruiser": "^17.4.3",
|
|
90
93
|
"eslint": "^10.12.0",
|
|
91
94
|
"fast-check": "^4.10.2",
|
|
92
|
-
"knip": "^6.
|
|
95
|
+
"knip": "^6.44.1",
|
|
93
96
|
"prettier": "^3.9.9",
|
|
94
97
|
"publint": "^0.3.25",
|
|
95
98
|
"typedoc": "0.28.20",
|
|
96
99
|
"typescript": "^6.0.3",
|
|
97
|
-
"vite": "
|
|
98
|
-
"vitest": "^4.1.
|
|
100
|
+
"vite": "7.3.7",
|
|
101
|
+
"vitest": "^4.1.12"
|
|
99
102
|
},
|
|
100
103
|
"overrides": {
|
|
101
104
|
"brace-expansion": "^5.0.12",
|
|
102
|
-
"fast-uri": "^3.1.
|
|
103
|
-
"ip-address": "^10.7.
|
|
104
|
-
"nanoid": "^3.3.
|
|
105
|
-
"browserslist": "^4.
|
|
105
|
+
"fast-uri": "^3.1.9",
|
|
106
|
+
"ip-address": "^10.7.5",
|
|
107
|
+
"nanoid": "^3.3.20",
|
|
108
|
+
"browserslist": "^4.29.5",
|
|
106
109
|
"@hono/node-server": "^2.1.3",
|
|
107
|
-
"markdown-it": "^14.3.
|
|
108
|
-
"vitest": "^4.1.
|
|
110
|
+
"markdown-it": "^14.3.3",
|
|
111
|
+
"vitest": "^4.1.12"
|
|
109
112
|
},
|
|
110
113
|
"scripts": {
|
|
111
114
|
"build": "tsc -p tsconfig.json",
|
|
@@ -120,11 +123,11 @@
|
|
|
120
123
|
"test:perf:baseline": "WRITE_BASELINE=true pnpm run test:perf",
|
|
121
124
|
"test:mutation": "stryker run",
|
|
122
125
|
"test:mutation:ci": "stryker run",
|
|
123
|
-
"lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"vitest.config.ts\" \"vitest.mutation.config.ts\"",
|
|
124
|
-
"lint:fix": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"vitest.config.ts\" \"vitest.mutation.config.ts\" --fix",
|
|
126
|
+
"lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"vitest.config.ts\" \"vitest.mutation.config.ts\" \"vitest.bench.config.ts\"",
|
|
127
|
+
"lint:fix": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"vitest.config.ts\" \"vitest.mutation.config.ts\" \"vitest.bench.config.ts\" --fix",
|
|
125
128
|
"lint:staged": "node scripts/run-staged-checks.mjs --lint-only",
|
|
126
|
-
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\" \"scripts/**/*.{mjs,cjs}\" \"docs/**/*.md\" \".github/workflows/*.{yml,yaml}\" \"stryker.conf.mjs\" \"vitest.config.ts\" \"vitest.mutation.config.ts\"",
|
|
127
|
-
"format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\" \"scripts/**/*.{mjs,cjs}\" \"docs/**/*.md\" \".github/workflows/*.{yml,yaml}\" \"stryker.conf.mjs\" \"vitest.config.ts\" \"vitest.mutation.config.ts\"",
|
|
129
|
+
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\" \"scripts/**/*.{mjs,cjs}\" \"docs/**/*.md\" \".github/workflows/*.{yml,yaml}\" \"stryker.conf.mjs\" \"vitest.config.ts\" \"vitest.mutation.config.ts\" \"vitest.bench.config.ts\"",
|
|
130
|
+
"format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\" \"scripts/**/*.{mjs,cjs}\" \"docs/**/*.md\" \".github/workflows/*.{yml,yaml}\" \"stryker.conf.mjs\" \"vitest.config.ts\" \"vitest.mutation.config.ts\" \"vitest.bench.config.ts\"",
|
|
128
131
|
"format:staged": "node scripts/run-staged-checks.mjs",
|
|
129
132
|
"docker:ssh-fixture:up": "node scripts/docker-ssh-fixture.mjs up",
|
|
130
133
|
"docker:ssh-fixture:verify": "node scripts/docker-ssh-fixture.mjs verify",
|
|
@@ -142,6 +145,7 @@
|
|
|
142
145
|
"validate:mcp-registry": "node scripts/check-mcp-registry-record.mjs",
|
|
143
146
|
"validate:chatgpt-app": "node scripts/validate-chatgpt-app.mjs",
|
|
144
147
|
"validate:claude-connector": "node scripts/validate-claude-connector.mjs",
|
|
148
|
+
"validate:google-app": "node scripts/validate-google-app.mjs",
|
|
145
149
|
"check:doc-language": "node scripts/check-doc-language.mjs",
|
|
146
150
|
"check:package-scripts": "node scripts/check-package-scripts.mjs",
|
|
147
151
|
"check:freshness": "node scripts/check-dependency-freshness.mjs --json artifacts/dependency-freshness.json --markdown artifacts/dependency-freshness.md",
|
|
@@ -166,12 +170,13 @@
|
|
|
166
170
|
"check:module-size": "node scripts/check-module-size.mjs",
|
|
167
171
|
"check:maintainability": "pnpm run check:module-size && pnpm run check:circular && pnpm run check:knip",
|
|
168
172
|
"check:quality": "pnpm run format:check && pnpm run check:doc-language && pnpm run check:package-scripts && pnpm run check:rulesets && pnpm run verify:actions-runtime && pnpm run lint && pnpm run typecheck && pnpm run audit && pnpm run licenses:check",
|
|
169
|
-
"check:package": "pnpm run build && pnpm run sync-version -- --check && pnpm run validate:mcp-metadata && pnpm run validate:chatgpt-app && pnpm run validate:claude-connector && pnpm run docs:check && pnpm run pack:check && pnpm run pack:install-smoke && pnpm run audit:packed",
|
|
173
|
+
"check:package": "pnpm run build && pnpm run sync-version -- --check && pnpm run validate:mcp-metadata && pnpm run validate:chatgpt-app && pnpm run validate:claude-connector && pnpm run validate:google-app && pnpm run docs:check && pnpm run pack:check && pnpm run pack:install-smoke && pnpm run audit:packed",
|
|
170
174
|
"check:push": "pnpm run format:check && pnpm run lint && pnpm run typecheck && pnpm test",
|
|
171
175
|
"check": "pnpm run check:quality && pnpm run test:coverage && pnpm run check:package",
|
|
172
176
|
"hook:pre-commit": "pnpm run format:staged",
|
|
173
177
|
"hook:pre-push": "pnpm run check:push",
|
|
174
178
|
"release:dry-run": "node scripts/validate-release-please.mjs && node scripts/release-state.mjs --offline --json && pnpm run check:package",
|
|
175
|
-
"sbom": "node scripts/generate-sbom.mjs"
|
|
179
|
+
"sbom": "node scripts/generate-sbom.mjs",
|
|
180
|
+
"bench": "vitest bench --run --config vitest.bench.config.ts"
|
|
176
181
|
}
|
|
177
182
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "ssh-mcp-pro",
|
|
3
3
|
"display_name": "ssh-mcp-pro",
|
|
4
4
|
"description": "Secure MCP SSH automation server with policy controls, resources, prompts, stdio, and HTTP.",
|
|
5
|
-
"version": "1.2
|
|
5
|
+
"version": "1.4.2",
|
|
6
6
|
"author": "Osman Aslan",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"runtime": "node",
|
package/server.json
CHANGED
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
"url": "https://github.com/oaslananka/ssh-mcp-pro",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "1.2
|
|
10
|
+
"version": "1.4.2",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
15
15
|
"identifier": "ssh-mcp-pro",
|
|
16
|
-
"version": "1.2
|
|
16
|
+
"version": "1.4.2",
|
|
17
17
|
"transport": {
|
|
18
18
|
"type": "stdio"
|
|
19
19
|
}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"registryType": "npm",
|
|
23
23
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
24
24
|
"identifier": "ssh-mcp-pro",
|
|
25
|
-
"version": "1.2
|
|
25
|
+
"version": "1.4.2",
|
|
26
26
|
"runtimeHint": "npx",
|
|
27
27
|
"transport": {
|
|
28
28
|
"type": "streamable-http",
|