SSH MCP サーバー
SSH機能を提供するモデルコンテキストプロトコル(MCP)サーバー実装。このサーバーは、MCPプロトコルを介した安全なリモートアクセスと実行を可能にします。
特徴
MCPプロトコルを使用したSSHサーバーの実装
データの永続性のためのSQLiteデータベース統合
型安全性と開発エクスペリエンスの向上を実現する TypeScript 実装
Related MCP server: Shell MCP Server
前提条件
Node.js(v16以上を推奨)
npm または yarn パッケージマネージャー
開発のためのTypeScriptの知識
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の SSH サーバーを自動的にインストールするには:
npx -y @smithery/cli install @KinoThe-Kafkaesque/ssh-mcp-server --client claude手動インストール
リポジトリをクローンします。
git clone <repository-url>
cd ssh-server依存関係をインストールします:
npm installプロジェクトをビルドします。
npm run build使用法
構成
サーバーはSSH認証情報を保存するためにSQLiteデータベース( ssh.db )を使用します。データベースファイルはサーバーの起動時に自動的に作成されます。
ツール
サーバーは次のツールを提供します。
ssh_exec
SSH 経由でコマンドを実行します。
入力パラメータ:
host: 接続先のホスト。(必須)command: 実行するコマンド。(必須)username: SSH接続に使用するユーザー名。(必須)privateKeyPath: 秘密鍵ファイルへのパス。(必須)
使用例:
{
"tool_name": "ssh_exec",
"arguments": {
"host": "example.com",
"command": "ls -l",
"username": "user",
"privateKeyPath": "/path/to/private/key"
}
}注意: privateKeyPathは、秘密鍵ファイルへの有効なパスである必要があります。
資格情報の追加
新しい SSH 資格情報を追加します。
入力パラメータ:
name: 資格情報の名前。(必須)host: 接続先のホスト。(必須)username: SSH接続に使用するユーザー名。(必須)privateKeyPath: 秘密鍵ファイルへのパス。(必須)
使用例:
{
"tool_name": "add_credential",
"arguments": {
"name": "my_credential",
"host": "example.com",
"username": "user",
"privateKeyPath": "/path/to/private/key"
}
}注意: privateKeyPathは、秘密鍵ファイルへの有効なパスである必要があります。
資格情報のリスト
保存されているすべての SSH 資格情報を一覧表示します。
入力パラメータ:
なし
使用例:
{
"tool_name": "list_credentials",
"arguments": {}
}資格情報を削除する
保存された SSH 資格情報を削除します。
入力パラメータ:
name: 削除する資格情報の名前。(必須)
使用例:
{
"tool_name": "remove_credential",
"arguments": {
"name": "my_credential"
}
}サーバーの起動
npm startサーバーは設定されたポートで実行を開始します (デフォルト設定はソース コードで変更できます)。
プロジェクト構造
src/- ソースコードディレクトリbuild/- コンパイルされたJavaScript出力node_modules/- プロジェクトの依存関係
依存関係
@modelcontextprotocol/sdk: MCP プロトコルの実装sqlite3: SQLite データベース ドライバーtypescript: TypeScript サポートの開発依存関係
発達
プロジェクトに変更を加えるには:
src/ディレクトリに変更を加えますプロジェクトを再構築します。
npm run build変更をテストするにはサーバーを起動します。
npm startライセンス
ISC
貢献
リポジトリをフォークする
機能ブランチを作成する
変更をコミットする
ブランチにプッシュする
新しいプルリクエストを作成する