mcpField
Z
ZoomEye MCP Server

ZoomEye MCP Server

ローカル
zoomeye.aiセキュリティ827 週間前に更新

ZoomEye MCP Server について

ZoomEye MCP Server は、ZoomEye の dork などの検索条件でネットワーク資産の情報を LLM が取得できるようにする MCP サーバーです。AI アシスタントの中で資産検索を行いたいセキュリティ研究者や OSINT 分析者向けで、uvx、pip、Docker で導入できます。

主な機能

  1. 01ZoomEye の dork と検索条件による資産検索
  2. 02IPv4、IPv6、Web サイトの資産タイプに対応
  3. 03結果のキャッシュと失敗時の自動リトライ
  4. 04返却フィールド、ページング、ファセット統計の指定
  5. 05uvx、pip、Docker による導入方法

活用シーン

  1. 01アシスタントとの対話で特定のアプリケーションを公開しているホストを検索
  2. 02許可された脆弱性診断のために外部資産情報を収集
  3. 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 による分析情報を一か所で活用できます。

👉 お申し込み方法:

  1. Twitter でフォローしてください:@zoomeye_team
  2. 「MCP」と MCP の設定画面のスクリーンショットを DM でお送りください
  3. 7日間のメンバーシップをすぐにご利用いただけます

🎁 期間限定の無料トライアルで、AI 資産検索の威力をぜひお試しください!

💡 公式に採用されるような有益なフィードバックをお寄せいただくと、さらに多くの特典を獲得できます!

🔧 主要な MCP 環境に完全対応しています:

  • Claude Desktop
  • Cursor
  • Windsurf
  • Cline
  • Continue
  • Zed
  • Cherry Studio
  • Chatbox

🔗 ZoomEye MCP Server の掲載先:

ぜひご利用いただき、探索し、コントリビュートしてください!

🔑 ZoomEye API キーの取得方法

この MCP サーバーを使用するには、ZoomEye API キーが必要です。

  1. https://www.zoomeye.ai にアクセスします

  2. 登録するか、ログインします

  3. アバターをクリックし、Profile を選択します

  4. API-KEY をコピーします

  5. 環境変数を設定します:

    export ZOOMEYE_API_KEY="your_api_key_here"

zoomeye1

zoomeye2

機能

  • dork を使って ZoomEye にクエリを実行し、ネットワーク資産情報を取得
  • パフォーマンスを向上させ、API 呼び出しを削減するキャッシュ機構
  • 失敗した API リクエストを自動的に再試行する機構
  • 包括的なエラー処理とログ記録

利用可能なツール

  • zoomeye_search - 検索条件に基づいてネットワーク資産情報を取得します。
    • 必須パラメーター:
      • qbase64 (string):ZoomEye 検索用の Base64 エンコード済みクエリ文字列
    • 任意のパラメーター:
      • page (integer):資産ページ番号。デフォルトは 1
      • pagesize (integer):1ページあたりのレコード数。デフォルトは 10、最大は 1000
      • fields (string):返すフィールド。複数指定する場合はカンマで区切ります
      • sub_type (string):データ型。v4、v6、web に対応しています。デフォルトは v4
      • facets (string):統計項目。複数指定する場合はカンマで区切ります
      • ignore_cache (boolean):キャッシュを無視するかどうか

使用ガイド

基本的な使い方

サーバーの起動後、AI アシスタントまたは開発環境から操作できます。使用方法は次のとおりです:

  1. 上記のインストール方法のいずれかを使って、サーバーを起動します
  2. AI アシスタント(Claude Desktop、Cursor、Windsurf、Cline、Continue、Zed など)を設定して、サーバーを使用できるようにします
  3. 自然言語を使ってネットワーク情報を検索します

searchexample

検索構文ガイド
  • 検索範囲はデバイス(IPv4、IPv6)とウェブサイト(ドメイン)です。
  • 検索文字列を入力すると、システムは「グローバル」モードでキーワードを照合します。HTTP、SSH、FTP など、さまざまなプロトコルのコンテンツが対象です(例:HTTP/HTTPS プロトコルのヘッダー、本文、SSL、タイトル、その他のプロトコルバナー)。
  • 検索文字列では大文字と小文字が区別されず、照合時に分割されます(検索結果ページには「分割」テスト機能があります)。検索で == を使用すると、厳密な構文に従って、大文字と小文字を区別した完全一致が適用されます。
  • 検索文字列は引用符で囲んでください(例:「Cisco System」または 'Cisco System')。検索文字列に引用符が含まれる場合は、エスケープ文字を使用してください。例:,"a"b"。検索文字列に括弧が含まれる場合も、エスケープ文字を使用してください。例:portinfo()。

検索構文の詳しいルールについては、prompts.pyをご覧ください。

ZoomEye Search API の詳細については、ZoomEye API v2 ドキュメントをご覧ください。

はじめに

前提条件
  1. ZoomEye API キー

    • ZoomEyeでアカウントを登録します
    • アカウント設定から API キーを取得します
    • API キーは、ZoomEye API へのリクエストの認証に使用されます
  2. 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 キー

この環境変数は、次のいずれかの方法で設定できます:

  1. シェルセッションでエクスポートする:

    export ZOOMEYE_API_KEY="your_api_key_here"
    
  2. コンテナの実行時に直接渡す(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
よくある問題
  1. 認証エラー

    • ZoomEye API キーが正しく、環境変数として適切に設定されていることを確認してください
    • API キーの有効期限が切れていたり、取り消されたりしていないことを確認してください
  2. 接続の問題

    • インターネット接続を確認してください
    • ZoomEye API が停止していないか確認してください
  3. 結果が見つからない

    • クエリが具体的すぎるか、構文エラーを含んでいる可能性があります
    • クエリを簡略化するか、別の検索語を試してください
  4. レート制限

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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。