ZoomEye MCP Server について
ZoomEye MCP Server は、ZoomEye の dork などの検索条件でネットワーク資産の情報を LLM が取得できるようにする MCP サーバーです。AI アシスタントの中で資産検索を行いたいセキュリティ研究者や OSINT 分析者向けで、uvx、pip、Docker で導入できます。
主な機能
- 01ZoomEye の dork と検索条件による資産検索
- 02IPv4、IPv6、Web サイトの資産タイプに対応
- 03結果のキャッシュと失敗時の自動リトライ
- 04返却フィールド、ページング、ファセット統計の指定
- 05uvx、pip、Docker による導入方法
活用シーン
- 01アシスタントとの対話で特定のアプリケーションを公開しているホストを検索
- 02許可された脆弱性診断のために外部資産情報を収集
- 03特定種類のサービスの国・地域別分布を集計
MCP 対応
本サーバーは zoomeye_search ツールを MCP クライアントに公開し、Base64 エンコードされたクエリを受け取って資産の検索結果を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🚀 ZoomEye MCP Server
検索条件に基づいてネットワーク資産情報を提供する、Model Context Protocol(MCP)サーバーです。このサーバーを使用すると、LLM は dork やその他の検索パラメーターを使って ZoomEye にクエリを実行し、ネットワーク資産情報を取得できます。
🔔 お知らせ
🎉 ZoomEye MCP Server のオープンソースでの公式リリースをお知らせします。AI アシスタントや開発環境にリアルタイムのサイバー資産インテリジェンスを提供する、強力な Model Context Protocol(MCP)サーバーです。
🚀 無料トライアル:ZoomEye MCP を7日間無料でご利用いただけます! AI を活用したサイバースペース資産検索エンジン、ZoomEye MCP を7日間完全無料でお試しください!
🔍 グローバルなインターネット資産を検索し、リアルタイムの変化を追跡して、AI による分析情報を一か所で活用できます。
👉 お申し込み方法:
- Twitter でフォローしてください:@zoomeye_team
- 「MCP」と MCP の設定画面のスクリーンショットを DM でお送りください
- 7日間のメンバーシップをすぐにご利用いただけます
🎁 期間限定の無料トライアルで、AI 資産検索の威力をぜひお試しください!
💡 公式に採用されるような有益なフィードバックをお寄せいただくと、さらに多くの特典を獲得できます!
🔧 主要な MCP 環境に完全対応しています:
- Claude Desktop
- Cursor
- Windsurf
- Cline
- Continue
- Zed
- Cherry Studio
- Chatbox
🔗 ZoomEye MCP Server の掲載先:
- GitHub: zoomeye-ai/mcp_zoomeye
- MCP.so: mcp.so/server/mcp_zoomeye
- Cursor Directory: cursor.directory/mcp/zoomeye
- Pulse MCP: pulsemcp.com/servers/zoomeye
- Glama MCP: glama.ai/mcp/servers
ぜひご利用いただき、探索し、コントリビュートしてください!
🔑 ZoomEye API キーの取得方法
この MCP サーバーを使用するには、ZoomEye API キーが必要です。
-
https://www.zoomeye.ai にアクセスします
-
登録するか、ログインします
-
アバターをクリックし、Profile を選択します
-
API-KEY をコピーします
-
環境変数を設定します:
export ZOOMEYE_API_KEY="your_api_key_here"


機能
- dork を使って ZoomEye にクエリを実行し、ネットワーク資産情報を取得
- パフォーマンスを向上させ、API 呼び出しを削減するキャッシュ機構
- 失敗した API リクエストを自動的に再試行する機構
- 包括的なエラー処理とログ記録
利用可能なツール
zoomeye_search- 検索条件に基づいてネットワーク資産情報を取得します。- 必須パラメーター:
qbase64(string):ZoomEye 検索用の Base64 エンコード済みクエリ文字列
- 任意のパラメーター:
page(integer):資産ページ番号。デフォルトは 1pagesize(integer):1ページあたりのレコード数。デフォルトは 10、最大は 1000fields(string):返すフィールド。複数指定する場合はカンマで区切りますsub_type(string):データ型。v4、v6、web に対応しています。デフォルトは v4facets(string):統計項目。複数指定する場合はカンマで区切りますignore_cache(boolean):キャッシュを無視するかどうか
- 必須パラメーター:
使用ガイド
基本的な使い方
サーバーの起動後、AI アシスタントまたは開発環境から操作できます。使用方法は次のとおりです:
- 上記のインストール方法のいずれかを使って、サーバーを起動します
- AI アシスタント(Claude Desktop、Cursor、Windsurf、Cline、Continue、Zed など)を設定して、サーバーを使用できるようにします
- 自然言語を使ってネットワーク情報を検索します

検索構文ガイド
- 検索範囲はデバイス(IPv4、IPv6)とウェブサイト(ドメイン)です。
- 検索文字列を入力すると、システムは「グローバル」モードでキーワードを照合します。HTTP、SSH、FTP など、さまざまなプロトコルのコンテンツが対象です(例:HTTP/HTTPS プロトコルのヘッダー、本文、SSL、タイトル、その他のプロトコルバナー)。
- 検索文字列では大文字と小文字が区別されず、照合時に分割されます(検索結果ページには「分割」テスト機能があります)。検索で == を使用すると、厳密な構文に従って、大文字と小文字を区別した完全一致が適用されます。
- 検索文字列は引用符で囲んでください(例:「Cisco System」または 'Cisco System')。検索文字列に引用符が含まれる場合は、エスケープ文字を使用してください。例:,"a"b"。検索文字列に括弧が含まれる場合も、エスケープ文字を使用してください。例:portinfo()。
検索構文の詳しいルールについては、prompts.pyをご覧ください。
ZoomEye Search API の詳細については、ZoomEye API v2 ドキュメントをご覧ください。
はじめに
前提条件
-
ZoomEye API キー
- ZoomEyeでアカウントを登録します
- アカウント設定から API キーを取得します
- API キーは、ZoomEye API へのリクエストの認証に使用されます
-
Python 環境
- Python 3.10 以降が必要です
- または、Python をインストールせずに Docker でサーバーを実行できます
インストール
PIP を使用する
mcp-server-zoomeyeは pip でインストールすることもできます:
pip install mcp-server-zoomeye
インストール後、次のコマンドを使用してスクリプトとして実行できます:
python -m mcp_server_zoomeye
Docker を使用する
Docker を使用して ZoomEye MCP サーバーを実行することもできます:
Docker Hub からプルする
# Pull the latest image
docker pull zoomeyeteam/mcp-server-zoomeye:latest
# Run the container with your API key
docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:latest
注:
linux/amd64およびlinux/arm64プラットフォームに対応したマルチアーキテクチャ Docker イメージを提供しています。Intel/AMD および ARM(Apple Silicon など)プロセッサで実行できます。
ソースからビルドする
または、ソースから Docker イメージをビルドできます:
# Clone the repository
git clone https://github.com/zoomeye-ai/mcp_zoomeye.git
cd mcp_zoomeye
# Build the Docker image
docker build -t zoomeyeteam/mcp-server-zoomeye:local .
# Run the container
docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:local
uv を使用する
uvは、Rust で書かれた高速な Python パッケージインストーラー兼リゾルバーです。大幅なパフォーマンス向上を実現する、pip の最新の代替手段です。
uv のインストール
# Install uv using curl (macOS/Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or using PowerShell (Windows)
irm https://astral.sh/uv/install.ps1 | iex
# Or using Homebrew (macOS)
brew install uv
uvx を使用して mcp-server-zoomeye を実行する
uvxを使用すると Python パッケージを直接実行できるため、特別なインストールは必要ありません:
uv でインストールする
または、uv を使用してパッケージをインストールできます:
# Install in the current environment
uv pip install mcp-server-zoomeye
# Or create and install in a new virtual environment
uv venv
uv pip install mcp-server-zoomeye
設定
環境変数
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 の設定に以下を追加します:
uvx を使用
"mcpServers": {
"zoomeye": {
"command": "uvx",
"args": ["mcp-server-zoomeye"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
}
docker を使用
"mcpServers": {
"zoomeye": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "ZOOMEYE_API_KEY=your_api_key_here", "zoomeyeteam/mcp-server-zoomeye:latest"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
}
pip でインストール
"mcpServers": {
"zoomeye": {
"command": "python",
"args": ["-m", "mcp_server_zoomeye"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
}
Zed の設定
Zed の settings.json に以下を追加します:
uvx を使用
"context_servers": [
"mcp-server-zoomeye": {
"command": "uvx",
"args": ["mcp-server-zoomeye"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
],
pip でインストール
"context_servers": {
"mcp-server-zoomeye": {
"command": "python",
"args": ["-m", "mcp_server_zoomeye"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
},
やり取りの例
例 1:グローバルに公開されている Apache Tomcat のアセットを取得する
{
"name": "zoomeye_search",
"arguments": {
"qbase64": "app=\"Apache Tomcat\""
}
}
応答:
{
"code": 60000,
"message": "success",
"total": 163139107,
"query": "app=\"Apache Tomcat\"",
"data": [
{
"url": "https://1.1.1.1:443",
"ssl.jarm": "29d29d15d29d29d00029d29d29d29dea0f89a2e5fb09e4d8e099befed92cfa",
"ssl.ja3s": "45094d08156d110d8ee97b204143db14",
"iconhash_md5": "f3418a443e7d841097c714d69ec4bcb8",
"robots_md5": "0b5ce08db7fb8fffe4e14d05588d49d9",
"security_md5": "0b5ce08db7fb8fffe4e14d05588d49d9",
"ip": "1.1.1.1",
"domain": "www.google.com",
"hostname": "SPACEX",
"os": "windows",
"port": 443,
"service": "https",
"title": ["GoogleGoogle appsGoogle Search"],
"version": "1.1.0",
"device": "webcam",
"rdns": "c01031-001.cust.wallcloud.ch",
"product": "OpenSSD",
"header": "HTTP/1.1 302 Found Location: https://www.google.com/?gws_rd=ssl Cache-Control: private...",
"header_hash": "27f9973fe57298c3b63919259877a84d",
"body": "HTTP/1.1 302 Found Location: https://www.google.com/?gws_rd=ssl Cache-Control: private...",
"body_hash": "84a18166fde3ee7e7c974b8d1e7e21b4",
"banner": "SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3",
"update_time": "2024-07-03T14:34:10",
"header.server.name": "nginx",
"header.server.version": "1.8.1",
"continent.name": "Europe",
"country.name": "Germany",
"province.name": "Hesse",
"city.name": "Frankfurt",
"lon": "118.753262",
"lat": "32.064838",
"isp.name": "aviel.ru",
"organization.name": "SERVISFIRST BANK",
"zipcode": "210003",
"idc": 0,
"honeypot": 0,
"asn": 4837,
"protocol": "tcp",
"ssl": "SSL Certificate Version: TLS 1.2 CipherSuit: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256...",
"primary_industry": "Finance",
"sub_industry": "bank",
"rank": 60
}
]
}
デバッグとトラブルシューティング
MCP Inspector を使用する
Model Context Protocol Inspector は、クライアントとのやり取りをシミュレートして MCP サーバーのデバッグを支援するツールです。ZoomEye MCP サーバーのテストに使用できます:
# For uvx installation
npx @modelcontextprotocol/inspector uvx mcp-server-zoomeye
# If developing locally
cd path/to/servers/src/mcp_server_zoomeye
npx @modelcontextprotocol/inspector uv run mcp-server-zoomeye
よくある問題
-
認証エラー
- ZoomEye API キーが正しく、環境変数として適切に設定されていることを確認してください
- API キーの有効期限が切れていたり、取り消されたりしていないことを確認してください
-
接続の問題
- インターネット接続を確認してください
- ZoomEye API が停止していないか確認してください
-
結果が見つからない
- クエリが具体的すぎるか、構文エラーを含んでいる可能性があります
- クエリを簡略化するか、別の検索語を試してください
-
レート制限
- ZoomEye API のレート制限は、アカウントの種類によって異なります
- リクエストの間隔を空けるか、より高い制限を利用できるアカウントにアップグレードしてください
高度な使い方
キャッシュ
ZoomEye MCP サーバーは、パフォーマンスを向上させ、API 呼び出しを減らすためにキャッシュを実装しています。
- クエリパラメーターに基づいてレスポンスがキャッシュされます
- キャッシュ期間は設定可能です(デフォルト:1 時間)
- クエリで
ignore_cacheをtrueに設定すると、キャッシュを使用せずに処理できます
カスタムフィールド
fields パラメーターを使用すると、クエリ結果に特定のフィールドを指定できます。
{
"name": "zoomeye_search",
"arguments": {
"qbase64": "app=\"Apache\"",
"fields": "ip,port,domain,service,os,country,city"
}
}
ページネーション
多数の結果を返すクエリでは、ページネーションを使用できます。
{
"name": "zoomeye_search",
"arguments": {
"qbase64": "app=\"Apache\"",
"page": 2,
"pagesize": 20
}
}
貢献
mcp-server-zoomeye の機能拡張と改善に役立つ貢献を歓迎します。関連する新しいツールの追加、既存機能の強化、ドキュメントの改善など、皆さまからのご協力は大切です。
ほかの MCP サーバーの例や実装パターンについては、次を参照してください。 https://github.com/modelcontextprotocol/servers
プルリクエストを歓迎します。新しいアイデア、バグ修正、機能強化など、mcp-server-zoomeye をより堅牢で実用的にするための貢献をぜひお寄せください。
ライセンス
mcp-server-zoomeye は MIT ライセンスの下でライセンスされています。つまり、MIT ライセンスの利用規約に従う限り、このソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリ内の LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。