SSH MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Manages SSH credentials storage through a SQLite database, enabling persistence of connection details for remote command execution.

SSH MCP サーバー

SSH機能を提供するモデルコンテキストプロトコル(MCP)サーバー実装。このサーバーは、MCPプロトコルを介した安全なリモートアクセスと実行を可能にします。

特徴

  • MCPプロトコルを使用したSSHサーバーの実装
  • データの永続性のためのSQLiteデータベース統合
  • 型安全性と開発エクスペリエンスの向上を実現する TypeScript 実装

前提条件

  • Node.js(v16以上を推奨)
  • npm または yarn パッケージマネージャー
  • 開発のためのTypeScriptの知識

インストール

  1. リポジトリをクローンします。
git clone <repository-url> cd ssh-server
  1. 依存関係をインストールします:
npm install
  1. プロジェクトをビルドします。
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 サポートの開発依存関係

発達

プロジェクトに変更を加えるには:

  1. src/ディレクトリに変更を加えます
  2. プロジェクトを再構築します。
npm run build
  1. 変更をテストするにはサーバーを起動します。
npm start

ライセンス

ISC

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する
  3. 変更をコミットする
  4. ブランチにプッシュする
  5. 新しいプルリクエストを作成する

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

SSH 資格情報を管理および使用する機能を備え、SSH 経由での安全なリモート コマンド実行を可能にするモデル コンテキスト プロトコル サーバーの実装。

  1. Features
    1. Prerequisites
      1. Installation
        1. Usage
          1. Configuration
          2. Tools
          3. Starting the server
        2. Project Structure
          1. Dependencies
            1. Development
              1. License
                1. Contributing
                  ID: miatd78x95