mcpField
S
Shodan MCP Server

Shodan MCP Server

ローカル
github.com/X3r0K開発ツール283 週間前に更新

Shodan MCP Server について

Shodan MCP Serverは、Shodanのインターネット接続機器や脆弱性のデータをMCP経由で利用できるようにします。機器検索、DNS照会、CVE情報の確認に使えます。

主な機能

  1. 01検索フィルターでShodanを検索
  2. 02ドメインを解決しDNSデータを取得
  3. 03CVEの詳細を取得
  4. 04IPに関連する脆弱性を確認
  5. 05環境変数でAPIキーを管理

活用シーン

  1. 01条件に合う公開機器を検索
  2. 02ドメインのDNSレコードを調査
  3. 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 キー

インストール

  1. リポジトリをクローンします:

    git clone https://github.com/X3r0K/Shodan-MCP-Server-Inspector.git
    cd shodan-mcp-server-Inspector
    
  2. 依存関係をインストールします:

    npm install
    
  3. ルートディレクトリに .env.local ファイルを作成し、Shodan API キーを追加します:

    SHODAN_API_KEY=your_api_key_here
    

使用方法

サーバーの起動
  1. サーバーをビルドします:

    npm run build
    
  2. サーバーを起動します:

    node build/index.js
    
利用可能なツール
  1. 検索ツール

    • クエリ:Shodan の検索構文を使用してデバイスやサービスを検索します
    • 例:log4j country:US city:Atlanta
    • 戻り値:詳細情報を含む、一致したデバイスのリスト
  2. DNS ルックアップツール

    • クエリ:解決するドメイン名
    • 例:example.com
    • 戻り値:DNS レコードおよび関連情報
  3. 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 の使用

image

MCP Inspector を使用すると、サーバーと直接やり取りできます:

  1. MCP Inspector をインストールします:
npm install -g @modelcontextprotocol/inspector
  1. サーバーを指定して Inspector を実行します:
npx @modelcontextprotocol/inspector build/index.js

Inspector では、次の操作を行えるインタラクティブなインターフェースが提供されます:

  • 利用可能なすべてのツールをテストする
  • ツールのドキュメントを表示する
  • サーバーの応答をデバッグする
  • サーバーの状態を監視する

環境変数

  • SHODAN_API_KEY:Shodan API キー(必須)
  • PORT:サーバーのポート(任意。デフォルトは 3000)
  • LOG_LEVEL:ログレベル(任意。デフォルトは 'info')

エラー処理

サーバーは、次のエラーを包括的に処理します:

  • 無効な API キー
  • レート制限
  • ネットワークの問題
  • 無効なクエリ
  • サーバーエラー

セキュリティ上の考慮事項

  1. API キーの保護:

    • API キーをバージョン管理にコミットしないでください
    • 機密データには環境変数を使用してください
    • API キーを定期的にローテーションしてください
  2. レート制限:

    • Shodan の API レート制限を遵守してください
    • クライアント側でレート制限を実装してください
  3. データプライバシー:

    • 応答から機密情報を除外してください
    • 必要に応じてアクセス制御を実装してください

ライセンス

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

謝辞

  • API を提供している Shodan
  • MCP 仕様を策定した Model Context Protocol チーム

コメント

MCP は初めてですか?

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

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