You signed in with another tab or window. Reload
to refresh your session. You signed out in another tab or window. Reload
to refresh your session. You switched accounts on another tab or window. Reload
to refresh your session. Dismiss alert
zoomeye-ai / mcp_zoomeye Public
A Model Context Protocol server that provides network asset information based on query conditions. This server allows LLMs to obtain network asset information and supports querying network asset information by zoomeye dork etc.
17 stars
2 forks
Branches
Tags
Activity
Notifications
You must be signed in to change notification settings
main
Go to file
Code
| Name | | Name | Last commit message | Last commit date |
| --- | --- | --- | --- |
| Latest commit
-------------
zoomeyeteam
Fix typo
Mar 19, 2025
e7deba4
· Mar 19, 2025
History
-------
11 Commits
| | |
| .github/workflows | | .github/workflows | Update README | Mar 18, 2025 |
| src/mcp_server_zoomeye | | src/mcp_server_zoomeye | Update v0.1.3 | Mar 19, 2025 |
| .gitignore | | .gitignore | init commit | Mar 15, 2025 |
| CHANGELOG.md | | CHANGELOG.md | Add CHANGELOG | Mar 19, 2025 |
| Dockerfile | | Dockerfile | Fix Dockfile | Mar 18, 2025 |
| README.md | | README.md | Fix typo | Mar 19, 2025 |
| example.png | | example.png | Update v0.1.3 | Mar 19, 2025 |
| pyproject.toml | | pyproject.toml | Update v0.1.3 | Mar 19, 2025 |
| uv.lock | | uv.lock | init commit | Mar 15, 2025 |
| View all files | | |
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.
This MCP server integrates with AI assistants and development environments like Claude Desktop, Cursor, Windsurf, Cline, Continue, and Zed, enabling them to search for and analyze internet-connected devices, services, and vulnerabilities through natural language interactions.
zoomeye_search
- Get network asset information based on query conditions.qbase64
(string): Base64 encoded query string for ZoomEye searchpage
(integer): View asset page number, default is 1pagesize
(integer): Number of records per page, default is 10, maximum is 1000fields
(string): The fields to return, separated by commassub_type
(string): Data type, supports v4, v6, and web. Default is v4facets
(string): Statistical items, separated by commas if there are multipleignore_cache
(boolean): Whether to ignore the cacheOnce the server is running, you can interact with it through your AI assistant or development environment. Here's how to use it:
You can see more detailed search syntax rules in prompts.py
.
For more information on the ZoomEye Search API, refer to the ZoomEye API v2 documentation
.
ZoomEye API Key
Register for an account at ZoomEye
Obtain your API key from your account settings
Python Environment
Python 3.10 or higher is required
Alternatively, you can install mcp-server-zoomeye
via pip:
pip install mcp-server-zoomeye
After installation, you can run it as a script using the following command:
python -m mcp_server_zoomeye
You can also run the ZoomEye MCP server using Docker:
# 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
Note: We provide multi-architecture Docker images that support
linux/amd64
andlinux/arm64
platforms and can run on Intel/AMD and ARM (such as Apple Silicon) processors.
Alternatively, you can build the Docker image from source:
# 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
is a fast Python package installer and resolver written in Rust. It's a modern alternative to pip that offers significant performance improvements.
# 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
No specific installation is required when using uvx
, which allows you to run Python packages directly:
Alternatively, you can install the package using 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
The ZoomEye MCP server requires the following environment variable:
ZOOMEYE_API_KEY
: Your ZoomEye API key for authenticationYou can set this environment variable in several ways:
Export in your shell session:
shell
export ZOOMEYE_API_KEY="your_api_key_here"
Pass directly when running the container (for Docker):
shell
docker run -i --rm -e ZOOMEYE_API_KEY=your_api_key_here zoomeyeteam/mcp-server-zoomeye:latest
Add the following in Claude settings:
Using uvx
"mcpServers": {
"zoomeye": {
"command": "uvx",
"args": ["mcp-server-zoomeye"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
}
Using 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"
}
}
}
Installed via pip
"mcpServers": {
"zoomeye": {
"command": "python",
"args": ["-m", "mcp_server_zoomeye"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
}
Add the following in Zed's settings.json:
Using uvx
"context_servers": [\
"mcp-server-zoomeye": {\
"command": "uvx",\
"args": ["mcp-server-zoomeye"],\
"env": {\
"ZOOMEYE_API_KEY": "your_api_key_here"\
}\
}\
],
Installed via pip
"context_servers": {
"mcp-server-zoomeye": {
"command": "python",
"args": ["-m", "mcp_server_zoomeye"],
"env": {
"ZOOMEYE_API_KEY": "your_api_key_here"
}
}
},
{
"name": "zoomeye_search",
"arguments": {
"qbase64": "app=\"Apache Tomcat\""
}
}
Response:
{
"code": 60000,
"message": "success",
"total": 163139107,
"query": "title=\"cisco vpn\"",
"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\
}\
]
}
The 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:
# 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
Authentication Errors
Connection Issues
Verify your internet connection
No Results
Your query might be too specific or contain syntax errors
Rate Limiting
ZoomEye API has rate limits based on your account type
The ZoomEye MCP server implements caching to improve performance and reduce API calls:
ignore_cache
to true
in your queryYou can request specific fields in your query results by using the fields
parameter:
{
"name": "zoomeye_search",
"arguments": {
"qbase64": "app=\"Apache\"",
"fields": "ip,port,domain,service,os,country,city"
}
}
For queries that return many results, you can paginate through them:
{
"name": "zoomeye_search",
"arguments": {
"qbase64": "app=\"Apache\"",
"page": 2,
"pagesize": 20
}
}
We 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.
For examples of other MCP servers and implementation patterns, see: https://github.com/modelcontextprotocol/servers
Pull requests are welcome! Feel free to contribute new ideas, bug fixes, or enhancements to make mcp-server-zoomeye more robust and practical.
mcp-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.
A Model Context Protocol server that provides network asset information based on query conditions. This server allows LLMs to obtain network asset information and supports querying network asset information by zoomeye dork etc.
search-engine
osint
cybersecurity
zoomeye
No packages published
You can’t perform that action at this time.