SSH MCP Server について
SSH MCP Server は、SSH API を通じてネットワーク機器を一元管理するシステムです。ネットワークチーム向けに、機器一覧、コマンド実行、監視、設定確認、レポートを提供します。
主な機能
- 01ネットワーク機器の一覧管理とグループ化
- 02SSH コマンドの実行と定期実行
- 03複数機器でのコマンド並列実行
- 04コマンド出力の解析と比較
- 05設定と状態の変化検出
- 06定期レポートの生成
活用シーン
- 01機器の可用性と状態の監視
- 02時点ごとの機器出力の比較
- 03レポートによる設定変更の確認
MCP 対応
README ではネットワーク管理システムとして説明されていますが、MCP クライアント向けのツール、リソース、その他の MCP 機能は記載されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
SSH MCP Server
SSH MCP(Management Control Plane)Server は、ネットワークデバイスの集中管理システムです。SSH API を活用してネットワークスイッチ上でコマンドを実行し、ネットワークの監視、設定の検証、レポート作成のための高度な機能を提供します。
機能
デバイス管理
- メタデータ(場所、役割、モデル、OS バージョン)を含むネットワークデバイスのインベントリ
- 機能、場所、またはカスタム属性によるデバイスのグループ化
- デバイスのステータス追跡と可用性の監視
コマンド実行
- SSH API を介したデバイス上での show コマンドの実行
- 監視のための定期的なコマンド実行のスケジュール設定
- 複数のデバイスに対するコマンドの同時実行
- 変数置換を使用したコマンドのテンプレート化
データ処理
- コマンド出力を構造化データに解析
- 過去のコマンド出力をデータベースに保存
- デバイス間または時系列で出力を比較
- デバイスの設定や状態の変更を検出
レポート作成
- デバイスインベントリ、コマンド出力、設定変更に関するレポートを生成
- さまざまな出力形式(HTML、JSON、CSV)に対応するカスタムレポートテンプレート
- レポートの定期生成と配布
要件
- Python 3.8+
- PostgreSQL 12+
- Redis(タスクキュー用)
- SSH API Service(デバイスとの通信に使用)
インストール
- リポジトリをクローンします:
git clone https://github.com/your-org/ssh-mcp-server.git
cd ssh-mcp-server
- 仮想環境を作成し、依存関係をインストールします:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
- 環境変数を設定します:
cp .env.example .env
# Edit .env with your configuration settings
- データベースをセットアップします:
# Create PostgreSQL database
createdb mcp_server
# Run Alembic migrations
alembic upgrade head
- サーバーを起動します:
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
設定
アプリケーションは環境変数または .env ファイルで設定できます:
DATABASE_URL:PostgreSQL 接続文字列REDIS_HOSTとREDIS_PORT:Redis 接続情報SSH_API_URL:SSH API サービスの URLSECRET_KEY:JWT 認証用の秘密鍵- 使用可能な設定オプションの一覧は
.env.exampleを参照してください
API ドキュメント
サーバーの実行中は、以下で API ドキュメントを確認できます:
- Swagger UI:http://localhost:8000/api/v1/docs
- ReDoc:http://localhost:8000/api/v1/redoc
開発
テストの実行
pytest
新しいマイグレーションの作成
モデルを変更した後:
alembic revision --autogenerate -m "Description of changes"
alembic upgrade head
アーキテクチャ
アプリケーションは、以下のコンポーネントで構成されるモジュール式アーキテクチャを採用しています:
- API レイヤー:HTTP エンドポイント用の FastAPI ルート
- サービスレイヤー:ビジネスロジックと操作
- データモデル:SQLAlchemy を使用したデータベースモデル
- スキーマ:リクエストとレスポンスの検証に使用する Pydantic モデル
- バックグラウンドタスク:非同期処理用の Celery ワーカー
セキュリティ
- JWT トークンベースの認証
- ロールベースのアクセス制御
- デバイス認証情報の暗号化保存
- すべての通信で HTTPS を使用
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。