mcp-ssh-toolkit-py について
mcp-ssh-toolkit-pyは、SSH経由のコマンド実行とファイル転送を行うMCPサーバーです。パスワードまたは鍵による認証と接続設定に対応し、DevOpsやサーバー管理に利用できます。
主な機能
- 01SSH経由のコマンド実行
- 02SFTPによるファイル転送
- 03パスワード、鍵、SSH agent認証
- 04ポートとタイムアウトの設定
活用シーン
- 01MCPクライアントからのリモートスクリプト実行
- 02チャット画面からのサーバー管理
- 03LLMを使ったDevOpsタスクの自動化
MCP 対応
MCPクライアント向けに、リモートSSHコマンドを実行する`ssh_execute_command`ツールを提供します。SFTPによるファイルのアップロードとダウンロードにも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-ssh-toolkit-py
python-sdk と paramiko で構築された、安全な SSH 自動化のための軽量な Model Context Protocol(MCP)サーバーです。
目次
概要 🚀
mcp-ssh-toolkit-py は、Model Context Protocol を介した安全な SSH コマンド実行のための強力な MCP サーバーです。
🔹 主な機能:
- SSH を介してリモートサーバー上で任意のコマンドを実行
- SFTP を介したファイルのアップロード/ダウンロード
- Claude/Cline やその他の MCP クライアントとの連携
- パスワード認証と SSH キー認証に対応
- 接続パラメーター(タイムアウト、ポート)を設定可能
🔹 ユースケース:
- LLM を利用した DevOps 自動化
- チャットインターフェースによるサーバー管理
- 安全なリモートスクリプト実行
- MCP エコシステムにおける SSH 連携
使用例:
# Through MCP client
response = mcp.tool("ssh_execute_command", {
"host": "example.com",
"username": "user",
"command": "docker ps"
})
機能 ✨
コア機能
- 🛡️ MCP を介した安全な SSH コマンド実行
- 📁 SFTP 操作(ファイルのアップロード/ダウンロード)
- 🔑 複数の認証方式:
- ユーザー名/パスワード
- SSH キー(RSA)
- SSH エージェント
連携
- 🤖 Claude/Cline と完全互換
- 🐳 すぐに使える Docker イメージ
- 📦 Pip パッケージのインストール
セキュリティ
- 🔒 暗号化された接続
- ⏱ タイムアウトを設定可能
- 🚫 認証情報を保存しない
インストール 📦
Docker(推奨)
- リポジトリをクローンします:
git clone https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git
cd mcp-ssh-toolkit-py
- Docker イメージをビルドします:
docker build -t mcp-ssh-toolkit-py .
- (任意)Docker レジストリにプッシュします:
docker tag mcp-ssh-toolkit-py yourusername/mcp-ssh-toolkit-py
docker push yourusername/mcp-ssh-toolkit-py
Pip によるインストール
GitHub から直接インストールします:
pip install git+https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git
インストール後にサーバーを起動します:
python -m mcp_ssh_toolkit
開発環境のセットアップ
開発用には、次のコマンドでインストールします:
git clone https://github.com/VitalyMalakanov/mcp-ssh-toolkit-py.git
cd mcp-ssh-toolkit-py
pip install -e .
クイックスタート
Docker で実行
docker run --rm -i mcp-ssh-toolkit-py
MCP 連携
MCP 設定(例:cline_mcp_settings.json)に追加します:
"mcp-ssh-toolkit-py": {
"command": "docker",
"args": ["run", "--rm", "-i", "mcp-ssh-toolkit-py"],
"env": {}
}
使い方
ツール:ssh_execute_command
説明:
SSH を介してリモートサーバー上でコマンドを実行します。
入力パラメーター:
host(文字列、必須):SSH サーバーのアドレスusername(文字列、必須):SSH ユーザー名password(文字列、任意):SSH パスワードprivateKey(文字列、任意):SSH 秘密鍵(PEM)へのパスcommand(文字列、必須):実行するコマンドport(整数、任意、デフォルト 22):SSH ポートtimeout(整数、任意、デフォルト 20):接続タイムアウト(秒)
出力:
stdout:コマンドの出力stderr:エラー出力exit_code:終了コード
呼び出し例:
{
"host": "example.com",
"username": "user",
"password": "secret",
"command": "uname -a"
}
開発
- Python 3.8+
- python-sdk
- paramiko
依存関係をローカルにインストールします:
pip install -r requirements.txt
ローカルで実行します:
python main.py
セキュリティ
- SSH 認証情報は保存も記録もされません。
- 認証には、必ず強力なパスワードまたは SSH キーを使用してください。
- MCP サーバーを信頼できないネットワークに公開しないでください。
- paramiko のセキュリティに関するベストプラクティスを確認してください。
- セキュリティ上の脆弱性を発見した場合は、GitHub Issues から報告するか、メンテナーに非公開で連絡してください。
ライセンス
MIT ライセンスです。詳細は LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。