Shodan MCP Server について
Shodan MCP Serverは、Shodanのインターネット接続機器や脆弱性のデータをMCP経由で利用できるようにします。機器検索、DNS照会、CVE情報の確認に使えます。
主な機能
- 01検索フィルターでShodanを検索
- 02ドメインを解決しDNSデータを取得
- 03CVEの詳細を取得
- 04IPに関連する脆弱性を確認
- 05環境変数でAPIキーを管理
活用シーン
- 01条件に合う公開機器を検索
- 02ドメインのDNSレコードを調査
- 03CVEやIPの脆弱性情報を確認
MCP 対応
Shodan検索、DNS照会、脆弱性関連機能をMCPクライアント向けのツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Shodan MCP Server
標準化されたインターフェースを通じて、Shodan のインターネットスキャン機能にアクセスできる Model Context Protocol(MCP)サーバーです。
概要
このサーバーは Model Context Protocol を実装し、Shodan の強力なインターネットスキャンおよび偵察機能を公開します。インターネットに接続されたデバイス、サービス、脆弱性に関する Shodan のデータベースを照会するための標準化されたインターフェースを提供します。
機能
- 検索機能:高度な検索フィルターを使用して Shodan のデータベースを照会します
- DNS ルックアップ:ドメイン名を解決し、詳細な DNS 情報を取得します
- CVE 情報:共通脆弱性識別子(CVE)に関する詳細情報を取得します
- 脆弱性の取得:IP アドレスに関連する脆弱性の詳細情報を取得します
- 標準化されたインターフェース:一貫した通信のために MCP プロトコルを使用します
- 環境変数のサポート:環境変数を通じて API キーを安全に管理します
前提条件
- Node.js(v14 以降)
- npm(v6 以降)
- Shodan API キー
インストール
-
リポジトリをクローンします:
git clone https://github.com/X3r0K/Shodan-MCP-Server-Inspector.git cd shodan-mcp-server-Inspector -
依存関係をインストールします:
npm install -
ルートディレクトリに
.env.localファイルを作成し、Shodan API キーを追加します:SHODAN_API_KEY=your_api_key_here
使用方法
サーバーの起動
-
サーバーをビルドします:
npm run build -
サーバーを起動します:
node build/index.js
利用可能なツール
-
検索ツール
- クエリ:Shodan の検索構文を使用してデバイスやサービスを検索します
- 例:
log4j country:US city:Atlanta - 戻り値:詳細情報を含む、一致したデバイスのリスト
-
DNS ルックアップツール
- クエリ:解決するドメイン名
- 例:
example.com - 戻り値:DNS レコードおよび関連情報
-
CVE 情報ツール
- クエリ:CVE 識別子
- 例:
CVE-2021-44228 - 戻り値:脆弱性に関する詳細情報
クエリの例
// Search for Log4j vulnerable systems in the US
{
"query": "log4j country:US"
}
// DNS lookup for a domain
{
"query": "example.com"
}
// Get CVE information
{
"query": "CVE-2021-44228"
}
MCP Inspector の使用
MCP Inspector を使用すると、サーバーと直接やり取りできます:
- MCP Inspector をインストールします:
npm install -g @modelcontextprotocol/inspector
- サーバーを指定して Inspector を実行します:
npx @modelcontextprotocol/inspector build/index.js
Inspector では、次の操作を行えるインタラクティブなインターフェースが提供されます:
- 利用可能なすべてのツールをテストする
- ツールのドキュメントを表示する
- サーバーの応答をデバッグする
- サーバーの状態を監視する
環境変数
SHODAN_API_KEY:Shodan API キー(必須)PORT:サーバーのポート(任意。デフォルトは 3000)LOG_LEVEL:ログレベル(任意。デフォルトは 'info')
エラー処理
サーバーは、次のエラーを包括的に処理します:
- 無効な API キー
- レート制限
- ネットワークの問題
- 無効なクエリ
- サーバーエラー
セキュリティ上の考慮事項
-
API キーの保護:
- API キーをバージョン管理にコミットしないでください
- 機密データには環境変数を使用してください
- API キーを定期的にローテーションしてください
-
レート制限:
- Shodan の API レート制限を遵守してください
- クライアント側でレート制限を実装してください
-
データプライバシー:
- 応答から機密情報を除外してください
- 必要に応じてアクセス制御を実装してください
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
謝辞
- API を提供している Shodan
- MCP 仕様を策定した Model Context Protocol チーム
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。