{ "name": "ssh-mcp-pro", "version": "1.2.0", "mcpName": "io.github.oaslananka/ssh-mcp-pro", "description": "Model Context Protocol (MCP) SSH client server for remote automation", "type": "module", "packageManager": "pnpm@11.9.0+sha512.bd682d5d03fe525ef7c9fd6780c6884d1e756ac4c9c9fe00c538782824310dcf90e3ddc4f53835f06dfaebd5085e41855e0bcbb3b60de2ac5bbab89e5036f03b", "main": "dist/index.js", "exports": "./dist/index.js", "types": "dist/index.d.ts", "files": [ "dist", "docs", "!docs/api", "examples", "AGENTS.md", "ARCHITECTURE.md", "SECURITY_DECISIONS.md", "MIGRATION.md", "mcp.json", "server.json", "README.md", "CHANGELOG.md", "LICENSE", "LICENSES/MIT.txt", "SECURITY.md", "SUPPORT.md", "REGISTRY_SUBMISSION.md", "registry" ], "bin": { "ssh-mcp-pro": "dist/index.js", "ssh-mcp-pro-agent": "dist/agent-bin.js" }, "scripts": { "build": "tsc -p tsconfig.json", "dev": "tsc -p tsconfig.json -w", "typecheck": "tsc --noEmit -p tsconfig.json", "test": "vitest run --project unit --reporter=default --reporter=junit", "test:coverage": "vitest run --coverage --project unit --project integration --project e2e", "test:integration": "vitest run --project integration", "test:integration:windows": "vitest run --project integration test/integration/windows-ssh.integration.test.ts", "test:e2e": "vitest run --project e2e", "test:perf": "vitest run --project perf", "test:perf:baseline": "WRITE_BASELINE=true pnpm run test:perf", "test:mutation": "stryker run", "test:mutation:ci": "stryker run", "lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"vitest.config.ts\" \"vitest.mutation.config.ts\"", "lint:fix": "eslint \"src/**/*.ts\" \"test/**/*.ts\" \"vitest.config.ts\" \"vitest.mutation.config.ts\" --fix", "lint:staged": "node scripts/run-staged-checks.mjs --lint-only", "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\"", "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\"", "format:staged": "node scripts/run-staged-checks.mjs", "prepare": "node scripts/setup-git-hooks.mjs", "prepack": "pnpm run build && pnpm run sync-version -- --check && pnpm run validate:mcp-metadata && pnpm run validate:chatgpt-app && pnpm run validate:claude-connector", "prepublishOnly": "pnpm run check", "docker:ssh-fixture:up": "node scripts/docker-ssh-fixture.mjs up", "docker:ssh-fixture:verify": "node scripts/docker-ssh-fixture.mjs verify", "docker:ssh-fixture:diagnostics": "node scripts/docker-ssh-fixture.mjs diagnostics", "docker:ssh-fixture:down": "node scripts/docker-ssh-fixture.mjs down", "check:fixture-results": "node scripts/check-fixture-test-results.mjs", "e2e:docker": "node scripts/docker-ssh-fixture.mjs run e2e", "integration:docker": "node scripts/docker-ssh-fixture.mjs run integration", "docs": "pnpm exec typedoc --options typedoc.json", "docs:check": "pnpm exec typedoc --options typedoc.json --treatWarningsAsErrors", "start:http": "node dist/render-http.js", "start:chatgpt": "node scripts/start-chatgpt-http.mjs", "sync-version": "node scripts/sync-version.mjs", "validate:mcp-metadata": "node scripts/validate-mcp-metadata.mjs", "validate:mcp-registry": "node scripts/check-mcp-registry-record.mjs", "validate:chatgpt-app": "node scripts/validate-chatgpt-app.mjs", "validate:claude-connector": "node scripts/validate-claude-connector.mjs", "check:doc-language": "node scripts/check-doc-language.mjs", "check:package-scripts": "node scripts/check-package-scripts.mjs", "check:freshness": "node scripts/check-dependency-freshness.mjs --json artifacts/dependency-freshness.json --markdown artifacts/dependency-freshness.md", "check:rulesets": "node scripts/check-rulesets.mjs", "lint:commits": "node scripts/lint-commits.mjs", "lint:pr-title": "node scripts/lint-pr-title.mjs", "test:pr-title-lint": "node scripts/test-pr-title-lint.mjs", "verify:actions-runtime": "node scripts/verify-actions-runtime.mjs", "check:governance": "node scripts/check-governance.mjs", "review:threads": "node scripts/check-review-threads.mjs", "release:state": "node scripts/release-state.mjs", "check:npm-name": "node scripts/check-npm-name.mjs ssh-mcp-pro", "audit": "pnpm audit --audit-level moderate", "audit:packed": "node scripts/check-packed-consumer-audit.mjs", "licenses:check": "node scripts/check-licenses.mjs", "reuse:lint": "reuse lint", "pack:check": "node scripts/check-package-contents.mjs", "pack:install-smoke": "node scripts/check-package-install-smoke.mjs", "pack:lint": "publint --strict=false", "check:knip": "knip -c knip.jsonc --reporter compact || true", "check:circular": "depcruise src --config .dependency-cruiser.mjs || true", "check:module-size": "node scripts/check-module-size.mjs", "check:maintainability": "pnpm run check:module-size && pnpm run check:circular && pnpm run check:knip", "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", "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", "check:push": "pnpm run format:check && pnpm run lint && pnpm run typecheck && pnpm test", "check": "pnpm run check:quality && pnpm run test:coverage && pnpm run check:package", "hook:pre-commit": "pnpm run format:staged", "hook:pre-push": "pnpm run check:push", "release:dry-run": "node scripts/validate-release-please.mjs && node scripts/release-state.mjs --offline --json && pnpm run check:package", "sbom": "node scripts/generate-sbom.mjs" }, "keywords": [ "mcp", "ssh", "copilot", "automation", "remote", "model-context-protocol", "github-copilot", "ssh-client", "devops", "infrastructure" ], "author": "Osman Aslan ", "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/oaslananka/ssh-mcp-pro.git" }, "homepage": "https://github.com/oaslananka/ssh-mcp-pro#readme", "bugs": { "url": "https://github.com/oaslananka/ssh-mcp-pro/issues" }, "publishConfig": { "access": "public" }, "engines": { "node": ">=22.22.2", "pnpm": "^11.5.1" }, "dependencies": { "@modelcontextprotocol/sdk": "^1.29.0", "@opentelemetry/api": "^1.9.1", "@opentelemetry/exporter-trace-otlp-http": "^0.221.0", "@opentelemetry/resources": "^2.10.0", "@opentelemetry/sdk-node": "^0.221.0", "@opentelemetry/semantic-conventions": "^1.43.0", "jose": "6.2.3", "node-ssh": "^13.2.1", "ws": "^8.21.1", "zod": "^4.4.3" }, "devDependencies": { "@stryker-mutator/core": "9.6.1", "@stryker-mutator/typescript-checker": "9.6.1", "@stryker-mutator/vitest-runner": "9.6.1", "@types/node": "^24.13.1", "@types/ssh2": "^1.15.5", "@types/ws": "^8.18.1", "@typescript-eslint/eslint-plugin": "^8.62.0", "@typescript-eslint/parser": "^8.62.0", "@vitest/coverage-v8": "^4.1.9", "ajv": "^8.20.0", "autocannon": "^7.15.0", "dependency-cruiser": "^17.4.3", "eslint": "^10.5.0", "fast-check": "^4.8.0", "knip": "^6.18.0", "prettier": "^3.8.4", "publint": "^0.3.16", "typedoc": "0.28.20", "typescript": "^6.0.3", "vite": "^7.3.5", "vitest": "^4.1.9" } }