mcpField
N
Nmap MCP Server

Nmap MCP Server

ローカル
github.com/imjdlセキュリティ1979 週間前に更新

Nmap MCP Server について

nmap によるネットワークスキャンへのアクセスを提供する MCP サーバーです。スキャンの実行、結果の保存と取得、プロンプトによる分析に対応しています。認可されたネットワークを検査するセキュリティ担当者を対象としています。

主な機能

  1. 01任意のターゲットとオプションでの nmap スキャン実行
  2. 02スキャン結果の保存と取得
  3. 03プロンプトによるスキャン結果の分析
  4. 04スキャン結果のリソース提供

活用シーン

  1. 01認可された IP アドレス範囲でのサービスバージョン検出
  2. 02AI アシスタントによる過去のスキャン記録の確認
  3. 03セキュリティ、サービス、概要の観点でのスキャン結果分析

MCP 対応

このプロジェクトは、run-nmap-scan、get-scan-details、list-all-scans ツール、analyze-scan プロンプト、nmap://scan/{scan_id} リソースを MCP クライアントに公開する MCP サーバーです。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Nmap MCP サーバー

これは、nmap のネットワークスキャン機能を利用できる Model Control Protocol(MCP)サーバーです。

機能

  • 指定したターゲットに対して、オプションをカスタマイズして nmap スキャンを実行します
  • スキャン結果を保存、取得します
  • AI プロンプトを使用してスキャン結果を分析します

インストール

必要条件:

  • Python 3.10+
  • python-libnmap
  • nmap(システムにインストール済みであること)
pip install python-libnmap

nmap がシステムにインストールされていることを確認してください:

# On Debian/Ubuntu
sudo apt-get install nmap

# On Fedora/CentOS
sudo dnf install nmap

使用方法

サーバーの実行

ソースコードからサーバーを直接実行するには:

python -m src.nmap_mcp

パッケージをインストールしてコマンドとして実行するには:

pip install -e .
nmap-mcp
利用可能なツール
  1. run-nmap-scan

    • 指定したターゲットに対して nmap スキャンを実行します
    • パラメーター:
      • target:ターゲットのホストまたはネットワーク(例:192.168.1.1 または 192.168.1.0/24)
      • options:Nmap オプション(例:-sV -p 1-1000)
  2. get-scan-details

    • 特定のスキャンの詳細情報を取得します
    • パラメーター:
      • scan_id:取得するスキャンの ID
  3. list-all-scans

    • 利用可能なすべてのスキャン結果を一覧表示します
    • パラメーターは不要です
利用可能なプロンプト
  1. analyze-scan
    • nmap のスキャン結果を分析します
    • パラメーター:
      • scan_id:分析するスキャンの ID
      • focus:分析対象(security/services/overview)
リソース

スキャン結果は、nmap://scan/{scan_id} URI スキームのリソースとして利用できます。

ワークフローの例

  1. スキャンを実行します:

    Call tool: run-nmap-scan
    Parameters: {"target": "192.168.1.0/24", "options": "-sV -p 22,80,443"}
    
  2. スキャンの詳細を取得します:

    Call tool: get-scan-details
    Parameters: {"scan_id": "<scan_id from previous step>"}
    
  3. すべてのスキャンを一覧表示します:

    Call tool: list-all-scans
    
  4. スキャン結果を分析します:

    Get prompt: analyze-scan
    Parameters: {"scan_id": "<scan_id>", "focus": "security"}
    

セキュリティに関する考慮事項

このサーバーは、システム上で nmap コマンドを実行します。所有していないネットワークや、スキャンの許可を得ていないネットワークをスキャンする場合は注意してください。無許可のスキャンは、地域によっては違法となる可能性があります。

トラブルシューティング

nmap が見つからない、または正しく実行されないことに関連するエラーが発生した場合:

  1. nmap がインストールされ、PATH から利用できることを確認してください
  2. ログを確認し、どの nmap 実行ファイルが使用されているか調べてください
  3. サーバーは競合を避けるため、nmap のフルパスを使用しようとします

Docker の使用

MCP サーバーは Docker コンテナーで実行できます:

# Build the Docker image
docker build -t nmap-mcp-server .

# Run the Docker container
docker run -it --rm nmap-mcp-server

Glama MCP ディレクトリとの連携では、Docker コンテナーを使うことで、インストール時の依存関係を気にせず、他のユーザーがこの MCP サーバーを簡単に利用できます。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。