Shodan MCP Server について
Shodan MCP Serverは、Shodanの検索とインテリジェンス情報をアプリケーションやMCPクライアントに公開します。IP情報、DNS検索、脆弱性、CVE情報、デバイス検索のツールを備えています。
主な機能
- 01IPホスト情報の取得
- 02DNSによるホスト名の解決
- 03IPに関連する脆弱性の確認
- 04CVE詳細の検索
- 05Shodanデバイスの検索
活用シーン
- 01IPアドレスの情報確認
- 02ドメインからIPアドレスへの解決
- 03ホストに関連する脆弱性の確認
- 04条件に合うデバイスの検索
MCP 対応
Shodan APIのクエリをMCPクライアント向けのツールとして公開します。ホスト情報、DNS検索、脆弱性とCVEの照会、検索に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
shodan-mcp-server
これは、Shodan API へのアクセスを提供する Model Context Protocol(MCP)サーバーです。デバイスや脆弱性などに関する情報を、Shodan にプログラムから問い合わせることができます。
目次
はじめに
shodan-mcp-server は、Model Context Protocol(MCP)を使用して Shodan のインテリジェンスをアプリケーションに簡単に統合する方法を提供します。Shodan にさまざまな種類の情報を問い合わせるための複数のツールを公開します。
機能
ホスト情報:IP アドレスに関する詳細情報を取得します 検索:Shodan の検索構文を使用してデータベースに問い合わせます DNS ルックアップ:ドメイン名を解決します CVE 情報:特定の CVE 脆弱性の詳細を取得します
インストール
-
リポジトリをクローンします:
git clone https://github.com/X3r0K/Shodan-MCP-Server.git cd shodan-mcp-server -
依存関係をインストールします:
npm install -
プロジェクトをビルドします:
npm run build
設定
-
Shodan から Shodan API キーを取得します。
-
MCP 設定ファイル(例:
~/.config/mcp/settings.json)で MCP サーバーを設定します:{ "mcpServers": { "shodan": { "command": "node", "args": ["/path/to/shodan-mcp-server/build/index.js"], "env": { "SHODAN_API_KEY": "<your_shodan_api_key>" }, "disabled": false, "autoApprove": [] } } }<your_shodan_api_key>を実際の Shodan API キーに、/path/to/shodan-mcp-serverを shodan-mcp-server ディレクトリの実際のパスに置き換えてください。
Node.js での使用
@modelcontextprotocol/sdk パッケージを使用して、Node.js で MCP サーバーを利用できます。
-
MCP SDK をインストールします:
npm install @modelcontextprotocol/sdk -
use_mcp_tool関数を使ってツールを呼び出します:import { use_mcp_tool } from '@modelcontextprotocol/sdk'; async function getIpInfo(ip) { const result = await use_mcp_tool('shodan', 'get_ip_info', { ip }); console.log(result); } getIpInfo('8.8.8.8');
API ドキュメント
get_ip_info
特定の IP アドレスに関する情報を取得します。
入力:
{
"ip": "string" // The IP address to query
}
出力:
IP アドレスに関する情報を含む JSON オブジェクトです。
dns_lookup
指定したドメインの DNS ルックアップを実行します。
入力:
{
"hostname": "string" // The hostname to resolve
}
出力:
解決された IP アドレスを含む JSON オブジェクトです。
get_vulnerabilities
特定の IP アドレスに関連する脆弱性を追跡します。
入力:
{
"ip": "string" // The IP address to query for vulnerabilities
}
出力:
IP アドレスに関連する脆弱性の一覧を含む JSON オブジェクトです。
cve_info
特定の CVE ID に関する情報を取得します。
入力:
{
"cve": "string" // The CVE ID to query
}
出力:
CVE ID に関する情報を含む JSON オブジェクトです。
search
クエリに一致するデバイスを Shodan で検索します。
入力:
{
"query": "string" // The search query
}
出力:
クエリに一致するデバイスの一覧を含む JSON オブジェクトです。
プロジェクト構成
shodan-mcp-server/
├── .gitignore
├── package.json
├── README.md
├── tsconfig.json
└── src/
├── index.ts
└── index.mts
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。