Nmap MCP サーバー
これは、nmap ネットワーク スキャン機能へのアクセスを提供するモデル制御プロトコル (MCP) サーバーです。
特徴
カスタマイズ可能なオプションを使用して、指定したターゲットで nmap スキャンを実行します。
スキャン結果の保存と取得
AIプロンプトを使用してスキャン結果を分析する
Related MCP server: Semgrep MCP Server
インストール
要件:
Python 3.10以上
Python-libnmap
nmap(システムにインストール済み)
システムに nmap がインストールされていることを確認してください。
使用法
サーバーの実行
ソース コードから直接サーバーを実行するには:
パッケージをインストールしてコマンドとして実行するには:
利用可能なツール
nmapスキャンを実行する
指定したターゲットに対して nmap スキャンを実行する
パラメータ:
target: ターゲットホストまたはネットワーク(例:192.168.1.1 または 192.168.1.0/24)options: Nmapオプション(例:-sV -p 1-1000)
スキャンの詳細を取得する
特定のスキャンに関する詳細情報を取得する
パラメータ:
scan_id: 取得するスキャンのID
すべてのスキャンをリストする
利用可能なすべてのスキャン結果を一覧表示する
パラメータは必要ありません
利用可能なプロンプト
分析スキャン
nmapスキャン結果を分析する
パラメータ:
scan_id: 分析するスキャンのIDfocus: 重点分野(セキュリティ/サービス/概要)
リソース
スキャン結果はnmap://scan/{scan_id} URI スキームを持つリソースとして利用できます。
ワークフローの例
スキャンを実行します:
Call tool: run-nmap-scan Parameters: {"target": "192.168.1.0/24", "options": "-sV -p 22,80,443"}スキャンの詳細を取得します:
Call tool: get-scan-details Parameters: {"scan_id": "<scan_id from previous step>"}すべてのスキャンを一覧表示します:
Call tool: list-all-scansスキャン結果を分析します。
Get prompt: analyze-scan Parameters: {"scan_id": "<scan_id>", "focus": "security"}
セキュリティに関する考慮事項
このサーバーは、システム上で nmap コマンドを実行します。所有していないネットワークやスキャン権限のないネットワークをスキャンする場合は、一部の法域では許可されていないスキャンが違法となる可能性があるため、ご注意ください。
トラブルシューティング
nmap が見つからない、または正しく実行されないことに関連するエラーが発生した場合:
nmapがインストールされ、PATHで利用可能であることを確認してください
nmap実行ファイルが使用されているログを確認します
サーバーは衝突を避けるためにnmapへのフルパスを使用しようとします
Dockerの使用
MCP サーバーを Docker コンテナ内で実行できます。
Glama MCP ディレクトリとの統合では、Docker コンテナにより、インストールの依存関係を気にすることなく他のユーザーがこの MCP サーバーを簡単に使用できるようになります。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。