MCP SSHサーバー
モデルコンテキストプロトコル(MCP)に対応した強力なSSHサーバー実装。このサーバーは、パスワードとキーベースの認証の両方をサポートし、SSHプロトコルを介した安全なリモートコマンド実行とファイル操作を可能にします。
特徴
✨ 安全なSSH接続管理
🔑 パスワードとキーベースの認証
💻 リモートコマンド実行
📁 ファイル操作(アップロード/ダウンロード)
📊 ファイル転送の進捗状況の追跡
🔐 権限管理
📂 ディレクトリ操作
🚀 一括ファイル転送
📝 詳細なログ
Related MCP server: SSH MCP Server
インストール
パッケージをインストールします。
npm install mcp-sshClaude デスクトップ構成 (
claude_desktop_config.json) に追加します。
{
"mcpServers": {
"ssh": {
"command": "node",
"args": ["%APPDATA%/npm/node_modules/mcp-ssh/dist/server.js"],
"env": {
"SSH_PORT": "8889",
"SSH_LOG_LEVEL": "info"
}
}
}
}
使用法
パスワード認証
$body = @{
id = "test"
host = "example.com"
port = 22
username = "user"
password = "pass123"
} | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:8889/connect" -Method Post -Body $body -ContentType "application/json"キー認証
$body = @{
id = "test"
host = "example.com"
port = 22
username = "user"
privateKey = Get-Content ~/.ssh/id_rsa | Out-String
passphrase = "optional-key-passphrase" # if your key is protected
} | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:8889/connect" -Method Post -Body $body -ContentType "application/json"コマンドを実行する
$execBody = @{
id = "test"
command = "ls -la"
} | ConvertTo-Json
Invoke-RestMethod -Uri "http://localhost:8889/exec" -Method Post -Body $execBody -ContentType "application/json"ファイル操作
# Upload file
$uploadForm = @{
file = Get-Item -Path "localfile.txt"
remotePath = "/remote/path/file.txt"
}
Invoke-RestMethod -Uri "http://localhost:8889/upload/test" -Method Post -Form $uploadForm
# Download file
Invoke-RestMethod -Uri "http://localhost:8889/download/test?remotePath=/remote/path/file.txt" -Method Get -OutFile "downloaded.txt"ディレクトリ操作
# List directory
Invoke-RestMethod -Uri "http://localhost:8889/ls/test?path=/remote/path" -Method Get
# Get connection status
Invoke-RestMethod -Uri "http://localhost:8889/status/test" -Method Get発達
リポジトリをクローンします。
git clone https://github.com/shaike1/mcp-server-ssh.git
cd mcp-server-ssh依存関係をインストールします:
npm install建てる:
npm run buildサーバーを起動します:
npm start環境変数
SSH_PORT: サーバーポート (デフォルト: 8889)SSH_LOG_LEVEL: ログレベル(デフォルト: info)
貢献
リポジトリをフォークする
機能ブランチを作成します(
git checkout -b feature/amazing-feature)変更をコミットします (
git commit -m 'Add some amazing feature')ブランチにプッシュする (
git push origin feature/amazing-feature)プルリクエストを開く
ライセンス
マサチューセッツ工科大学