ZoomEye MCP サーバー
クエリ条件に基づいてネットワーク資産情報を提供するモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、大規模言語モデル(LLM)は、dorksやその他の検索パラメータを使用してZoomEyeにクエリを実行し、ネットワーク資産情報を取得できます。
この MCP サーバーは、Claude Desktop、Cursor、Windsurf、Cline、Continue、Zed などの AI アシスタントや開発環境と統合され、自然言語による対話を通じてインターネットに接続されたデバイス、サービス、脆弱性を検索および分析できるようになります。
特徴
dorksを使用してZoomEyeにネットワーク資産情報を照会する
パフォーマンスを向上させ、API呼び出しを削減するキャッシュメカニズム
失敗したAPIリクエストの自動再試行メカニズム
包括的なエラー処理とログ記録
利用可能なツール
zoomeye_search
- クエリ条件に基づいてネットワーク資産情報を取得します。必須パラメータ:
qbase64
(文字列): ZoomEye検索用のBase64エンコードされたクエリ文字列
オプションパラメータ:
page
(整数): ビューアセットのページ番号。デフォルトは 1pagesize
(整数): ページあたりのレコード数。デフォルトは 10、最大値は 1000fields
(文字列): 返されるフィールド(カンマ区切り)sub_type
(文字列): データ型。v4、v6、web をサポートします。デフォルトは v4 です。facets
(文字列):統計項目。複数ある場合はカンマで区切る。ignore_cache
(boolean): キャッシュを無視するかどうか
使用ガイド
基本的な使い方
サーバーが起動したら、AIアシスタントや開発環境からサーバーとやり取りできるようになります。使い方は以下のとおりです。
上記のインストール方法のいずれかを使用してサーバーを起動します
AIアシスタント(Claude Desktop、Cursor、Windsurf、Cline、Continue、Zedなど)をサーバーを使用するように設定します
自然言語を使用してネットワーク情報を照会する
検索構文ガイド
検索範囲はデバイス (IPv4、IPv6) と Web サイト (ドメイン) をカバーします。
検索文字列を入力すると、システムは、HTTP、SSH、FTP などのさまざまなプロトコルのコンテンツ (HTTP/HTTPS プロトコル ヘッダー、本文、SSL、タイトル、その他のプロトコル バナーなど) を含むキーワードを「グローバル」モードで照合します。
検索文字列は大文字と小文字を区別せず、一致のために分割されます(検索結果ページには「分割」テスト機能があります)。== を使用した検索では、大文字と小文字を区別した厳密な構文による一致が強制されます。
検索文字列には引用符を使用してください(例:"Cisco System" または 'Cisco System')。検索文字列に引用符が含まれている場合は、エスケープ文字を使用してください(例:,"a"b)。検索文字列に括弧が含まれている場合は、エスケープ文字を使用してください(例:portinfo())。
より詳細な検索構文ルールについてはprompts.pyで確認できます。
ZoomEye 検索 API の詳細については、 ZoomEye API v2 ドキュメントを参照してください。
はじめる
前提条件
ZoomEye APIキー
ZoomEyeでアカウントを登録する
アカウント設定からAPIキーを取得します
APIキーはZoomEye APIへのリクエストを認証するために使用されます
Python環境
Python 3.10以上が必要です
あるいは、PythonをインストールせずにDockerを使用してサーバーを実行することもできます。
インストール
PIPの使用
あるいは、pip 経由でmcp-server-zoomeye
をインストールすることもできます。
インストール後、次のコマンドを使用してスクリプトとして実行できます。
Dockerの使用
Docker を使用して ZoomEye MCP サーバーを実行することもできます。
Docker Hubからプル
注:
linux/amd64
およびlinux/arm64
プラットフォームをサポートし、Intel/AMD および ARM (Apple Silicon など) プロセッサで実行できるマルチアーキテクチャ Docker イメージを提供します。
ソースからビルド
あるいは、ソースから Docker イメージをビルドすることもできます。
UVの使用
uv
はRustで書かれた高速なPythonパッケージインストーラー兼リゾルバーです。pipの現代的な代替手段であり、大幅なパフォーマンス向上を実現します。
UVの設置
uvx を使用して mcp-server-zoomeye を実行する
uvx
を使用する場合、特別なインストールは必要ありません。これにより、Python パッケージを直接実行できます。
uvでインストール
あるいは、uv を使用してパッケージをインストールすることもできます。
構成
環境変数
ZoomEye MCP サーバーには次の環境変数が必要です。
ZOOMEYE_API_KEY
: 認証用のZoomEye APIキー
この環境変数はいくつかの方法で設定できます。
シェルセッションでエクスポートします:
export ZOOMEYE_API_KEY="your_api_key_here"コンテナを実行するときに直接渡します(Docker の場合):
docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:latest
Claude.app を設定する
Claude 設定に以下を追加します。
Zed を設定する
Zed のsettings.jsonに以下を追加します。
やり取りの例
例1: グローバルApache Tomcatアセットを取得する
応答:
デバッグとトラブルシューティング
MCPインスペクターの使用
モデルコンテキストプロトコルインスペクターは、クライアントとのやり取りをシミュレートすることでMCPサーバーのデバッグを支援するツールです。ZoomEye MCPサーバーのテストに使用できます。
よくある問題
認証エラー
ZoomEye APIキーが正しく、環境変数として適切に設定されていることを確認してください。
APIキーの有効期限が切れていないか、取り消されていないか確認してください
接続の問題
インターネット接続を確認してください
ZoomEye API がダウンしていないか確認する
結果なし
クエリが具体的すぎるか、構文エラーが含まれている可能性があります
クエリを簡素化するか、別の検索語句を使用してみてください
レート制限
ZoomEye API にはアカウントの種類に応じたレート制限があります
リクエストの間隔をあけるか、アカウントをアップグレードして上限額を増やしましょう
高度な使用法
キャッシング
ZoomEye MCP サーバーは、パフォーマンスを向上させ、API 呼び出しを削減するためにキャッシュを実装します。
レスポンスはクエリパラメータに基づいてキャッシュされます
キャッシュ期間は設定可能(デフォルト: 1 時間)
クエリで
ignore_cache``true
に設定することでキャッシュをバイパスできます。
カスタムフィールド
fields
パラメータを使用して、クエリ結果内の特定のフィールドをリクエストできます。
ページネーション
多くの結果を返すクエリの場合は、ページ分けすることができます。
貢献
mcp-server-zoomeye の機能拡張と改善のため、皆様の貢献を歓迎いたします。新しい関連ツールの追加、既存機能の強化、ドキュメントの改善など、皆様からの貴重なご意見をお待ちしております。
他の MCP サーバーと実装パターンの例については、https: //github.com/modelcontextprotocol/serversを参照してください。
プルリクエストを歓迎します!mcp-server-zoomeye をより堅牢で実用的なものにするために、新しいアイデア、バグ修正、機能強化などをお気軽にご提供ください。
ライセンス
mcp-server-zoomeye は MIT ライセンスに基づきライセンスされています。つまり、MIT ライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布できます。詳細については、プロジェクトリポジトリの LICENSE ファイルをご覧ください。
Related MCP Servers
- MIT License
- MIT License
- AsecurityAlicenseAqualityMCP Server for executing XPath queries on XML contentLast updated -22MIT License
- MIT License