mcp-shodan

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Requires Node.js v18 or later as a runtime environment for the MCP server.

Shodan MCP サーバー

Shodan APIShodan CVEDBへのクエリを実行するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、IP偵察、DNS操作、脆弱性追跡、デバイス検出など、Shodanのネットワークインテリジェンスおよびセキュリティサービスへの包括的なアクセスを提供します。すべてのツールは、構造化されフォーマットされた出力を提供し、分析と統合を容易にします。

クイックスタート(推奨)

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Shodan Server を自動的にインストールするには:

npx -y @smithery/cli install @burtthecoder/mcp-shodan --client claude

手動でインストールする

  1. npm 経由でサーバーをグローバルにインストールします。
npm install -g @burtthecoder/mcp-shodan
  1. Claude Desktop 構成ファイルに以下を追加します:
{ "mcpServers": { "shodan": { "command": "mcp-shodan", "env": { "SHODAN_API_KEY": "your-shodan-api-key" } } } }

構成ファイルの場所:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  1. Claudeデスクトップを再起動します

代替セットアップ(ソースから)

ソースから実行したい場合、またはコードを変更する必要がある場合:

  1. クローンとビルド:
git clone https://github.com/BurtTheCoder/mcp-shodan.git cd mcp-shodan npm install npm run build
  1. Claude Desktop 構成に追加:
{ "mcpServers": { "shodan": { "command": "node", "args": ["/absolute/path/to/mcp-shodan/build/index.js"], "env": { "SHODAN_API_KEY": "your-shodan-api-key" } } } }

特徴

  • ネットワーク偵察: 開いているポート、サービス、脆弱性など、IP アドレスに関する詳細情報を照会します。
  • DNS操作: ドメインとIPアドレスのDNSの順方向および逆方向の参照
  • 脆弱性インテリジェンス: 詳細な脆弱性情報、CPE検索、製品固有のCVE追跡のためのShodanのCVEDBへのアクセス
  • デバイス検出: 高度なフィルタリングを使用して、Shodan のインターネット接続デバイスのデータベースを検索します。

ツール

1. IP検索ツール

  • 名前: ip_lookup
  • 説明: IP アドレスに関する包括的な情報を取得します。これには、地理位置情報、開いているポート、実行中のサービス、SSL 証明書、ホスト名、およびクラウド プロバイダーの詳細 (利用可能な場合) が含まれます。
  • パラメータ:
    • ip (必須): 検索するIPアドレス
  • 戻り値:
    • IP 情報 (アドレス、組織、ISP、ASN)
    • 場所(国、都市、座標)
    • サービス(ポート、プロトコル、バナー)
    • クラウドプロバイダーの詳細(利用可能な場合)
    • 関連するホスト名とドメイン
    • タグ

2. Shodan検索ツール

  • 名前: shodan_search
  • 説明: Shodanのインターネット接続デバイスのデータベースを検索します
  • パラメータ:
    • query (必須): Shodan検索クエリ
    • max_results (オプション、デフォルト:10):返される結果の数
  • 戻り値:
    • 合計結果を含む検索概要
    • 国別分布統計
    • 詳細なデバイス情報には以下が含まれます:
      • 基本情報(IP、組織、ISP)
      • 位置データ
      • サービス詳細
      • Webサーバー情報
      • 関連するホスト名とドメイン

3. CVE検索ツール

  • 名前: cve_lookup
  • 説明: ShodanのCVEDBから詳細な脆弱性情報を照会します
  • パラメータ:
    • cve (必須): CVE-YYYY-NNNNN 形式の CVE 識別子 (例: CVE-2021-44228)
  • 戻り値:
    • 基本情報(ID、公開日、概要)
    • 重症度スコア:
      • CVSS v2およびv3の重大度レベル
      • EPSSの確率と順位
    • 影響評価:
      • KEVステータス
      • 提案された緩和策
      • ランサムウェアの関連性
    • 影響を受ける製品(CPE)
    • 参考文献

4. DNSルックアップツール

  • 名前: dns_lookup
  • 説明: Shodan の DNS サービスを使用してドメイン名を IP アドレスに解決します
  • パラメータ:
    • hostnames (必須): 解決するホスト名の配列
  • 戻り値:
    • ホスト名をIPにマッピングするDNS解決
    • 合計検索数とクエリされたホスト名の概要

5. 逆DNSルックアップツール

  • 名前: reverse_dns_lookup
  • 説明: 逆DNSルックアップを実行して、IPアドレスに関連付けられたホスト名を見つけます
  • パラメータ:
    • ips (必須): 検索するIPアドレスの配列
  • 戻り値:
    • IPをホスト名にマッピングする逆DNS解決
    • 合計検索と結果の概要

6. CPE検索ツール

  • 名前: cpe_lookup
  • 説明: 製品名で共通プラットフォーム列挙 (CPE) エントリを検索します
  • パラメータ:
    • product (必須): 検索する製品の名前
    • count (オプション、デフォルト:false):trueの場合、一致するCPEの数のみを返します。
    • skip (オプション、デフォルト:0):スキップするCPEの数(ページ区切り用)
    • limit (オプション、デフォルト:1000):返されるCPEの最大数
  • 戻り値:
    • countがtrueの場合: 一致するCPEの合計数
    • count が false の場合: ページ区切りの詳細を含む CPE のリスト

7. 製品ツール別のCVE

  • 名前: cves_by_product
  • 説明: 特定の製品またはCPEに影響を与える脆弱性を検索します
  • パラメータ:
    • cpe23 (オプション): CPE 2.3 識別子 (形式: cpe:2.3:part:vendor:product:version)
    • product (オプション): CVEを検索する製品の名前
    • count (オプション、デフォルト:false):trueの場合、一致するCVEの数のみを返します。
    • is_kev (オプション、デフォルト: false): true の場合、KEV フラグが設定された CVE のみを返します。
    • sort_by_epss (オプション、デフォルト: false): true の場合、CVE を EPSS スコアで並べ替えます。
    • skip (オプション、デフォルト: 0): スキップする CVE の数 (ページ区切り用)
    • limit (オプション、デフォルト: 1000): 返される CVE の最大数
    • start_date (オプション): CVE のフィルタリングの開始日 (形式: YYYY-MM-DDTHH:MM:SS)
    • end_date (オプション): CVE のフィルタリングの終了日 (形式: YYYY-MM-DDTHH:MM:SS)
  • 注記:
    • cpe23 または製品のいずれかを提供する必要がありますが、両方を提供することはできません。
    • 日付フィルタリングはCVEの公開時刻を使用します
  • 戻り値:
    • クエリ情報
    • ページ区切りの詳細を含む結果の概要
    • 詳細な脆弱性情報には以下が含まれます:
      • 基本情報
      • 重症度スコア
      • 影響評価
      • 参考文献

要件

トラブルシューティング

APIキーの問題

API キー関連のエラー (例: 「ステータス コード 401 でリクエストが失敗しました」) が表示される場合:

  1. API キーを確認してください:
    • アカウント設定から有効なShodan APIキーを取得する必要があります
    • キーに操作に必要なクレジット/権限があることを確認する
    • 設定内のキーの前後に余分なスペースや引用符がないか確認してください
    • SHODAN_API_KEY環境変数にキーが正しく設定されていることを確認します。
  2. 一般的なエラーコード:
    • 401 不正: APIキーが無効か認証がありません
    • 402 お支払いが必要です: クエリクレジットが不足しています
    • 429 リクエストが多すぎます: レート制限を超えました
  3. 設定手順: a. ShodanアカウントからAPIキーを取得します b. それを設定ファイルに追加します:
    { "mcpServers": { "shodan": { "command": "mcp-shodan", "env": { "SHODAN_API_KEY": "your-actual-api-key-here" } } } }
    c. 設定ファイルを保存する d. Claude Desktopを再起動する
  4. キーのテスト:
    • まずは簡単なクエリを試してください(例:"google.com" の dns_lookup)
    • Shodanアカウントダッシュボードでクレジットステータスを確認してください
    • curl を使用してキーが直接機能することを確認します。
      curl "https://api.shodan.io/dns/resolve?hostnames=google.com&key=your-api-key"

モジュールの読み込みの問題

モジュールの読み込みエラーが表示される場合:

  1. グローバルインストールの場合: クイックスタートに示されているシンプルな構成を使用します
  2. ソースインストールの場合: Node.js v18以降を使用していることを確認してください

発達

ホットリロードを使用して開発モードで実行するには:

npm run dev

エラー処理

サーバーには、次の包括的なエラー処理が含まれています。

  • 無効なAPIキー
  • レート制限
  • ネットワークエラー
  • 無効な入力パラメータ
  • 無効なCVE形式
  • 無効なCPEルックアップパラメータ
  • 無効な日付形式
  • 相互排他パラメータ検証

バージョン履歴

  • v1.0.12: 逆DNSルックアップを追加し、出力フォーマットを改善しました
  • v1.0.7: 製品別CVE検索機能を追加し、脆弱性ツールの名前をcve_lookupに変更しました。
  • v1.0.6: CVE検索とCPE検索機能を強化するためにCVEDB統合を追加しました
  • v1.0.0: コア機能を備えた初期リリース

貢献

  1. リポジトリをフォークする
  2. 機能ブランチを作成する ( git checkout -b feature/amazing-feature )
  3. 変更をコミットします( git commit -m 'Add amazing feature'
  4. ブランチにプッシュする ( git push origin feature/amazing-feature )
  5. プルリクエストを開く

ライセンス

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

-
security - not tested
A
license - permissive license
-
quality - not tested

Shodan APIおよびShodan CVEDBへのクエリを実行するためのMCPサーバー。このサーバーは、IPアドレス検索、デバイス検索、DNS検索、脆弱性クエリ、CPE検索などのツールを提供します。

  1. Quick Start (Recommended)
    1. Installing via Smithery
    2. Installing Manually
  2. Alternative Setup (From Source)
    1. Features
      1. Tools
        1. 1. IP Lookup Tool
        2. 2. Shodan Search Tool
        3. 3. CVE Lookup Tool
        4. 4. DNS Lookup Tool
        5. 5. Reverse DNS Lookup Tool
        6. 6. CPE Lookup Tool
        7. 7. CVEs by Product Tool
      2. Requirements
        1. Troubleshooting
          1. API Key Issues
          2. Module Loading Issues
        2. Development
          1. Error Handling
            1. Version History
              1. Contributing
                1. License
                  ID: 79uakvikcj