A Model Context Protocol (MCP) server that provides network asset information based on query conditions. This server allows Large Language Models (LLMs) to obtain network asset information by querying ZoomEye using dorks and other search parameters. ๐ We are excited to announce the official open-source release of ZoomEye MCP Server โ a powerful Model Context Protocol (MCP) server that brings real
Add this skill
npx mdskills install zoomeye-ai/mcp-zoomeyeComprehensive cyber asset search integration with excellent documentation and examples
1# ๐ ZoomEye MCP Server23A Model Context Protocol (MCP) server that provides network asset information based on query conditions. This server allows Large Language Models (LLMs) to obtain network asset information by querying ZoomEye using dorks and other search parameters.45## ๐ Announcement67๐ We are excited to announce the official open-source release of **ZoomEye MCP Server** โ a powerful Model Context Protocol (MCP) server that brings real-time cyber asset intelligence to AI assistants and development environments.89๐ Free Trial: 7-Day FREE Access to ZoomEye MCP!10Experience ZoomEye MCP โ the AI-powered cyberspace asset search engine โ absolutely free for 7 days!1112๐ Search global internet assets, track real-time changes, and unlock AI-driven insights โ all in one place.1314๐ How to claim:15161. Follow us on Twitter: [@zoomeye_team](https://x.com/zoomeye_team)172. DM us "MCP" and your MCP setup screenshot183. Get instant access to your 7-day membership1920๐ Limited-time free trial โ explore the power of AI asset search today!2122๐ก Provide insightful feedback that gets officially adopted, and you'll unlock **even more rewards**!2324๐ง Fully compatible with leading MCP environments:2526- Claude Desktop27- Cursor28- Windsurf29- Cline30- Continue31- Zed32- Cherry Studio33- Chatbox3435๐ Explore ZoomEye MCP Server on:3637- GitHub: [zoomeye-ai/mcp_zoomeye](https://github.com/zoomeye-ai/mcp_zoomeye)38- MCP.so: [mcp.so/server/mcp_zoomeye](https://mcp.so/server/mcp_zoomeye/zoomeye-ai)39- Cursor Directory: [cursor.directory/mcp/zoomeye](https://cursor.directory/mcp/zoomeye)40- Pulse MCP: [pulsemcp.com/servers/zoomeye](https://www.pulsemcp.com/servers/zoomeye)41- Glama MCP: [glama.ai/mcp/servers](https://glama.ai/mcp/servers)4243We welcome everyone to use, explore, and contribute!4445## ๐ How can I get a ZoomEye API key?4647To use this MCP server, youโll need a ZoomEye API key.48491. Go to https://www.zoomeye.ai502. Register or log in513. Click your avatar โ **Profile**524. Copy your **API-KEY**535. Set the environment variable:5455 `export ZOOMEYE_API_KEY="your_api_key_here"`565758596061## Features6263- Query ZoomEye for network asset information using dorks64- Caching mechanism to improve performance and reduce API calls65- Automatic retry mechanism for failed API requests66- Comprehensive error handling and logging6768## Available Tools6970- `zoomeye_search` - Get network asset information based on query conditions.71 - Required parameters:72 - `qbase64` (string): Base64 encoded query string for ZoomEye search73 - Optional parameters:74 - `page` (integer): View asset page number, default is 175 - `pagesize` (integer): Number of records per page, default is 10, maximum is 100076 - `fields` (string): The fields to return, separated by commas77 - `sub_type` (string): Data type, supports v4, v6, and web. Default is v478 - `facets` (string): Statistical items, separated by commas if there are multiple79 - `ignore_cache` (boolean): Whether to ignore the cache8081## Usage Guide8283### Basic Usage8485Once the server is running, you can interact with it through your AI assistant or development environment. Here's how to use it:86871. **Start the server** using one of the installation methods above882. **Configure your AI assistant** (Claude Desktop, Cursor, Windsurf, Cline, Continue, Zed, etc.) to use the server893. **Query network information** using natural language90919293### Search Syntax Guide9495- Search Scope covers devices (IPv4, IPv6) and websites (domains).96- When entering a search string, the system will match keywords in "global" mode, including content from various97 protocols such as HTTP, SSH, FTP, etc. (e.g., HTTP/HTTPS protocol headers, body, SSL, title, and other protocol98 banners).99- Search strings are case-insensitive and will be segmented for matching (the search results page provides a "100 segmentation" test feature). When using == for search, it enforces exact case-sensitive matching with strict syntax.101- Please use quotes for search strings (e.g., "Cisco System" or 'Cisco System'). If the search string contains quotes,102 use the escape character, e.g.,"a\"b". If the search string contains parentheses, use the escape character, e.g.,103 portinfo\(\).104105You can see more detailed search syntax rules in [prompts.py](./src/mcp_server_zoomeye/prompts.py).106107For more information on the ZoomEye Search API, refer to the [ZoomEye API v2 documentation](https://www.zoomeye.ai/doc).108109## Getting Started110111### Prerequisites1121131. **ZoomEye API Key**114115 - Register for an account at [ZoomEye](https://www.zoomeye.ai/)116 - Obtain your API key from your account settings117 - The API key will be used to authenticate your requests to the ZoomEye API1182. **Python Environment**119120 - Python 3.10 or higher is required121 - Alternatively, you can use Docker to run the server without installing Python122123## Installation124125### Using PIP126127Alternatively, you can install `mcp-server-zoomeye` via pip:128129```bash130pip install mcp-server-zoomeye131```132133After installation, you can run it as a script using the following command:134135```bash136python -m mcp_server_zoomeye137```138139### Using Docker140141You can also run the ZoomEye MCP server using Docker:142143#### Pull from Docker Hub144145```bash146# Pull the latest image147docker pull zoomeyeteam/mcp-server-zoomeye:latest148149# Run the container with your API key150docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:latest151```152153> **Note**: We provide multi-architecture Docker images that support `linux/amd64` and `linux/arm64` platforms and can run on Intel/AMD and ARM (such as Apple Silicon) processors.154155#### Build from Source156157Alternatively, you can build the Docker image from source:158159```bash160# Clone the repository161git clone https://github.com/zoomeye-ai/mcp_zoomeye.git162cd mcp_zoomeye163164# Build the Docker image165docker build -t zoomeyeteam/mcp-server-zoomeye:local .166167# Run the container168docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:local169```170171### Using uv172173[`uv`](https://docs.astral.sh/uv/) is a fast Python package installer and resolver written in Rust. It's a modern alternative to pip that offers significant performance improvements.174175#### Installation of uv176177```bash178# Install uv using curl (macOS/Linux)179curl -LsSf https://astral.sh/uv/install.sh | sh180181# Or using PowerShell (Windows)182irm https://astral.sh/uv/install.ps1 | iex183184# Or using Homebrew (macOS)185brew install uv186```187188#### Using uvx to run mcp-server-zoomeye189190No specific installation is required when using [`uvx`](https://docs.astral.sh/uv/guides/tools/), which allows you to run Python packages directly:191192#### Installing with uv193194Alternatively, you can install the package using uv:195196```bash197# Install in the current environment198uv pip install mcp-server-zoomeye199200# Or create and install in a new virtual environment201uv venv202uv pip install mcp-server-zoomeye203```204205## Configuration206207### Environment Variables208209The ZoomEye MCP server requires the following environment variable:210211- `ZOOMEYE_API_KEY`: Your ZoomEye API key for authentication212213You can set this environment variable in several ways:2142151. **Export in your shell session**:216217 ```bash218 export ZOOMEYE_API_KEY="your_api_key_here"219 ```2202. **Pass directly when running the container** (for Docker):221222 ```bash223 docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:latest224 ```225226### Configure Claude.app227228Add the following in Claude settings:229230<details>231<summary>Using uvx</summary>232233```json234"mcpServers": {235 "zoomeye": {236 "command": "uvx",237 "args": ["mcp-server-zoomeye"],238 "env": {239 "ZOOMEYE_API_KEY": "your_api_key_here"240 }241 }242}243```244245</details>246247<details>248<summary>Using docker</summary>249250```json251"mcpServers": {252 "zoomeye": {253 "command": "docker",254 "args": ["run", "-i", "--rm", "-e", "ZOOMEYE_API_KEY=your_api_key_here", "zoomeyeteam/mcp-server-zoomeye:latest"],255 "env": {256 "ZOOMEYE_API_KEY": "your_api_key_here"257 }258 }259}260```261262</details>263264<details>265<summary>Installed via pip</summary>266267```json268"mcpServers": {269 "zoomeye": {270 "command": "python",271 "args": ["-m", "mcp_server_zoomeye"],272 "env": {273 "ZOOMEYE_API_KEY": "your_api_key_here"274 }275 }276}277```278279</details>280281### Configure Zed282283Add the following in Zed's settings.json:284285<details>286<summary>Using uvx</summary>287288```json289"context_servers": [290 "mcp-server-zoomeye": {291 "command": "uvx",292 "args": ["mcp-server-zoomeye"],293 "env": {294 "ZOOMEYE_API_KEY": "your_api_key_here"295 }296 }297],298```299300</details>301302<details>303<summary>Installed via pip</summary>304305```json306"context_servers": {307 "mcp-server-zoomeye": {308 "command": "python",309 "args": ["-m", "mcp_server_zoomeye"],310 "env": {311 "ZOOMEYE_API_KEY": "your_api_key_here"312 }313 }314},315```316317</details>318319## Example Interactions320321### Example 1: Retrieve global Apache Tomcat assets322323```json324{325 "name": "zoomeye_search",326 "arguments": {327 "qbase64": "app=\"Apache Tomcat\""328 }329}330```331332Response:333334```json335{336 "code": 60000,337 "message": "success",338 "total": 163139107,339 "query": "app=\"Apache Tomcat\"",340 "data": [341 {342 "url": "https://1.1.1.1:443",343 "ssl.jarm": "29d29d15d29d29d00029d29d29d29dea0f89a2e5fb09e4d8e099befed92cfa",344 "ssl.ja3s": "45094d08156d110d8ee97b204143db14",345 "iconhash_md5": "f3418a443e7d841097c714d69ec4bcb8",346 "robots_md5": "0b5ce08db7fb8fffe4e14d05588d49d9",347 "security_md5": "0b5ce08db7fb8fffe4e14d05588d49d9",348 "ip": "1.1.1.1",349 "domain": "www.google.com",350 "hostname": "SPACEX",351 "os": "windows",352 "port": 443,353 "service": "https",354 "title": ["GoogleGoogle appsGoogle Search"],355 "version": "1.1.0",356 "device": "webcam",357 "rdns": "c01031-001.cust.wallcloud.ch",358 "product": "OpenSSD",359 "header": "HTTP/1.1 302 Found Location: https://www.google.com/?gws_rd=ssl Cache-Control: private...",360 "header_hash": "27f9973fe57298c3b63919259877a84d",361 "body": "HTTP/1.1 302 Found Location: https://www.google.com/?gws_rd=ssl Cache-Control: private...",362 "body_hash": "84a18166fde3ee7e7c974b8d1e7e21b4",363 "banner": "SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3",364 "update_time": "2024-07-03T14:34:10",365 "header.server.name": "nginx",366 "header.server.version": "1.8.1",367 "continent.name": "Europe",368 "country.name": "Germany",369 "province.name": "Hesse",370 "city.name": "Frankfurt",371 "lon": "118.753262",372 "lat": "32.064838",373 "isp.name": "aviel.ru",374 "organization.name": "SERVISFIRST BANK",375 "zipcode": "210003",376 "idc": 0,377 "honeypot": 0,378 "asn": 4837,379 "protocol": "tcp",380 "ssl": "SSL Certificate Version: TLS 1.2 CipherSuit: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256...",381 "primary_industry": "Finance",382 "sub_industry": "bank",383 "rank": 60384 }385 ]386}387```388389## Debugging and Troubleshooting390391### Using MCP Inspector392393The Model Context Protocol Inspector is a tool that helps debug MCP servers by simulating client interactions. You can use it to test your ZoomEye MCP server:394395```bash396# For uvx installation397npx @modelcontextprotocol/inspector uvx mcp-server-zoomeye398399# If developing locally400cd path/to/servers/src/mcp_server_zoomeye401npx @modelcontextprotocol/inspector uv run mcp-server-zoomeye402```403404### Common Issues4054061. **Authentication Errors**407408 - Ensure your ZoomEye API key is correct and properly set as an environment variable409 - Check that your API key has not expired or been revoked4102. **Connection Issues**411412 - Verify your internet connection413 - Check if the ZoomEye API is experiencing downtime4143. **No Results**415416 - Your query might be too specific or contain syntax errors417 - Try simplifying your query or using different search terms4184. **Rate Limiting**419420 - ZoomEye API has rate limits based on your account type421 - Space out your requests or upgrade your account for higher limits422423## Advanced Usage424425### Caching426427The ZoomEye MCP server implements caching to improve performance and reduce API calls:428429- Responses are cached based on the query parameters430- Cache duration is configurable (default: 1 hour)431- You can bypass the cache by setting `ignore_cache` to `true` in your query432433### Custom Fields434435You can request specific fields in your query results by using the `fields` parameter:436437```json438{439 "name": "zoomeye_search",440 "arguments": {441 "qbase64": "app=\"Apache\"",442 "fields": "ip,port,domain,service,os,country,city"443 }444}445```446447### Pagination448449For queries that return many results, you can paginate through them:450451```json452{453 "name": "zoomeye_search",454 "arguments": {455 "qbase64": "app=\"Apache\"",456 "page": 2,457 "pagesize": 20458 }459}460```461462## Contributing463464We encourage contributions to mcp-server-zoomeye to help expand and improve its functionality. Whether it's adding new related tools, enhancing existing features, or improving documentation, your input is valuable.465466For examples of other MCP servers and implementation patterns, see:467https://github.com/modelcontextprotocol/servers468469Pull requests are welcome! Feel free to contribute new ideas, bug fixes, or enhancements to make mcp-server-zoomeye more robust and practical.470471## License472473mcp-server-zoomeye is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more information, see the LICENSE file in the project repository.474
Full transparency โ inspect the skill content before installing.