{"versions":{"1.0.0":{"name":"@fangjunjie/ssh-mcp-server","version":"1.0.0","description":"基于 SSH 的 MCP 服务器","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.7.0","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.0.0","gitHead":"18c95434a1669aeb4472067056114e130b79901e","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-edWAjG8lfKrwbxQ4YDSv7/RJ4E9EmSyEztqw4BhVf+04xIj728WmJHMRXD4oq11M8WpHgjWp1TIY0duNcsbFBQ==","shasum":"690fb0d1550442781d21c4b8bf01edd5e8a00311","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.0.0.tgz","fileCount":4,"unpackedSize":4425,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDUuUvyxb7AgenOgoqbE9in0gth+Wstra3C1d0lrLjMIQIhAKn/jcCzUKPhDiSOQhgFkzkGRIXjEzlfMlBu8Iel4ssf"}],"size":2464},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.0.0_1744791498733_0.07899609463954071"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-16T08:18:18.946Z","publish_time":1744791498946,"_source_registry_name":"default","contributors":[]},"1.0.1":{"name":"@fangjunjie/ssh-mcp-server","version":"1.0.1","description":"基于 SSH 的 MCP 服务器","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.7.0","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.0.1","gitHead":"5b92fe7b5ecccef3ebadab1a01bd050ce7ed6f8d","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-PaucjBZizTWVyrCBc0NG203WqZE/wPk9Wn2t6QP3L9VLrANYfN32lsUFNG4RQiUDrFITfbUFjQwmh9mKyELfmg==","shasum":"b16a01877a275797de96370b57301430022eb638","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.0.1.tgz","fileCount":4,"unpackedSize":6953,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHq3r6IU04RLcx8SKdiX9IU34wWHELagkN5CvABR21z5AiEA8F8alrHccbxV21MjaDPkVLHKJErBig9OlGMIsAUH4p4="}],"size":3093},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.0.1_1744793353131_0.7415952469826661"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-16T08:49:13.291Z","publish_time":1744793353291,"_source_registry_name":"default","contributors":[]},"1.0.2":{"name":"@fangjunjie/ssh-mcp-server","version":"1.0.2","description":"基于 SSH 的 MCP 服务器","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.7.0","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.0.2","gitHead":"5131d87a7f99038a53a467039e75efd949cd1964","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-qXM1cKRUexVd8lpiMkaU2Uf2Lws/yUUWw22Zk8Z2NTOA3uf5wPmOjP9eBH63oa/pYoya5at26sHJAlWFGUcrPA==","shasum":"170d86baa326aec441403f4a4933b31fdbd76f4d","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.0.2.tgz","fileCount":4,"unpackedSize":11451,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCSqFjRJJWdw16bfYGA43Y05PYMNGr0YaH940qsQtztJAIhAOsL4yY+d27DYiS2o4F3yU8BTwJmXEYCRLjC8k8IZlSL"}],"size":4212},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.0.2_1744794805707_0.053084878895983234"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-16T09:13:25.877Z","publish_time":1744794805877,"_source_registry_name":"default","contributors":[]},"1.0.3":{"name":"@fangjunjie/ssh-mcp-server","version":"1.0.3","description":"基于 SSH 的 MCP 服务器","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.7.0","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.0.3","gitHead":"4a90c8e46f6ddb4398982ae333416fe2b6352b85","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-BbvlH60jqSQztQOEmKJyEf9t7GnevP6Fs025ozqx+jy7G8lUCaKv4NA6ZzyDvplVzrnV+TLuO4hZCTbAMI6Wnw==","shasum":"f0773c9db669a7ed1572fc56eef38f054e8856e4","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.0.3.tgz","fileCount":4,"unpackedSize":13112,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCxm5pr2sqkCiNNB/Ag5tA2z8oqkuTqCXCWvGuWNhay7QIgDDCv+40N2GcesD7Swnv5c7qFTvDauWGoXQdAERDd+b4="}],"size":4636},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.0.3_1744874898513_0.6960183649628067"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-17T07:28:18.747Z","publish_time":1744874898747,"_source_registry_name":"default","contributors":[]},"1.0.4":{"name":"@fangjunjie/ssh-mcp-server","version":"1.0.4","description":"基于 SSH 的 MCP 服务器","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.9.0","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.0.4","gitHead":"d29a3a870874251c45375ab9baf754c0353c6486","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-SNQI0ikN2p8bWdKsfk4Jt/HcbATap6fdgg5bjAoSPRVpRMyP/QOWT9XjtuxYkNJuGRwF/1AsjE+JfbAdYANHmQ==","shasum":"9ea9bb435a7042cf7b3807d8d350a9435dbd0e5d","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.0.4.tgz","fileCount":10,"unpackedSize":15183,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGUZrRB9ET8L/w12kKXcLGgcrD1T8AF/ll6nUf9wUxSHAiEA4XMn1Jd1o7kxxo1V40j5tfq7wYLyycnQvM+tYUedFZ0="}],"size":5164},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.0.4_1744880684710_0.9136969522549667"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-17T09:04:44.863Z","publish_time":1744880684863,"_source_registry_name":"default","contributors":[]},"1.0.5":{"name":"@fangjunjie/ssh-mcp-server","version":"1.0.5","description":"基于 SSH 的 MCP 服务器","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.9.0","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.0.5","gitHead":"cf7a3293a5d2afa3efc1e7d21c1b51787bc654f9","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-tDUiSyQmJotXON512VVCU/PrQQZzaYa8UAGvWdxFRoq5sKIUsZvACEdCxxR2mqtETTePu/gpprFMSHXb3fQtDA==","shasum":"7b8df99d7c1794c7e9f14df94e407ca1cbb5c012","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.0.5.tgz","fileCount":10,"unpackedSize":17244,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDUHC0n4bF9GOvS3m0pZZixcqW7uyccykbtxNTqrL6tmAIhAP2vG7w3qcshW3s2SZpzryVGtKGkfFl7L1Kiwu+6hDbn"}],"size":5536},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.0.5_1744886913136_0.4393469518392521"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-17T10:48:33.343Z","publish_time":1744886913343,"_source_registry_name":"default","contributors":[]},"1.0.6":{"name":"@fangjunjie/ssh-mcp-server","version":"1.0.6","description":"基于 SSH 的 MCP 服务器","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.9.0","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.0.6","gitHead":"a58209897f0c1518e544dedd01e1f9c316a16207","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-kqGrxOwD2RC2lzZoUtUv9/F4M4zSOE4qEaXkAr2gsp6Y/TW4rhfeAvq0DY9Mgsl1ox/Kb9AQ1kine+cL6HnjxA==","shasum":"c8ae64491109b04aaccd7daddcc090c877fa212e","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.0.6.tgz","fileCount":14,"unpackedSize":18249,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD8hdpZz7OXcSZcoS9zodvkTHq3r+KmR3MSlH/NOdapJwIgQacw1S5n9rZA79c9BO7o7FbfLVjY93z7c+Dw1Fcua2U="}],"size":5627},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.0.6_1744958307403_0.17195821140343392"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-18T06:38:27.578Z","publish_time":1744958307578,"_source_registry_name":"default","contributors":[]},"1.0.7":{"name":"@fangjunjie/ssh-mcp-server","version":"1.0.7","description":"基于 SSH 的 MCP 服务器","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.9.0","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.0.7","gitHead":"24f72f8b1740a12cc52dcd1a2e48f5a9e6e782e7","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-TvUMS0zd8uEKPcfjuwYZmcx2n/8GiqQ7lXJ/MGVuVxBcwme86GNwmetbnPtp9tb+657ScqavKX3/Wf/g+xMwtw==","shasum":"05df4558107fe65a1f5fde047f1b9d47786e9acf","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.0.7.tgz","fileCount":16,"unpackedSize":22253,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDQMnG8flF99b6mEhcb+ExGt0WbAixZn2Nrba8TrCrO6QIhAJfstufVMqcrSNGQAx3q+pVj0tVNg6vq6Hb1x8sVkSOp"}],"size":6581},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.0.7_1744962699080_0.15734728184986913"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-18T07:51:39.246Z","publish_time":1744962699246,"_source_registry_name":"default","contributors":[]},"1.0.8":{"name":"@fangjunjie/ssh-mcp-server","version":"1.0.8","description":"基于 SSH 的 MCP 服务器","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.9.0","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.0.8","gitHead":"2a9b70217db4dce102fe2d2f1935595df7d38c07","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-XJ3HcSfAz0V1xezJym4CH6IcYKqPrxtSKW3YXdhu6lUVMug3s7HD7wBwpJWplH4QIlDF+dlWBW/4ZpSJKIoiTQ==","shasum":"0f959c95744a05153154bc567f1b7698d8272d1a","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.0.8.tgz","fileCount":17,"unpackedSize":27950,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAD2ZNbSL31UZ3eJwr+yvXCofccUCqvg2y3tghbqijNiAiEAsDA6xR6Tug7FAqm0Fvgw7oo9taV75VgzGcVV8ZNWe1Y="}],"size":8271},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.0.8_1745893120449_0.8603704726726342"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-29T02:18:40.656Z","publish_time":1745893120656,"_source_registry_name":"default","contributors":[]},"1.1.0":{"name":"@fangjunjie/ssh-mcp-server","version":"1.1.0","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.9.0","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.1.0","gitHead":"2249dde19d4ac0cdbd1e7dd41109e5b70497d38e","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-60Wfgbq2bVa99qnh2fdV1m1ftVU2MN9jLJekOJQBvNYVub+qPd3peFSAe1mV7+vbvljDP6lOHy3tn/MQzoEPVw==","shasum":"70c735be31195aa93674839b3bcfb915a9ac8a98","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.1.0.tgz","fileCount":16,"unpackedSize":23948,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCZ6inazPGdRmgw/sUGFNH01dXVTk91N8zjCz5IqtuXIwIhAICLQkgWCoRZfDYEOZ66gNrmKsScqnmuuMMOmrKhRmQj"}],"size":6748},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.1.0_1745894591778_0.37076687454052615"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-29T02:43:11.941Z","publish_time":1745894591941,"_source_registry_name":"default","contributors":[]},"1.2.0":{"name":"@fangjunjie/ssh-mcp-server","version":"1.2.0","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.9.0","socks":"^2.8.6","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.2.0","gitHead":"e3ea6dfdb3790f9d7ee9d8dec3433113feb1c3ac","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-P8jLSNNEiBR0BtI/Lul7EP8upWRsgeesax2PrkXkBthvc3yNplL2Zc0+8pBgOt5cUduPXamBvd2+WvKEyqAxyA==","shasum":"90024037d498327d9a0f9be5f19bf1a54625ec2d","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.2.0.tgz","fileCount":17,"unpackedSize":33945,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGIXUOAncPUkqklHWMFVmyXeADwkaU223PaUIpFX1B/OAiB6WEMzyw1+o5wqefVhtGpNAJ6yyRoCKzxBaqT3raqzMg=="}],"size":9281},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.2.0_1754967792370_0.9241831477877398"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-12T03:03:12.535Z","publish_time":1754967792535,"_source_registry_name":"default","contributors":[]},"1.2.1":{"name":"@fangjunjie/ssh-mcp-server","version":"1.2.1","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.9.0","socks":"^2.8.6","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.2.1","gitHead":"002284552b57080003d4b926999a2797fe6d7bd1","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-FQEWFXaxRLUU9P1dIqRmuakPEl8rifg36O1Rg2bRRc2u/5YPBh8HAt6UbQ/W8U/WszXP2FFxlo66Mqie6Y4RzA==","shasum":"4c3f4edcbf5cb269a496b346c8d4dd8e7d57a147","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.2.1.tgz","fileCount":17,"unpackedSize":36478,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIC5zh6izUl7AeLGFP3DDimYKAT3J/VqR1UAoGBU/Z1mjAiEA6u2onDF4zXQ/GJCbZ9O+4LGBLX6QmuiPQt4pugAvev4="}],"size":9768},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.2.1_1754980159297_0.39100825206755796"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-12T06:29:19.449Z","publish_time":1754980159449,"_source_registry_name":"default","contributors":[]},"1.2.2":{"name":"@fangjunjie/ssh-mcp-server","version":"1.2.2","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.17.5","socks":"^2.8.6","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.2.2","gitHead":"f4780fc3a8a44c94ca644e2467b835cba6cac41c","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-fijn+f+plQARdWfYJMKfGdDLOGXzellR1mISJqvyB/hUgsncDH53FTd2kv2/ZT/nOEamYyWtSs9JzEGVWwjmXQ==","shasum":"8930f141dcf72944bce560e382a22c5b37e99aff","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.2.2.tgz","fileCount":16,"unpackedSize":35720,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE3jiPkAAFT89Kzf0GVzBUhVwAwK2AoELVNZyYmEt1w+AiAnG5g/TcnO2o1JUagNgeFuuE3hMT4tKx68HoLsHbRHEA=="}],"size":9487},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.2.2_1757470629528_0.3795861243271572"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-10T02:17:09.725Z","publish_time":1757470629725,"_source_registry_name":"default","contributors":[]},"1.2.3":{"name":"@fangjunjie/ssh-mcp-server","version":"1.2.3","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod 755 build/index.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"1.17.5","socks":"^2.8.6","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.2.3","gitHead":"419268a068ad79de1ef5ceffe9418f2cea6d7ebb","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-lvL6nCAXShJeQqkKeyMHMu0dEmq0CCricOFp68aHd6/1h4Y/bEGkoYYJuPiDS2WAO1Ju6gp31XQkm9bHScR9vw==","shasum":"0814aaaa1dfe38dbfef0cd10dc2437074d42f07b","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.2.3.tgz","fileCount":16,"unpackedSize":35719,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHXX9VWkVLK3/F4gRjhI5GVUNBmfcazB5cva53dWgX9QAiAAxVuoIWzDdzE1w2RP3UxSkZRn/MhTKQxWUW3sJqlZ4Q=="}],"size":9487},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.2.3_1757554322412_0.3269678200309265"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-11T01:32:02.660Z","publish_time":1757554322660,"_source_registry_name":"default","contributors":[]},"1.2.4":{"name":"@fangjunjie/ssh-mcp-server","version":"1.2.4","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"node scripts/build.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"1.17.5","socks":"^2.8.6","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.2.4","gitHead":"8a502dc0259326fe065750d16901757aebb1821e","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-RJLqQRim/pev2+D88GmRx6TWwGbC5M0wTyYPFfIP6gNRiBz0IlQFgpwmUgx4/lpinwesidYy1nW+rmpdD3nWSA==","shasum":"42aaa80219292ec96d634c8d1d7c4dbe4020042c","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.2.4.tgz","fileCount":17,"unpackedSize":49379,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCFFeZkCzMHToX8p2u8WOOFJwc+KUAfyI7IzVzuCtNprgIhALPX/1l3LDnuKzd1UFkKY9LDBKCExzIX4FD+Sl/IaHzf"}],"size":12811},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.2.4_1764736074043_0.2737075788327574"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-03T04:27:54.246Z","publish_time":1764736074246,"_source_registry_name":"default","contributors":[]},"1.2.5":{"name":"@fangjunjie/ssh-mcp-server","version":"1.2.5","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"node scripts/build.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"1.17.5","socks":"^2.8.6","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.2.5","gitHead":"213b93d0203d7b33c831808fe8e3f8ee0d4f193a","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-AL6YfBxordx+sqGg7WeT9qimm7r8fudGCazbRAZ6Fwy5aGAEQqICTX41RZKKTwNoJ8jww0TuZ6jO3smN60ro2Q==","shasum":"6c88ed790aabd9fc178c2c89f4ad6eebc4c9ae35","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.2.5.tgz","fileCount":17,"unpackedSize":49931,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHIjYc/REkMTE0AeiLm6uaJhAKFt6zWW9TI+CBaE1oFiAiAxBtJtaCmFXI5fCZcAjM/G3+HQjIdxo7JgZPzRjfRaMw=="}],"size":13184},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.2.5_1767856576006_0.9815302746113583"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-08T07:16:16.174Z","publish_time":1767856576174,"_source_registry_name":"default","contributors":[]},"1.2.6":{"name":"@fangjunjie/ssh-mcp-server","version":"1.2.6","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"node scripts/build.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"1.17.5","socks":"^2.8.6","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.2.6","gitHead":"acebcd6d469fb93ce01714fd0c5db220781340d1","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-QC9+cl7i0cZ8QaP6wqw55Wy7Z+WACA5l/HJNAnH0Z3ws7i0sK+a24Np+Xo8TPR9Hzj2y/rnDen7L/QGCp/y8pw==","shasum":"6f89b7822b6294fb8687bcf4f0bff7229b2c1a5b","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.2.6.tgz","fileCount":17,"unpackedSize":50022,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB0LFG1JUaBgebGSR3ubrwnqX1cPAXRr5U9mXBYbKX6hAiEAj/mpofc8uS1FGTwrO3+pdq9VJ8LjU1qSl2fXA7HvAvU="}],"size":13238},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.2.6_1769151022776_0.8424215796534136"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-23T06:50:22.924Z","publish_time":1769151022924,"_source_registry_name":"default","contributors":[]},"1.2.7":{"name":"@fangjunjie/ssh-mcp-server","version":"1.2.7","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"node scripts/build.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"1.17.5","socks":"^2.8.6","ssh2":"^1.16.0","zod":"^3.24.2"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.2.7","gitHead":"139fe2a01b9c1e6b87caf979befb3f2931c82341","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-JHO5Ka3dfSrO+ISULNGDPTFG9b/N16gaf/3DTdpHk04yi4rVb6fPS61MKWlgQCiSXHryAxhyDre3lczf/D5wDw==","shasum":"428c8a88c403059b469afbb0381c728cc4f64724","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.2.7.tgz","fileCount":17,"unpackedSize":56771,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA6CfFDHUyCZca1A2IH4Df28gdSEfgU+gVmaTGguoMQUAiEAyIwn1ACl2OfmRFrgSy0R0z9xsffbGW8mM2ypT6Forlw="}],"size":14594},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.2.7_1769743323539_0.9595874194982017"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-30T03:22:03.688Z","publish_time":1769743323688,"_source_registry_name":"default","contributors":[]},"1.2.8":{"name":"@fangjunjie/ssh-mcp-server","version":"1.2.8","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"node scripts/build.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.27.0","socks":"^2.8.7","ssh2":"^1.17.0"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.2.8","gitHead":"139fe2a01b9c1e6b87caf979befb3f2931c82341","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-nt1DiXHnly2C6otwITk7dE9A2KPLNmqmFNAw61OaNnOcmmPvC13xyXPMfHAJ2B8PFA+Mpf169dm+9WC+g6xBAw==","shasum":"6f823e7cd72a945725f77270867c6ae586074e59","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.2.8.tgz","fileCount":17,"unpackedSize":57033,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAemiHTtlEkXlw470tmsjHmKAX3DfBbGwr6MpPOtdmEFAiBSjHv392NRK8sUQla6PaL3JcgitkQbIrGgKNMz/pULpA=="}],"size":14629},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.2.8_1771899340177_0.29988655339016246"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-24T02:15:40.316Z","publish_time":1771899340316,"_source_registry_name":"default","contributors":[]},"1.3.0":{"name":"@fangjunjie/ssh-mcp-server","version":"1.3.0","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"node scripts/run-tests.js","test:watch":"node --test --watch test/**/*.test.js","build":"node scripts/build.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.27.0","socks":"^2.8.7","ssh2":"^1.17.0"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.3.0","gitHead":"f882e87212f554a3e966516998e29b16c4be3220","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-/oJlAYF/1OFtbhPZnYzG+LWN3CR7cSfYGMEVMeREWzlYLV7xI7jSKoUq8Bh/kfqsfhR1GwY4uIufHtgVi70HOg==","shasum":"f36349a30fa23f7e5f3e7d73eab8892bb3469463","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.3.0.tgz","fileCount":18,"unpackedSize":67429,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCzC75dONS8gjjuQAbHE0WxCsaWA/O3qmO6YaPFsfcrRgIgHJ6qlWSTdTNb0loyTgYnqrI7wcr3ZqWF8Ri+OL0oG9I="}],"size":17464},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.3.0_1773120974893_0.17553810658790558"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-10T05:36:15.068Z","publish_time":1773120975068,"_source_registry_name":"default","contributors":[]},"1.4.0":{"name":"@fangjunjie/ssh-mcp-server","version":"1.4.0","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"node scripts/run-tests.js","test:watch":"node --test --watch test/**/*.test.js","build":"node scripts/build.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.27.0","socks":"^2.8.7","ssh2":"^1.17.0"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.4.0","gitHead":"759e52edf65267039a84cdff73ef0b35b5a52919","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-vV+bkUl1Ia+4OEWI8ebsdWOed5t2YIZaYNRuX9bu6htMTgOzQD/CpgnH0QqnUqqka81bfb5E3xYLjmFoYRVXqA==","shasum":"c55c7564ec65c79ebbc5cc7ae88dfb3ef6e64608","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.4.0.tgz","fileCount":18,"unpackedSize":68080,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGNY2NoVxEcBASb9krW4yxFI3K6PIQnRiLXizPTFLPW+AiEA+vDqbu68GC1dObx9SV20aUnL20wXU22+HJcxGI0+qTg="}],"size":17619},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.4.0_1773899489591_0.614220291245436"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-19T05:51:29.741Z","publish_time":1773899489741,"_source_registry_name":"default","contributors":[]},"1.5.0":{"name":"@fangjunjie/ssh-mcp-server","version":"1.5.0","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"node scripts/run-tests.js","test:watch":"node --test --watch test/**/*.test.js","build":"node scripts/build.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.27.0","socks":"^2.8.7","ssh2":"^1.17.0"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.5.0","gitHead":"0d981bc3e08380760fb0c4858891a01b0c1cfca6","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-7ZQbUNLgWEbXRw4DoZ3x3RmunaYqMZnm5+eHrFaQIqNAoWCf88IPdY9K9eE6juR22vyR2AA6oVobWVxW+m8w/g==","shasum":"b15ed06a247908264c2cb3db338756aa2cc7b584","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.5.0.tgz","fileCount":18,"unpackedSize":68182,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDLJZHlkp0ylhP0Ag2ANHauvT0zBS1U9b4PWcJUWxwq8gIhAPF+7jA480GHFqF41JYU1vdfbsnG/STgkAqTG4vHMPSm"}],"size":17664},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.5.0_1774838474439_0.04103855307147475"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-30T02:41:14.586Z","publish_time":1774838474586,"_source_registry_name":"default","contributors":[]},"1.6.0":{"name":"@fangjunjie/ssh-mcp-server","version":"1.6.0","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"node scripts/run-tests.js","test:watch":"node --test --watch test/**/*.test.js","build":"node scripts/build.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.27.0","socks":"^2.8.7","ssh2":"^1.17.0","zod":"^4.3.6"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.6.0","gitHead":"52515d140f6777a77a57ab04930bce6bb7a11995","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-XIZk6UsL5RMqzRb94ekENjn/TcZnUdKp8ELv3wnWLjYRJeWRFkZW966xa/9NFiUlMEbEpZ6S8wyhU4TxdbVT+w==","shasum":"12563c1e8e6cc9a336bec5e744d94aad2e71ef27","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.6.0.tgz","fileCount":19,"unpackedSize":75947,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAlxCm4fjTmMJr2scNo3YMoPgDkTEsXQmpeU+ECuC+nXAiEA2iW85M3scTfbfvMlHdeqhOQM4TDJTGEfSP7kPEZrLtw="}],"size":19527},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.6.0_1775113224235_0.6985528702614203"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-04-02T07:00:24.397Z","publish_time":1775113224397,"_source_registry_name":"default","contributors":[]},"1.6.1":{"name":"@fangjunjie/ssh-mcp-server","version":"1.6.1","description":"SSH-based MCP Server (基于 SSH 的 MCP 服务器)","main":"build/index.js","type":"module","bin":{"ssh-mcp-server":"build/index.js"},"scripts":{"test":"node scripts/run-tests.js","test:watch":"node --test --watch test/**/*.test.js","build":"node scripts/build.js","prepublishOnly":"npm run build"},"keywords":["ssh","mcp","server","cli"],"author":{"name":"Junki"},"license":"ISC","dependencies":{"@modelcontextprotocol/sdk":"^1.27.0","socks":"^2.8.7","ssh2":"^1.17.0","zod":"^4.3.6"},"devDependencies":{"@types/node":"^22.13.10","@types/ssh2":"^1.15.5","typescript":"^5.8.2"},"_id":"@fangjunjie/ssh-mcp-server@1.6.1","gitHead":"7ae55e117b61bd8acca7857ccd9ec694e819d073","_nodeVersion":"23.5.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-JIXwxMDFFYNhQpXm1rnm7XkEJLKiw+vWeVt9djYsf14gCjuFb1IqfejP4/hp4tPRpTA3ZIM/E+tzJ+oKhHxDWA==","shasum":"79ba4cce7459aa621280605611283f4f60ca7a91","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@fangjunjie/ssh-mcp-server/-/ssh-mcp-server-1.6.1.tgz","fileCount":19,"unpackedSize":76652,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDCEQ0oVCKtu7piR2hLZjBk+JS00huRohlyuJ7JOgW28wIhAPCwLF4AQba1f/xucCfVZrUd83aZaXVAXWRuWbdN3tiK"}],"size":19644},"_npmUser":{"name":"anonymous","email":"fangjunjievip@hotmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"fangjunjievip@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ssh-mcp-server_1.6.1_1776048065553_0.6195140028010468"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-04-13T02:41:05.717Z","publish_time":1776048065717,"_source_registry_name":"default","contributors":[]}},"dist-tags":{"latest":"1.6.1"},"name":"@fangjunjie/ssh-mcp-server","time":{"created":"2025-04-16T08:18:35.456Z","modified":"2026-04-13T02:41:23.083Z","1.0.0":"2025-04-16T08:18:18.946Z","1.0.1":"2025-04-16T08:49:13.291Z","1.0.2":"2025-04-16T09:13:25.877Z","1.0.3":"2025-04-17T07:28:18.747Z","1.0.4":"2025-04-17T09:04:44.863Z","1.0.5":"2025-04-17T10:48:33.343Z","1.0.6":"2025-04-18T06:38:27.578Z","1.0.7":"2025-04-18T07:51:39.246Z","1.0.8":"2025-04-29T02:18:40.656Z","1.1.0":"2025-04-29T02:43:11.941Z","1.2.0":"2025-08-12T03:03:12.535Z","1.2.1":"2025-08-12T06:29:19.449Z","1.2.2":"2025-09-10T02:17:09.725Z","1.2.3":"2025-09-11T01:32:02.660Z","1.2.4":"2025-12-03T04:27:54.246Z","1.2.5":"2026-01-08T07:16:16.174Z","1.2.6":"2026-01-23T06:50:22.924Z","1.2.7":"2026-01-30T03:22:03.688Z","1.2.8":"2026-02-24T02:15:40.316Z","1.3.0":"2026-03-10T05:36:15.068Z","1.4.0":"2026-03-19T05:51:29.741Z","1.5.0":"2026-03-30T02:41:14.586Z","1.6.0":"2026-04-02T07:00:24.397Z","1.6.1":"2026-04-13T02:41:05.717Z"},"readme":"# 🔐 ssh-mcp-server\n\n![NPM Version](https://img.shields.io/npm/v/%40fangjunjie%2Fssh-mcp-server?label=%40fangjunjie%2Fssh-mcp-server)\n![GitHub forks](https://img.shields.io/github/forks/classfang/ssh-mcp-server)\n![GitHub Repo stars](https://img.shields.io/github/stars/classfang/ssh-mcp-server)\n![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/classfang/ssh-mcp-server)\n![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-closed/classfang/ssh-mcp-server)\n![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-pr/classfang/ssh-mcp-server)\n![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-pr-closed/classfang/ssh-mcp-server)\n\nSSH-based MCP (Model Context Protocol) server that allows remote execution of SSH commands via the MCP protocol.\n\nEnglish Document | [中文文档](README_CN.md)\n\n## 📝 Project Overview\n\nssh-mcp-server is a bridging tool that enables AI assistants and other applications supporting the MCP protocol to execute remote SSH commands through a standardized interface. This allows AI assistants to safely operate remote servers, execute commands, and retrieve results without directly exposing SSH credentials to AI models.\n\nWelcome to join wechat group:\n\n![wx_1.png](images/wx_1.png)\n\n## ✨ Key Features\n\n- **🔒 Secure Connections**: Supports multiple secure SSH connection methods, including password authentication and private key authentication (with passphrase support)\n- **🛡️ Command Security Control**: Precisely control the range of allowed commands through flexible blacklist and whitelist mechanisms to prevent dangerous operations\n- **🔄 Standardized Interface**: Complies with MCP protocol specifications for seamless integration with AI assistants supporting the protocol\n- **📂 File Transfer**: Supports bidirectional file transfers, uploading local files to servers or downloading files from servers\n- **🔑 Credential Isolation**: SSH credentials are managed entirely locally and never exposed to AI models, enhancing security\n- **🚀 Ready to Use**: Can be run directly using NPX without global installation, making it convenient and quick to deploy\n\n## 📦 Open Source Repository\n\nGitHub: [https://github.com/classfang/ssh-mcp-server](https://github.com/classfang/ssh-mcp-server)\n\nNPM: [https://www.npmjs.com/package/@fangjunjie/ssh-mcp-server](https://www.npmjs.com/package/@fangjunjie/ssh-mcp-server)\n\n## 🛠️ Tools List\n\n| Tool | Name | Description |\n|---------|-----------|----------|\n| execute-command | Command Execution Tool | Execute SSH commands on remote servers and get results |\n| upload | File Upload Tool | Upload local files to specified locations on remote servers |\n| download | File Download Tool | Download files from remote servers to local specified locations |\n| list-servers | List Servers Tool | List all available SSH server configurations |\n\n## 📚 Usage\n\n### 🔧 MCP Configuration Examples\n\n> **⚠️ Important**: In MCP configuration files, each command line argument and its value must be separate elements in the `args` array. Do NOT combine them with spaces. For example, use `\"--host\", \"192.168.1.1\"` instead of `\"--host 192.168.1.1\"`.\n\n#### ⚙️ Command Line Options\n\n```text\nOptions:\n  --config-file       JSON configuration file path (recommended for multiple servers)\n  --ssh-config-file   SSH config file path (default: ~/.ssh/config)\n  --ssh               SSH connection configuration (can be JSON string or legacy format)\n  -h, --host          SSH server host address or alias from SSH config\n  -p, --port          SSH server port\n  -u, --username      SSH username\n  -w, --password      SSH password\n  -k, --privateKey    SSH private key file path\n  -P, --passphrase    Private key passphrase (if any)\n  -W, --whitelist     Command whitelist, comma-separated regular expressions\n  -B, --blacklist     Command blacklist, comma-separated regular expressions\n  -s, --socksProxy    SOCKS proxy server address (e.g., socks://user:password@host:port)\n  --allowed-local-paths Additional allowed local paths for upload/download, comma-separated\n  --pty               Allocate pseudo-tty for command execution (default: true)\n  --pre-connect       Pre-connect to all configured SSH servers on startup\n\n```\n\n#### 🔑 Using Password\n\n```json\n{\n  \"mcpServers\": {\n    \"ssh-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@fangjunjie/ssh-mcp-server\",\n        \"--host\", \"192.168.1.1\",\n        \"--port\", \"22\",\n        \"--username\", \"root\",\n        \"--password\", \"pwd123456\"\n      ]\n    }\n  }\n}\n```\n\n#### 🔐 Using Private Key\n\n```json\n{\n  \"mcpServers\": {\n    \"ssh-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@fangjunjie/ssh-mcp-server\",\n        \"--host\", \"192.168.1.1\",\n        \"--port\", \"22\",\n        \"--username\", \"root\",\n        \"--privateKey\", \"~/.ssh/id_rsa\"\n      ]\n    }\n  }\n}\n```\n\n#### 🔏 Using Private Key with Passphrase\n\n```json\n{\n  \"mcpServers\": {\n    \"ssh-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@fangjunjie/ssh-mcp-server\",\n        \"--host\", \"192.168.1.1\",\n        \"--port\", \"22\",\n        \"--username\", \"root\",\n        \"--privateKey\", \"~/.ssh/id_rsa\",\n        \"--passphrase\", \"pwd123456\"\n      ]\n    }\n  }\n}\n```\n\n#### 📋 Using ~/.ssh/config\n\nYou can use host aliases defined in your `~/.ssh/config` file. The server will automatically read connection parameters from the SSH config:\n\n```json\n{\n  \"mcpServers\": {\n    \"ssh-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@fangjunjie/ssh-mcp-server\",\n        \"--host\", \"myserver\"\n      ]\n    }\n  }\n}\n```\n\nAssuming your `~/.ssh/config` contains:\n\n```\nHost myserver\n    HostName 192.168.1.1\n    Port 22\n    User root\n    IdentityFile ~/.ssh/id_rsa\n```\n\nYou can also specify a custom SSH config file path:\n\n```json\n{\n  \"mcpServers\": {\n    \"ssh-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@fangjunjie/ssh-mcp-server\",\n        \"--host\", \"myserver\",\n        \"--ssh-config-file\", \"/path/to/custom/ssh_config\"\n      ]\n    }\n  }\n}\n```\n\n**Note**: Command-line parameters take precedence over SSH config values. For example, if you specify `--port 2222`, it will override the port from SSH config.\n\n#### 🌐 Using SOCKS Proxy\n\n```json\n{\n  \"mcpServers\": {\n    \"ssh-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@fangjunjie/ssh-mcp-server\",\n        \"--host\", \"192.168.1.1\",\n        \"--port\", \"22\",\n        \"--username\", \"root\",\n        \"--password\", \"pwd123456\",\n        \"--socksProxy\", \"socks://username:password@proxy-host:proxy-port\"\n      ]\n    }\n  }\n}\n\n```\n\n#### 📝 Using Command Whitelist and Blacklist\n\nUse the `--whitelist` and `--blacklist` parameters to restrict the range of executable commands. Multiple patterns are separated by commas. Each pattern is a regular expression used to match commands.\n\nExample: Using Command Whitelist\n\n```json\n{\n  \"mcpServers\": {\n    \"ssh-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@fangjunjie/ssh-mcp-server\",\n        \"--host\", \"192.168.1.1\",\n        \"--port\", \"22\",\n        \"--username\", \"root\",\n        \"--password\", \"pwd123456\",\n        \"--whitelist\", \"^ls( .*)?,^cat .*,^df.*\"\n      ]\n    }\n  }\n}\n```\n\nExample: Using Command Blacklist\n\n```json\n{\n  \"mcpServers\": {\n    \"ssh-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@fangjunjie/ssh-mcp-server\",\n        \"--host\", \"192.168.1.1\",\n        \"--port\", \"22\",\n        \"--username\", \"root\",\n        \"--password\", \"pwd123456\",\n        \"--blacklist\", \"^rm .*,^shutdown.*,^reboot.*\"\n      ]\n    }\n  }\n}\n```\n\n> Note: If both whitelist and blacklist are specified, the system will first check whether the command is in the whitelist, and then check whether it is in the blacklist. The command must pass both checks to be executed.\n\n### 🧩 Multi-SSH Connection Example\n\nThere are three ways to configure multiple SSH connections:\n\n#### 📄 Method 1: Using Config File (Recommended)\n\nCreate a JSON configuration file (e.g., `ssh-config.json`):\n\n**Array Format:**\n```json\n[\n  {\n    \"name\": \"dev\",\n    \"host\": \"1.2.3.4\",\n    \"port\": 22,\n    \"username\": \"alice\",\n    \"password\": \"{abc=P100s0}\",\n    \"socksProxy\": \"socks://127.0.0.1:10808\"\n  },\n  {\n    \"name\": \"prod\",\n    \"host\": \"5.6.7.8\",\n    \"port\": 22,\n    \"username\": \"bob\",\n    \"password\": \"yyy\",\n    \"socksProxy\": \"socks://127.0.0.1:10808\"\n  }\n]\n```\n\n**Object Format:**\n```json\n{\n  \"dev\": {\n    \"host\": \"1.2.3.4\",\n    \"port\": 22,\n    \"username\": \"alice\",\n    \"password\": \"{abc=P100s0}\",\n    \"socksProxy\": \"socks://127.0.0.1:10808\"\n  },\n  \"prod\": {\n    \"host\": \"5.6.7.8\",\n    \"port\": 22,\n    \"username\": \"bob\",\n    \"password\": \"yyy\",\n    \"socksProxy\": \"socks://127.0.0.1:10808\"\n  }\n}\n```\n\nThen use the `--config-file` parameter:\n\n```json\n{\n  \"mcpServers\": {\n    \"ssh-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@fangjunjie/ssh-mcp-server\",\n        \"--config-file\", \"ssh-config.json\"\n      ]\n    }\n  }\n}\n```\n\n#### 🔧 Method 2: Using JSON Format with --ssh Parameter\n\nYou can pass JSON-formatted configuration strings directly:\n\n```json\n{\n  \"mcpServers\": {\n    \"ssh-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@fangjunjie/ssh-mcp-server\",\n        \"--ssh\", \"{\\\"name\\\":\\\"dev\\\",\\\"host\\\":\\\"1.2.3.4\\\",\\\"port\\\":22,\\\"username\\\":\\\"alice\\\",\\\"password\\\":\\\"{abc=P100s0}\\\",\\\"socksProxy\\\":\\\"socks://127.0.0.1:10808\\\"}\",\n        \"--ssh\", \"{\\\"name\\\":\\\"prod\\\",\\\"host\\\":\\\"5.6.7.8\\\",\\\"port\\\":22,\\\"username\\\":\\\"bob\\\",\\\"password\\\":\\\"yyy\\\",\\\"socksProxy\\\":\\\"socks://127.0.0.1:10808\\\"}\"\n      ]\n    }\n  }\n}\n```\n\n#### 📝 Method 3: Legacy Comma-Separated Format (Backward Compatible)\n\nFor simple cases without special characters in passwords, you can still use the legacy format:\n\n```bash\nnpx @fangjunjie/ssh-mcp-server \\\n  --ssh \"name=dev,host=1.2.3.4,port=22,user=alice,password=xxx\" \\\n  --ssh \"name=prod,host=5.6.7.8,port=22,user=bob,password=yyy\"\n```\n\n> **⚠️ Note**: The legacy format may have issues with passwords containing special characters like `=`, `,`, `{`, `}`. Use Method 1 or Method 2 for passwords with special characters.\n\nIn MCP tool calls, specify the connection name via the `connectionName` parameter. If omitted, the default connection is used.\n\nExample (execute command on 'prod' connection):\n\n```json\n{\n  \"tool\": \"execute-command\",\n  \"params\": {\n    \"cmdString\": \"ls -al\",\n    \"connectionName\": \"prod\"\n  }\n}\n```\n\nExample (execute command with timeout options):\n\n```json\n{\n  \"tool\": \"execute-command\",\n  \"params\": {\n    \"cmdString\": \"ping -c 10 127.0.0.1\",\n    \"connectionName\": \"prod\",\n    \"timeout\": 5000\n  }\n}\n```\n\n### ⏱️ Command Execution Timeout\n\nThe `execute-command` tool supports timeout options to prevent commands from hanging indefinitely:\n\n- **timeout**: Command execution timeout in milliseconds (optional, default is 30000ms)\n- Error responses include stable `code`, `message`, and `retriable` fields for easier agent-side handling\n\nThis is particularly useful for commands like `ping`, `tail -f`, or other long-running processes that might block execution.\n\n### 🗂️ List All SSH Servers\n\nYou can use the MCP tool `list-servers` to get all available SSH server configurations:\n\nExample call:\n\n```json\n{\n  \"tool\": \"list-servers\",\n  \"params\": {}\n}\n```\n\nExample response:\n\n```json\n[\n  { \"name\": \"dev\", \"host\": \"1.2.3.4\", \"port\": 22, \"username\": \"alice\" },\n  { \"name\": \"prod\", \"host\": \"5.6.7.8\", \"port\": 22, \"username\": \"bob\" }\n]\n```\n\n## 🛡️ Security Considerations\n\nThis server provides powerful capabilities to execute commands and transfer files on remote servers. To ensure it is used securely, please consider the following:\n\n- **Command Whitelisting**: It is *strongly recommended* to use the `--whitelist` option to restrict the set of commands that can be executed. Without a whitelist, any command can be executed on the remote server, which can be a significant security risk.\n- **Private Key Security**: The server reads the SSH private key into memory. Ensure that the machine running the `ssh-mcp-server` is secure. Do not expose the server to untrusted networks.\n- **Denial of Service (DoS)**: The server does not have built-in rate limiting. An attacker could potentially launch a DoS attack by flooding the server with connection requests or large file transfers. It is recommended to run the server behind a firewall or reverse proxy with rate-limiting capabilities.\n- **Path Traversal**: The server has built-in protection against path traversal attacks on the local filesystem. However, it is still important to be mindful of the paths used in `upload` and `download` commands.\n- **Local Transfer Scope**: By default, local file transfers are restricted to the current working directory. Use `--allowed-local-paths` or `allowedLocalPaths` in config only for explicitly trusted directories.\n\n## 🌟 Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=classfang/ssh-mcp-server&type=date&legend=top-left)](https://www.star-history.com/#classfang/ssh-mcp-server&type=date&legend=top-left)","users":{}}