Skip to main content
Glama

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デスクトップを再起動します

Related MCP server: cve-search_mcp

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

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

  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ファイルを参照してください。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BurtTheCoder/mcp-shodan'

If you have feedback or need assistance with the MCP directory API, please join our Discord server