mcpField
S
Ssh Mcp Server

Ssh Mcp Server

ローカル
github.com/NikolaNddTesla開発ツール1122 週間前に更新

Ssh Mcp Server について

Ssh Mcp Server は、SSH 経由でリモートマシンを管理する MCP サーバーです。運用担当者や AI アシスタント向けに、複数サーバーでのコマンド実行と、ファイル内容を AI のコンテキストに含めない SFTP 転送を提供します。

主な機能

  1. 01複数の SSH 接続管理
  2. 02リモートシェルコマンドの実行
  3. 03SFTP によるファイルとディレクトリの転送
  4. 04バックグラウンド転送の進捗確認
  5. 05SOCKS プロキシと踏み台ホストの設定
  6. 06パスワード、鍵、エージェント、OTP 認証

活用シーン

  1. 01ビルド成果物のデプロイとリモートサービスの再起動
  2. 02サーバーの状態やログの確認
  3. 03大容量ファイルの非同期転送
  4. 04プロキシや踏み台経由での内部ホストへの接続

MCP 対応

MCP クライアントに SSH 接続管理、リモートコマンド実行、ファイル操作、プロキシ管理のツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ssh-mcp-server-nikolanddtesla": {
"command": "npx",
"args": [
"-y",
"@nl4ever/sshmcp"
]
}
}
}
起動コマンドnpx -y @nl4ever/sshmcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@nl4ever/sshmcp1.2.1

ツール

21

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

@nl4ever/sshmcp

npm version MCP Registry License: MIT

中文文档

AI にリモートサーバーを管理させましょう。 AI アシスタントに SSH へのフルアクセスを提供する Model Context Protocol(MCP)サーバーです。自然な会話を通じて、コマンドの実行、ファイルの転送、複数サーバーの同時管理ができます。

You:   "Deploy the latest build to production server"
AI:    connects → uploads build → restarts service → verifies status

特長

  • 21 個のツール — 接続、実行、アップロード、ダウンロード、ファイルの書き込みなどができます
  • 接続プール — 各コマンドに server_id を指定して、複数のサーバーを同時に操作できます
  • ゼロトークンのファイル転送 — SFTP のパスベース転送により、ファイルの内容が AI のコンテキストに入ることはありません
  • ディレクトリのアップロード — tar.gz に自動圧縮 → アップロード → リモートで展開(多数の小さなファイルを高速に転送)
  • 非同期転送+進捗状況 — 大容量ファイルをバックグラウンドで転送し、進捗状況をリアルタイムで追跡します
  • クイック接続 — 設定を保存せずに一時接続し、host:port を一時 ID として返します
  • SOCKS4/5 プロキシ — 接続ごとにプロキシを設定できます
  • ジャンプホスト — SSH ProxyJump を使って踏み台/ゲートウェイにアクセスできます
  • 複数の認証方式 — パスワード、秘密鍵、ssh-agent、キーボードインタラクティブ(OTP/2FA)

クイックスタート

グローバルにインストール
npm install -g @nl4ever/sshmcp
Claude Code に追加
claude mcp add sshmcp sshmcp
Claude Desktop に追加

claude_desktop_config.json を編集します。

{
  "mcpServers": {
    "sshmcp": {
      "command": "npx",
      "args": ["-y", "@nl4ever/sshmcp"]
    }
  }
}
Cursor に追加

「Settings → MCP Servers → Add」に進みます。

{
  "sshmcp": {
    "command": "npx",
    "args": ["-y", "@nl4ever/sshmcp"]
  }
}

ツールの概要

接続管理
ツール説明
list_servers設定済みのすべてのサーバーとアクティブな接続を一覧表示します
get_serverサーバー設定の詳細を表示します
add_serverサーバー設定を追加/更新します(パスワード、鍵、エージェント、OTP)
update_serverサーバー設定を変更します(変更したいフィールドのみ指定します)
delete_serverサーバーを削除します
rename_serverサーバー ID の名前を変更します
connect手動で接続します(通常は不要です。ツールが自動的に接続します)
quick_connect一時接続を行い、host:port を ID として返します
disconnect指定したサーバー、またはすべての接続を切断します
test_connection既存の接続に影響を与えずに接続をテストします
コマンド実行
ツール説明
executeリモートサーバーでシェルコマンドを実行します(タイムアウトを設定可能)
ファイル操作
ツール説明
read_fileリモートファイルの内容を読み取ります(行範囲を指定可能)
write_fileリモートファイルにテキストを書き込みます
upload_fileローカルファイルをリモートにアップロードします(非同期モード対応)
upload_directoryディレクトリを自動圧縮 → 転送 → 展開してアップロードします
download_fileリモートファイルをローカルにダウンロードします(非同期モード対応)
download_directoryディレクトリをリモートで圧縮 → 転送 → ローカルで展開してダウンロードします
transfer_status非同期転送の進捗状況(サイズ/速度/ETA)を確認します
プロキシ管理
ツール説明
list_proxiesすべての SOCKS プロキシプリセットを一覧表示します
add_proxySOCKS4/5 プロキシプリセットを追加します
delete_proxyプロキシプリセットを削除します

接続プール:複数サーバーの操作

すべての操作ツールで server_id パラメーターを指定します。接続プールが接続を自動管理するため、手動で接続/切断する必要はありません。

AI: execute(server_id="prod", command="nginx -s reload")         ← auto-connects to prod
AI: execute(server_id="dev", command="tail -f /var/log/app.log") ← auto-connects to dev, prod stays
AI: execute(server_id="prod", command="curl localhost")           ← reuses prod connection

一時サーバーには quick_connect を使用します。host:port が ID として返されます。

AI: quick_connect(host="1.2.3.4", username="root", password="***")
→ "Connected: [email protected]:22, use server_id="1.2.3.4:22""

AI: execute(server_id="1.2.3.4:22", command="df -h")
AI: disconnect(server_id="1.2.3.4:22")

非同期転送(大容量ファイル)

大容量ファイルでは、処理をブロックしないようバックグラウンド転送モードを有効にします。

AI: upload_file(server_id="prod", local_path="big.tar.gz", remote_path="/data/", async_transfer=true)
→ "Background upload started: tf_1"

AI: transfer_status("tf_1")
→ "🔄 Uploading: 638.2 MB / 1.2 GB (53.2%) — 12.4 MB/s, ETA 46s"

AI: transfer_status("tf_1")
→ "✅ Upload complete: 1.2 GB, 98s, 12.3 MB/s"

小さなファイルはデフォルトで同期モードを使用するため、設定は不要です。

接続例

パスワード認証
AI: add_server(server_id="prod", name="Production", host="10.0.0.1", username="deploy", password="***")
AI: execute(server_id="prod", command="systemctl status nginx")
秘密鍵認証
AI: add_server(server_id="aws", name="AWS EC2", host="ec2-xx.compute.amazonaws.com", username="ubuntu", private_key="~/.ssh/id_rsa")
クイック接続(設定を保存しない)
AI: quick_connect(host="192.168.1.100", username="root", password="***")
→ server_id="192.168.1.100:22"

AI: execute(server_id="192.168.1.100:22", command="df -h")
AI: disconnect(server_id="192.168.1.100:22")
SOCKS5 プロキシ経由
AI: add_proxy(proxy_id="tunnel", name="SSH Tunnel", host="127.0.0.1", port=1080, type="5")
AI: add_server(server_id="internal", ..., proxy="tunnel")
ジャンプホスト経由
AI: add_server(server_id="bastion", name="Bastion", host="bastion.example.com", username="admin", private_key="~/.ssh/id_rsa")
AI: add_server(server_id="internal", name="Internal DB", host="10.0.0.5", username="dbadmin", password="***", jump_host="bastion")

設定ファイルの場所

サーバーとプロキシの設定は、次の場所に保存されます。

~/.ssh-mcp/config.json

パスワードは平文で保存されます。本番環境では、秘密鍵認証を推奨します。

要件

  • Node.js >= 18
  • MCP 対応クライアント(Claude Code、Claude Desktop、Cursor など)
  • SSH アクセス可能なリモートサーバー

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。